{"components":{"schemas":{"Envelope":{"properties":{"data":{"description":"The record or list of records."},"licence":{"description":"The terms this response is served under. Always present.","type":"object"},"links":{"properties":{"next":{"type":["string","null"]},"prev":{"type":["string","null"]},"self":{"type":"string"}},"type":"object"},"meta":{"properties":{"identifiersStable":{"description":"False today. Only album A- ids follow ids.md; works, productions, people and venues are title-derived slugs. Treat an id as the current address of a record, not a permanent key. See /api/v1 -> identifiers.","type":"boolean"},"page":{"type":"integer"},"pages":{"type":"integer"},"perPage":{"type":"integer"},"query":{"type":"string"},"total":{"type":"integer"}},"required":["identifiersStable"],"type":"object"}},"required":["data","meta","licence"],"type":"object"},"Provenance":{"description":"On every record. Where it came from and when it was checked.","properties":{"external":{"type":"object"},"lastVerified":{"format":"date","type":["string","null"]},"sources":{"items":{"type":"string"},"type":"array"},"via":{"type":"string"}},"type":"object"}}},"info":{"description":"A read API over a catalogue of theatrical works, stagings, people, venues and albums.\n\nNot one licence. Facts are CC0; prose is returned only on request and carries its own licence per field; verbatim book text is never returned; image files are under their own per-image terms. See /api/v1/licence.","license":{"identifier":"CC0-1.0","name":"Creative Commons Zero v1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/"},"title":"Theatre Register API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/api/v1":{"get":{"description":"","operationId":"root","parameters":[{"in":"query","name":"page","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"per_page","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"description":"Comma-separated. `prose` adds non-CC0 text.","in":"query","name":"include","schema":{"enum":["prose"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"root"}},"/api/v1/":{"get":{"description":"","operationId":"root","parameters":[{"in":"query","name":"page","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"per_page","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"description":"Comma-separated. `prose` adds non-CC0 text.","in":"query","name":"include","schema":{"enum":["prose"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"root"}},"/api/v1/albums":{"get":{"description":"","operationId":"albums","parameters":[{"in":"query","name":"page","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"per_page","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"description":"Comma-separated. `prose` adds non-CC0 text.","in":"query","name":"include","schema":{"enum":["prose"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"albums"}},"/api/v1/albums/{aid}":{"get":{"description":"","operationId":"album_aid","parameters":[{"in":"path","name":"aid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"album"}},"/api/v1/albums/{aid}/images":{"get":{"description":"","operationId":"album_images_aid","parameters":[{"in":"path","name":"aid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"album_images"}},"/api/v1/collections":{"get":{"description":"The site's curated cuts through the catalogue, as data.\n\n    A collection is a query plus an argument for it. Both are ours, and the\n    argument is the part with any originality in it, so the *selection* is what\n    this endpoint exposes \u2014 the members are just work ids, which are facts.","operationId":"collections","parameters":[{"in":"query","name":"page","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"per_page","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"description":"Comma-separated. `prose` adds non-CC0 text.","in":"query","name":"include","schema":{"enum":["prose"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"The site's curated cuts through the catalogue, as data."}},"/api/v1/collections/{slug}":{"get":{"description":"","operationId":"collection_detail_slug","parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"collection_detail"}},"/api/v1/coverage":{"get":{"description":"What the catalogue holds and, more usefully, what it does not.\n\n    `brief.md` makes honest coverage a V1 requirement and `flows.md` \u00a7C makes it\n    the thing a researcher decides trust on. A client that can only see the rows\n    it was given cannot tell a thin catalogue from a complete one, so the numbers\n    that would embarrass us are here in the same response as the numbers that\n    would not.","operationId":"coverage","parameters":[{"in":"query","name":"page","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"per_page","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"description":"Comma-separated. `prose` adds non-CC0 text.","in":"query","name":"include","schema":{"enum":["prose"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"What the catalogue holds and, more usefully, what it does not."}},"/api/v1/images":{"get":{"description":"","operationId":"images","parameters":[{"in":"query","name":"page","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"per_page","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"description":"Comma-separated. `prose` adds non-CC0 text.","in":"query","name":"include","schema":{"enum":["prose"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"images"}},"/api/v1/images/{iid}":{"get":{"description":"","operationId":"image_iid","parameters":[{"in":"path","name":"iid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"image"}},"/api/v1/licence":{"get":{"description":"The terms, as data. The prose version is API-LICENCE.md and /api/licence.","operationId":"licence","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"The terms, as data. The prose version is API-LICENCE.md and /api/licence."}},"/api/v1/licence.md":{"get":{"description":"","operationId":"licence_text","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"licence_text"}},"/api/v1/license":{"get":{"description":"The terms, as data. The prose version is API-LICENCE.md and /api/licence.","operationId":"licence","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"The terms, as data. The prose version is API-LICENCE.md and /api/licence."}},"/api/v1/licensing":{"get":{"description":"","operationId":"licensing_index","parameters":[{"in":"query","name":"page","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"per_page","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"description":"Comma-separated. `prose` adds non-CC0 text.","in":"query","name":"include","schema":{"enum":["prose"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"licensing_index"}},"/api/v1/openapi.json":{"get":{"description":"","operationId":"openapi","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"openapi"}},"/api/v1/people":{"get":{"description":"","operationId":"people","parameters":[{"in":"query","name":"page","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"per_page","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"description":"Comma-separated. `prose` adds non-CC0 text.","in":"query","name":"include","schema":{"enum":["prose"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"people"}},"/api/v1/people/{pid}":{"get":{"description":"","operationId":"person_pid","parameters":[{"in":"path","name":"pid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"person"}},"/api/v1/people/{pid}/credits":{"get":{"description":"","operationId":"person_credits_pid","parameters":[{"in":"path","name":"pid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"person_credits"}},"/api/v1/people/{pid}/images":{"get":{"description":"","operationId":"person_images_pid","parameters":[{"in":"path","name":"pid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"person_images"}},"/api/v1/productions":{"get":{"description":"Every staging on record \u2014 13,459 of them, and only 1,536 hang off a\n    catalogued work.\n\n    The rest are real productions whose show has not been through the Work tier\n    yet. They are served, with `inScope: false` and a null `work`, because\n    dropping them would be exactly the failure `brief.md` names: a catalogue that\n    quietly reports its English-language Broadway pass as global coverage. Filter\n    with `?in_scope=true` if you only want the resolved ones.","operationId":"productions","parameters":[{"in":"query","name":"page","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"per_page","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"description":"Comma-separated. `prose` adds non-CC0 text.","in":"query","name":"include","schema":{"enum":["prose"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"Every staging on record \u2014 13,459 of them, and only 1,536 hang off a"}},"/api/v1/productions/{pid}":{"get":{"description":"","operationId":"production_pid","parameters":[{"in":"path","name":"pid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"production"}},"/api/v1/productions/{pid}/cast":{"get":{"description":"","operationId":"production_cast_pid","parameters":[{"in":"path","name":"pid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"production_cast"}},"/api/v1/productions/{pid}/images":{"get":{"description":"","operationId":"production_images_pid","parameters":[{"in":"path","name":"pid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"production_images"}},"/api/v1/search":{"get":{"description":"Titles and names, prefix-weighted. Deliberately narrow.\n\n    The site's own search does considerably more \u2014 synopsis ranking, misspelling\n    recovery, and an artifact index keyed on what is printed on a sleeve\n    (`web/search.py`). None of that is here, because those indexes are not in\n    this database yet and shipping an endpoint whose behaviour changes under the\n    caller when they arrive is worse than shipping a small one that does not.","operationId":"search","parameters":[{"in":"query","name":"page","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"per_page","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"description":"Comma-separated. `prose` adds non-CC0 text.","in":"query","name":"include","schema":{"enum":["prose"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"Titles and names, prefix-weighted. Deliberately narrow."}},"/api/v1/venues":{"get":{"description":"","operationId":"venues","parameters":[{"in":"query","name":"page","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"per_page","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"description":"Comma-separated. `prose` adds non-CC0 text.","in":"query","name":"include","schema":{"enum":["prose"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"venues"}},"/api/v1/venues/{vid}":{"get":{"description":"","operationId":"venue_vid","parameters":[{"in":"path","name":"vid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"venue"}},"/api/v1/venues/{vid}/images":{"get":{"description":"","operationId":"venue_images_vid","parameters":[{"in":"path","name":"vid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"venue_images"}},"/api/v1/venues/{vid}/productions":{"get":{"description":"","operationId":"venue_productions_vid","parameters":[{"in":"path","name":"vid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"venue_productions"}},"/api/v1/works":{"get":{"description":"","operationId":"works","parameters":[{"in":"query","name":"page","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"per_page","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"description":"Comma-separated. `prose` adds non-CC0 text.","in":"query","name":"include","schema":{"enum":["prose"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"works"}},"/api/v1/works/{wid}":{"get":{"description":"","operationId":"work_wid","parameters":[{"in":"path","name":"wid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"work"}},"/api/v1/works/{wid}/albums":{"get":{"description":"","operationId":"work_albums_wid","parameters":[{"in":"path","name":"wid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"work_albums"}},"/api/v1/works/{wid}/images":{"get":{"description":"","operationId":"work_images_wid","parameters":[{"in":"path","name":"wid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"work_images"}},"/api/v1/works/{wid}/licensing":{"get":{"description":"Who licenses this show for performance, and where that was read.\n\n    Sourced entirely from licensor catalogues with a retrieval date and a\n    verified product URL per territory (`findings/licensing-rights.md`). Facts\n    about the commercial availability of a licence, so CC0 \u2014 but every claim\n    carries its own `source` object because a stale rights claim is worse than\n    no rights claim, and this is the one part of the catalogue where somebody\n    might act on it.","operationId":"work_licensing_wid","parameters":[{"in":"path","name":"wid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"Who licenses this show for performance, and where that was read."}},"/api/v1/works/{wid}/productions":{"get":{"description":"","operationId":"work_productions_wid","parameters":[{"in":"path","name":"wid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Success"},"404":{"description":"No such record"},"429":{"description":"Rate limited"}},"summary":"work_productions"}}},"servers":[{"url":"/"}]}
