{"openapi":"3.0.3","info":{"title":"Pipe Organ Database public read API","version":"2026-10-28","description":"Existing unversioned POD read endpoints. Anonymous requests need no key; omit x-access-token. Documentation version is not a URL version. Public reads include approved records only. Additive citation metadata links to human-readable records. Legacy zero counts can mean unknown. Read the developer guide before interpreting historical data."},"servers":[{"url":"https://api.pipeorgandatabase.org"}],"security":[],"externalDocs":{"description":"Public API guide","url":"https://api.pipeorgandatabase.org/developers"},"paths":{"/search":{"get":{"summary":"Search instruments, builders, and locations","operationId":"search","description":"Mixed-type ranked search. Total counts all three entity types, not just organs. Up to eight search terms are used; use focused queries. This is not full-text search of all historical notes.","parameters":[{"name":"q","in":"query","description":"At least two letters or numbers; builder, venue, place, opus, year, or ID.","schema":{"type":"string"},"required":true},{"name":"page","in":"query","description":"One-based page number.","schema":{"type":"integer","default":1,"minimum":1}},{"name":"limit","in":"query","description":"Page size; values above 50 are capped.","schema":{"type":"integer","default":25,"minimum":1,"maximum":50}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"},"totalPages":{"type":"integer"},"results":{"type":"array","items":{"$ref":"#/components/schemas/SearchResult"}}},"additionalProperties":true}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/instruments":{"get":{"summary":"Search instruments with basic filters","operationId":"listInstruments","description":"","parameters":[{"name":"builder","in":"query","description":"Builder name text.","schema":{"type":"string"}},{"name":"location","in":"query","description":"Venue/location name text.","schema":{"type":"string"}},{"name":"city","in":"query","description":"City or locality text.","schema":{"type":"string"}},{"name":"state","in":"query","description":"State or province text as stored, e.g. Massachusetts.","schema":{"type":"string"}},{"name":"country","in":"query","description":"Country text as stored.","schema":{"type":"string"}},{"name":"opus","in":"query","description":"Exact opus number.","schema":{"type":"integer"}},{"name":"year","in":"query","description":"Exact year.","schema":{"type":"integer"}},{"name":"searchOriginal","in":"query","description":"Search original builder, opus, and year instead of this stage.","schema":{"type":"integer","enum":[0,1]}},{"name":"extant","in":"query","description":"1 restricts to extant records without a future revision.","schema":{"type":"integer","enum":[0,1]}},{"name":"hasImages","in":"query","description":"Require approved images.","schema":{"type":"integer","enum":[0,1]}},{"name":"hasDocuments","in":"query","description":"Require approved documents.","schema":{"type":"integer","enum":[0,1]}},{"name":"hasStoplists","in":"query","description":"Require approved stoplists.","schema":{"type":"integer","enum":[0,1]}},{"name":"hasWebpages","in":"query","description":"Require approved webpages.","schema":{"type":"integer","enum":[0,1]}},{"name":"sort","in":"query","description":"Sort field; documented subset.","schema":{"type":"string","enum":["year","-year","opus","-opus","createdAt","-createdAt"],"default":"year"}},{"name":"limit","in":"query","description":"Page size; values above 250 are capped.","schema":{"type":"integer","default":50,"minimum":1,"maximum":250}},{"name":"skip","in":"query","description":"Zero-based offset.","schema":{"type":"integer","default":0,"minimum":0}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer"},"instruments":{"type":"array","items":{"$ref":"#/components/schemas/Instrument"}}},"additionalProperties":true}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/builders":{"get":{"summary":"Search builders","operationId":"listBuilders","description":"Place filters select the locations included with each builder; they do not necessarily restrict the builder list. Use name to narrow builder results.","parameters":[{"name":"name","in":"query","description":"Builder name or alias.","schema":{"type":"string"}},{"name":"city","in":"query","description":"City or locality text.","schema":{"type":"string"}},{"name":"state","in":"query","description":"State or province text as stored, e.g. Massachusetts.","schema":{"type":"string"}},{"name":"country","in":"query","description":"Country text as stored.","schema":{"type":"string"}},{"name":"activeFrom","in":"query","description":"Lower bound of active interval.","schema":{"type":"integer"}},{"name":"activeUntil","in":"query","description":"Upper bound of active interval.","schema":{"type":"integer"}},{"name":"active","in":"query","description":"1 requires no recorded activeUntil.","schema":{"type":"integer","enum":[0,1]}},{"name":"sort","in":"query","description":"Name ordering.","schema":{"type":"string","enum":["name","-name"],"default":"name"}},{"name":"limit","in":"query","description":"Page size; values above 250 are capped.","schema":{"type":"integer","default":50,"minimum":1,"maximum":250}},{"name":"skip","in":"query","description":"Zero-based offset.","schema":{"type":"integer","default":0,"minimum":0}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer"},"builders":{"type":"array","items":{"$ref":"#/components/schemas/Builder"}}},"additionalProperties":true}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/locations":{"get":{"summary":"Search locations","operationId":"listLocations","description":"","parameters":[{"name":"name","in":"query","description":"Location name or alias.","schema":{"type":"string"}},{"name":"city","in":"query","description":"City or locality text.","schema":{"type":"string"}},{"name":"state","in":"query","description":"State or province text as stored, e.g. Massachusetts.","schema":{"type":"string"}},{"name":"country","in":"query","description":"Country text as stored.","schema":{"type":"string"}},{"name":"sort","in":"query","description":"Name ordering.","schema":{"type":"string","enum":["name","-name"],"default":"name"}},{"name":"limit","in":"query","description":"Page size; values above 250 are capped.","schema":{"type":"integer","default":50,"minimum":1,"maximum":250}},{"name":"skip","in":"query","description":"Zero-based offset.","schema":{"type":"integer","default":0,"minimum":0}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer"},"locations":{"type":"array","items":{"$ref":"#/components/schemas/Location"}}},"additionalProperties":true}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stoplists":{"get":{"summary":"List approved stoplists","operationId":"listStoplists","description":"Summary records with associated instruments. Fetch a detail record for structured stops and divisions. For filtering by stops use /instruments/stoplist-search.","parameters":[{"name":"limit","in":"query","description":"Page size; values above 250 are capped.","schema":{"type":"integer","default":50,"minimum":1,"maximum":250}},{"name":"skip","in":"query","description":"Zero-based offset.","schema":{"type":"integer","default":0,"minimum":0}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer"},"stoplists":{"type":"array","items":{"$ref":"#/components/schemas/Stoplist"}}},"additionalProperties":true}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/instruments/stoplist-search":{"get":{"summary":"Find instruments by stoplist content","operationId":"searchStoplists","description":"Searches structured stoplists; not OCR of all uploaded files. Results are instruments. Fetch their stoplists to inspect source evidence.","parameters":[{"name":"stopName","in":"query","description":"Stop name text.","schema":{"type":"string"}},{"name":"stopLength","in":"query","description":"Stop pitch/length text as stored.","schema":{"type":"string"}},{"name":"stopNumRanks","in":"query","description":"Number of ranks in the matching stop.","schema":{"type":"integer"}},{"name":"stopDivision","in":"query","description":"Division name text for the matching stop.","schema":{"type":"string"}},{"name":"stopNotes","in":"query","description":"Stop note text.","schema":{"type":"string"}},{"name":"builder","in":"query","description":"Builder name text.","schema":{"type":"string"}},{"name":"yearFrom","in":"query","description":"First year, inclusive.","schema":{"type":"integer"}},{"name":"yearTo","in":"query","description":"Last year, inclusive.","schema":{"type":"integer"}},{"name":"searchOriginal","in":"query","description":"Use original builder and year.","schema":{"type":"integer","enum":[0,1]}},{"name":"extant","in":"query","description":"1 restricts to extant records without a future revision.","schema":{"type":"integer","enum":[0,1]}},{"name":"includeTotal","in":"query","description":"1 counts exactly. 0 returns a lower bound until the last page; inspect totalIsExact and hasMore.","schema":{"type":"integer","enum":[0,1],"default":1}},{"name":"limit","in":"query","description":"Page size; values above 100 are capped.","schema":{"type":"integer","default":25,"minimum":1,"maximum":100}},{"name":"skip","in":"query","description":"Zero-based offset.","schema":{"type":"integer","default":0,"minimum":0}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","description":"Exact count only when totalIsExact is true; otherwise a lower bound."},"totalIsExact":{"type":"boolean"},"hasMore":{"type":"boolean"},"instruments":{"type":"array","items":{"$ref":"#/components/schemas/Instrument"}}},"additionalProperties":true}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/instruments/{id}":{"get":{"summary":"Retrieve a instrument record","operationId":"getInstrument","description":"Core record, stoplist references, original/future revisions. Notes, media, references, and webpages are fetched separately; empty placeholders on this response do not establish absence.","parameters":[{"name":"id","in":"path","required":true,"description":"POD record ID, not opus number or legacy ID.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Instrument"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/builders/{id}":{"get":{"summary":"Retrieve a builder record","operationId":"getBuilder","description":"","parameters":[{"name":"id","in":"path","required":true,"description":"POD record ID, not opus number or legacy ID.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Builder"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/locations/{id}":{"get":{"summary":"Retrieve a location record","operationId":"getLocation","description":"","parameters":[{"name":"id","in":"path","required":true,"description":"POD record ID, not opus number or legacy ID.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Location"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stoplists/{id}":{"get":{"summary":"Retrieve a stoplist record","operationId":"getStoplist","description":"","parameters":[{"name":"id","in":"path","required":true,"description":"POD record ID, not opus number or legacy ID.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Stoplist"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/instruments/{id}/notes":{"get":{"summary":"Retrieve an instrument's notes","operationId":"getInstrumentNotes","description":"Only approved related records of a public instrument. Sources and historical descriptions remain in their original fields. This child response has no standalone citation; cite the parent instrument and any original sources.","parameters":[{"name":"id","in":"path","required":true,"description":"POD record ID, not opus number or legacy ID.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"type":"object","properties":{"notes":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/instruments/{id}/references":{"get":{"summary":"Retrieve an instrument's references","operationId":"getInstrumentReferences","description":"Only approved related records of a public instrument. Sources and historical descriptions remain in their original fields. This child response has no standalone citation; cite the parent instrument and any original sources.","parameters":[{"name":"id","in":"path","required":true,"description":"POD record ID, not opus number or legacy ID.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"type":"object","properties":{"references":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/instruments/{id}/webpages":{"get":{"summary":"Retrieve an instrument's webpages","operationId":"getInstrumentWebpages","description":"Only approved related records of a public instrument. Sources and historical descriptions remain in their original fields. This child response has no standalone citation; cite the parent instrument and any original sources.","parameters":[{"name":"id","in":"path","required":true,"description":"POD record ID, not opus number or legacy ID.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"type":"object","properties":{"webpages":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/instruments/{id}/documents":{"get":{"summary":"Retrieve an instrument's documents","operationId":"getInstrumentDocuments","description":"Only approved related records of a public instrument. Sources and historical descriptions remain in their original fields. This child response has no standalone citation; cite the parent instrument and any original sources.","parameters":[{"name":"id","in":"path","required":true,"description":"POD record ID, not opus number or legacy ID.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"type":"object","properties":{"documents":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/instruments/{id}/images":{"get":{"summary":"Retrieve an instrument's images","operationId":"getInstrumentImages","description":"Only approved related records of a public instrument. Sources and historical descriptions remain in their original fields. This child response has no standalone citation; cite the parent instrument and any original sources.","parameters":[{"name":"id","in":"path","required":true,"description":"POD record ID, not opus number or legacy ID.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"type":"object","properties":{"images":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/instruments/{id}/audio":{"get":{"summary":"Retrieve an instrument's audio","operationId":"getInstrumentAudio","description":"Only approved related records of a public instrument. Sources and historical descriptions remain in their original fields. This child response has no standalone citation; cite the parent instrument and any original sources.","parameters":[{"name":"id","in":"path","required":true,"description":"POD record ID, not opus number or legacy ID.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"type":"object","properties":{"audio":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/instruments/{id}/consoles":{"get":{"summary":"Retrieve an instrument's consoles","operationId":"getInstrumentConsoles","description":"Only approved related records of a public instrument. Sources and historical descriptions remain in their original fields. This child response has no standalone citation; cite the parent instrument and any original sources.","parameters":[{"name":"id","in":"path","required":true,"description":"POD record ID, not opus number or legacy ID.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"type":"object","properties":{"organConsoles":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/instruments/{id}/blowers":{"get":{"summary":"Retrieve an instrument's blowers","operationId":"getInstrumentBlowers","description":"Only approved related records of a public instrument. Sources and historical descriptions remain in their original fields. This child response has no standalone citation; cite the parent instrument and any original sources.","parameters":[{"name":"id","in":"path","required":true,"description":"POD record ID, not opus number or legacy ID.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Public JSON response.","content":{"application/json":{"schema":{"type":"object","properties":{"blowers":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Record missing or not publicly available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Citation":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"title":{"type":"string"},"publisher":{"type":"string"},"updatedAt":{"type":"string","format":"date-time","nullable":true,"description":"This record modification time when selected; null if unavailable. Not historical date or modification time of every related record."}},"required":["url","title","publisher","updatedAt"],"additionalProperties":true},"Instrument":{"type":"object","properties":{"id":{"type":"integer"},"approvalStatus":{"type":"integer","enum":[1]},"citation":{"$ref":"#/components/schemas/Citation"},"year":{"type":"integer","nullable":true},"yearPrefix":{"type":"string","nullable":true},"yearSuffix":{"type":"string","nullable":true},"originalYear":{"type":"integer","nullable":true},"originalYearPrefix":{"type":"string","nullable":true},"originalYearSuffix":{"type":"string","nullable":true},"opus":{"type":"integer","nullable":true},"opusPrefix":{"type":"string","nullable":true},"opusSuffix":{"type":"string","nullable":true},"ranks":{"type":"integer","nullable":true},"pipes":{"type":"integer","nullable":true},"extant":{"type":"integer","nullable":true,"enum":[0,1,2,3,null],"description":"0 not extant; 1 extant; 2 unknown; 3 not built. Historical revisions may be superseded."},"playable":{"type":"integer","nullable":true,"description":"0 not playable; 1 playable; 2 unknown."},"builder":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","nullable":true}},"additionalProperties":true,"nullable":true},"originalBuilder":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","nullable":true}},"additionalProperties":true,"nullable":true},"location":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"state":{"type":"string","nullable":true},"country":{"type":"string","nullable":true},"address":{"type":"string","nullable":true}},"additionalProperties":true,"nullable":true},"originalInstrumentId":{"type":"integer","nullable":true},"futureInstrumentId":{"type":"integer","nullable":true},"originalInstrument":{"type":"object","nullable":true,"additionalProperties":true},"futureInstrument":{"type":"object","nullable":true,"additionalProperties":true},"stoplists":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"integer"},"filename":{"type":"string","nullable":true},"source":{"type":"string","nullable":true}},"additionalProperties":true}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id"],"additionalProperties":true},"Builder":{"type":"object","properties":{"id":{"type":"integer"},"approvalStatus":{"type":"integer","enum":[1]},"citation":{"$ref":"#/components/schemas/Citation"},"name":{"type":"string","nullable":true},"alias":{"type":"string","nullable":true},"activeFrom":{"type":"integer","nullable":true},"activeUntil":{"type":"integer","nullable":true},"details":{"type":"string","nullable":true},"locations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"state":{"type":"string","nullable":true},"country":{"type":"string","nullable":true},"address":{"type":"string","nullable":true}},"additionalProperties":true}},"notes":{"type":"array","items":{"type":"object"}},"documents":{"type":"array","items":{"type":"object"}},"webpages":{"type":"array","items":{"type":"object"}}},"required":["id"],"additionalProperties":true},"Location":{"type":"object","properties":{"id":{"type":"integer"},"approvalStatus":{"type":"integer","enum":[1]},"citation":{"$ref":"#/components/schemas/Citation"},"name":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"state":{"type":"string","nullable":true},"country":{"type":"string","nullable":true},"address":{"type":"string","nullable":true},"latitude":{"type":"number","nullable":true},"longitude":{"type":"number","nullable":true},"instruments":{"type":"array","items":{"type":"object"}},"builders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","nullable":true}},"additionalProperties":true}}},"required":["id"],"additionalProperties":true},"Stoplist":{"type":"object","properties":{"id":{"type":"integer"},"approvalStatus":{"type":"integer","enum":[1]},"citation":{"$ref":"#/components/schemas/Citation"},"type":{"type":"integer","description":"0 structured; 1 uploaded file."},"source":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"originalDate":{"type":"string","nullable":true,"description":"Historical descriptive date; may be approximate, not necessarily ISO."},"filename":{"type":"string","nullable":true},"instruments":{"type":"array","items":{"type":"object"}},"stops":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","nullable":true},"length":{"type":"string","nullable":true},"numRanks":{"type":"integer","nullable":true},"pipes":{"type":"integer","nullable":true},"notes":{"type":"string","nullable":true},"order":{"type":"integer","nullable":true},"division":{"type":"string","nullable":true,"description":"Division name, matched to divisions[].name."}},"additionalProperties":true}},"divisions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","nullable":true},"keyboard":{"type":"integer","nullable":true},"isEnclosed":{"type":"integer","nullable":true},"notes":{"type":"string","nullable":true},"order":{"type":"integer","nullable":true}},"additionalProperties":true}}},"required":["id"],"additionalProperties":true},"SearchResult":{"type":"object","properties":{"type":{"type":"string","enum":["instrument","builder","location"]},"id":{"type":"integer"},"item":{"type":"object","additionalProperties":true,"description":"Summary, not full record. Fetch the corresponding detail route."},"citation":{"$ref":"#/components/schemas/Citation"}},"required":["type","id","item","citation"],"additionalProperties":true},"Error":{"type":"object","properties":{"message":{"type":"string"},"requestId":{"type":"string"}},"required":["message"],"additionalProperties":true}}}}