From ba722671b4791524384010705bef0aaa83c22c0b Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Thu, 5 Sep 2019 19:04:34 -0700 Subject: rename rust crate fatcat-api-spec -> fatcat-openapi --- rust/fatcat-openapi/api.yaml | 3129 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 3129 insertions(+) create mode 100644 rust/fatcat-openapi/api.yaml (limited to 'rust/fatcat-openapi/api.yaml') diff --git a/rust/fatcat-openapi/api.yaml b/rust/fatcat-openapi/api.yaml new file mode 100644 index 00000000..95ef4c6b --- /dev/null +++ b/rust/fatcat-openapi/api.yaml @@ -0,0 +1,3129 @@ +--- +swagger: "2.0" +info: + title: fatcat + description: A scalable, versioned, API-oriented catalog of bibliographic entities + and file metadata + version: 0.3.0 +schemes: [https] +basePath: /v0 +host: api.fatcat.wiki +consumes: + - application/json +produces: + - application/json + +securityDefinitions: + Bearer: + type: apiKey + name: Authorization + in: header + +tags: # TAGLINE + - name: containers # TAGLINE + descriptions: "Container entities: such as journals, conferences, book series" # TAGLINE + - name: creators # TAGLINE + descriptions: "Creator entities: such as authors" # TAGLINE + - name: files # TAGLINE + descriptions: "File entities" # TAGLINE + - name: filesets # TAGLINE + descriptions: "Fileset entities" # TAGLINE + - name: webcaptures # TAGLINE + descriptions: "Webcapture entities" # TAGLINE + - name: releases # TAGLINE + descriptions: "Release entities: individual articles, pre-prints, books" # TAGLINE + - name: works # TAGLINE + descriptions: "Work entities: grouping releases which are variants of the same work" # TAGLINE + - name: edit-lifecycle # TAGLINE + descriptions: "Endpoints relating to global edit submission and history" # TAGLINE + +# don't want these to be rust types (at least for now) +x-fatcat-ident: &FATCATIDENT + type: string + example: "q3nouwy3nnbsvo3h5klxsx4a7y" + pattern: "[a-zA-Z2-7]{26}" + minLength: 26 + maxLength: 26 + description: "base32-encoded unique identifier" +x-fatcat-uuid: &FATCATUUID + type: string + example: "86daea5b-1b6b-432a-bb67-ea97795f80fe" + pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" + minLength: 36 + maxLength: 36 + description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)" +x-issn: &FATCATISSN + type: string + example: "1234-5678" + pattern: "\\d{4}-\\d{3}[0-9X]" + minLength: 9 + maxLength: 9 +x-orcid: &FATCATORCID + type: string + example: "0000-0002-1825-0097" + pattern: "\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]" + minLength: 19 + maxLength: 19 +x-md5: &FATCATMD5 + type: string + example: "1b39813549077b2347c0f370c3864b40" + pattern: "[a-f0-9]{32}" + minLength: 32 + maxLength: 32 +x-sha1: &FATCATSHA1 + type: string + example: "e9dd75237c94b209dc3ccd52722de6931a310ba3" + pattern: "[a-f0-9]{40}" + minLength: 40 + maxLength: 40 +x-sha256: &FATCATSHA256 + type: string + example: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452" + pattern: "[a-f0-9]{64}" + minLength: 64 + maxLength: 64 + +# Common properties across entities +x-entity-props: &ENTITYPROPS + state: + type: string + enum: ["wip", "active", "redirect", "deleted"] + ident: + <<: *FATCATIDENT + revision: + <<: *FATCATUUID + redirect: + <<: *FATCATIDENT + extra: + type: object + additionalProperties: {} + edit_extra: + type: object + additionalProperties: {} + +definitions: + error_response: + type: object + required: + - success + - error + - message + properties: + success: + type: boolean + error: + type: string + message: + type: string + example: "A really confusing, totally unexpected thing happened" + success: + type: object + required: + - success + - message + properties: + success: + type: boolean + message: + type: string + example: "The computers did the thing successfully!" + container_entity: + type: object + # required for creation: name + properties: + <<: *ENTITYPROPS + name: + type: string + example: "Journal of Important Results" + description: "Required for valid entities" + container_type: + type: string + description: "Eg, 'journal'" + publisher: + type: string + example: "Society of Curious Students" + issnl: + <<: *FATCATISSN + wikidata_qid: + type: string + creator_entity: + type: object + # required for creation: display_name + properties: + <<: *ENTITYPROPS + display_name: + type: string + example: "Grace Hopper" + description: "Required for valid entities" + given_name: + type: string + surname: + type: string + orcid: + <<: *FATCATORCID + wikidata_qid: + type: string + file_entity: + type: object + properties: + <<: *ENTITYPROPS + size: + type: integer + example: 1048576 + format: int64 + md5: + <<: *FATCATMD5 + sha1: + <<: *FATCATSHA1 + sha256: + <<: *FATCATSHA256 + urls: + type: array + items: + $ref: "#/definitions/file_url" + mimetype: + type: string + example: "application/pdf" + release_ids: + type: array + items: + <<: *FATCATIDENT + releases: + description: "Optional; GET-only" + type: array + items: + $ref: "#/definitions/release_entity" + file_url: + type: object + required: + - url + - rel + properties: + url: + type: string + format: url + example: "https://example.edu/~frau/prcding.pdf" + rel: + type: string + example: "webarchive" + fileset_entity: + type: object + properties: + <<: *ENTITYPROPS + manifest: + # limit of 200 files, at least to start + type: array + items: + $ref: "#/definitions/fileset_file" + urls: + type: array + items: + $ref: "#/definitions/fileset_url" + release_ids: + type: array + items: + <<: *FATCATIDENT + releases: + description: "Optional; GET-only" + type: array + items: + $ref: "#/definitions/release_entity" + fileset_url: + type: object + required: + - url + - rel + properties: + url: + type: string + format: url + example: "https://example.edu/~frau/prcding.pdf" + rel: + type: string + example: "webarchive" + fileset_file: + type: object + required: + - path + - size + properties: + path: + type: string + example: "img/cat.png" + size: + type: integer + example: 1048576 + format: int64 + md5: + <<: *FATCATMD5 + sha1: + <<: *FATCATSHA1 + sha256: + <<: *FATCATSHA256 + extra: + type: object + additionalProperties: {} + webcapture_entity: + type: object + properties: + <<: *ENTITYPROPS + cdx: + # limit of 200 CDX lines, at least to start? + type: array + items: + $ref: "#/definitions/webcapture_cdx_line" + archive_urls: + type: array + items: + $ref: "#/definitions/webcapture_url" + original_url: + type: string + format: url + example: "http://asheesh.org" + timestamp: + type: string + format: date-time + description: "same format as CDX line timestamp (UTC, etc). Corresponds to the overall capture timestamp. Can be the earliest or average of CDX timestamps if that makes sense." + release_ids: + type: array + items: + <<: *FATCATIDENT + releases: + description: "Optional; GET-only" + type: array + items: + $ref: "#/definitions/release_entity" + webcapture_cdx_line: + type: object + required: + - surt + - timestamp + - url + - sha1 + properties: + surt: + type: string + example: "org,asheesh)/apus/ch1/node15.html" + timestamp: + type: string + format: date-time + example: "2016-09-19T17:20:24Z" + description: "UTC, 'Z'-terminated, second (or better) precision" + url: + type: string + # NOTE: not format:url to allow alternatives + example: "http://www.asheesh.org:80/APUS/ch1/node15.html" + mimetype: + type: string + example: "text/html" + status_code: + type: integer + example: 200 + format: int64 + size: + type: integer + example: 1048576 + format: int64 + sha1: + <<: *FATCATSHA1 + sha256: + <<: *FATCATSHA256 + webcapture_url: + type: object + required: + - url + - rel + properties: + url: + type: string + format: url + example: "https://web.archive.org/web/" + rel: + type: string + example: "wayback" + release_entity: + type: object + # required for creation: title + required: + - ext_ids + properties: + <<: *ENTITYPROPS + title: + type: string + description: "Required for valid entities. The title used in citations and for display; usually English" + subtitle: + type: string + description: "Avoid this field if possible, and merge with title; usually English" + original_title: + type: string + description: "Title in original language (or, the language of the full text of this release)" + work_id: + type: string + example: "q3nouwy3nnbsvo3h5klxsx4a7y" + container: + $ref: "#/definitions/container_entity" + description: "Optional; GET-only" + files: + description: "Optional; GET-only" + type: array + items: + $ref: "#/definitions/file_entity" + filesets: + description: "Optional; GET-only" + type: array + items: + $ref: "#/definitions/fileset_entity" + webcaptures: + description: "Optional; GET-only" + type: array + items: + $ref: "#/definitions/webcapture_entity" + container_id: + type: string + example: "q3nouwy3nnbsvo3h5klxsx4a7y" + release_type: + type: string + example: "book" + release_stage: + type: string + example: "preprint, retracted" + release_date: + type: string + format: date + release_year: + type: integer + example: 2014 + format: int64 + withdrawn_status: + type: string + withdrawn_date: + type: string + format: date + withdrawn_year: + type: integer + example: 2014 + format: int64 + ext_ids: + $ref: "#/definitions/release_ext_ids" + volume: + type: string + issue: + type: string + example: "12" + pages: + type: string + number: + type: string + version: + type: string + publisher: + type: string + language: + description: "Two-letter RFC1766/ISO639-1 language code, with extensions" + type: string + license_slug: + type: string + description: "Short version of license name. Eg, 'CC-BY'" + contribs: + type: array + items: + $ref: "#/definitions/release_contrib" + refs: + type: array + items: + $ref: "#/definitions/release_ref" + abstracts: + type: array + items: + $ref: "#/definitions/release_abstract" + release_ext_ids: + type: object + properties: + doi: + type: string + #format: custom + example: "10.1234/abcde.789" + wikidata_qid: + type: string + isbn13: + type: string + #format: custom + pmid: + type: string + pmcid: + type: string + core: + type: string + #format: custom + arxiv: + type: string + jstor: + type: string + ark: + type: string + mag: + type: string + release_abstract: + type: object + properties: + sha1: + <<: *FATCATSHA1 + content: + type: string + example: "Some abstract thing goes here" + mimetype: + type: string + example: "application/xml+jats" + lang: + type: string + example: "en" + work_entity: + type: object + properties: + <<: *ENTITYPROPS + entity_history_entry: + type: object + required: + - edit + - editgroup + - changelog_entry + properties: + edit: + $ref: "#/definitions/entity_edit" + editgroup: + $ref: "#/definitions/editgroup" + changelog_entry: + $ref: "#/definitions/changelog_entry" + entity_edit: + type: object + required: + - edit_id + - ident + - editgroup_id + properties: + edit_id: + <<: *FATCATUUID + ident: + <<: *FATCATIDENT + revision: + <<: *FATCATUUID + prev_revision: + <<: *FATCATUUID + redirect_ident: + <<: *FATCATIDENT + editgroup_id: + <<: *FATCATIDENT + extra: + type: object + additionalProperties: {} + editor: + type: object + required: + - username + properties: + editor_id: + <<: *FATCATIDENT + username: + type: string + example: "zerocool93" + is_admin: + type: boolean + is_bot: + type: boolean + is_active: + type: boolean + editgroup: + type: object + properties: + editgroup_id: + <<: *FATCATIDENT + editor_id: + <<: *FATCATIDENT + editor: + $ref: "#/definitions/editor" + changelog_index: # not returned in all contexts... + type: integer + example: 1048576 + format: int64 + created: + type: string + format: date-time + submitted: + type: string + format: date-time + description: + type: string + extra: + type: object + additionalProperties: {} + annotations: + type: array + items: + $ref: "#/definitions/editgroup_annotation" + edits: + type: object + properties: + containers: + type: array + items: + $ref: "#/definitions/entity_edit" + creators: + type: array + items: + $ref: "#/definitions/entity_edit" + files: + type: array + items: + $ref: "#/definitions/entity_edit" + filesets: + type: array + items: + $ref: "#/definitions/entity_edit" + webcaptures: + type: array + items: + $ref: "#/definitions/entity_edit" + releases: + type: array + items: + $ref: "#/definitions/entity_edit" + works: + type: array + items: + $ref: "#/definitions/entity_edit" + editgroup_annotation: + type: object + properties: + annotation_id: + <<: *FATCATUUID + editgroup_id: + <<: *FATCATIDENT + editor_id: + <<: *FATCATIDENT + editor: + $ref: "#/definitions/editor" + created: + type: string + format: date-time + comment_markdown: + type: string + extra: + type: object + additionalProperties: {} + changelog_entry: + type: object + required: + - index + - editgroup_id + - timestamp + properties: + index: + type: integer + format: int64 + editgroup_id: + type: string + example: "q3nouwy3nnbsvo3h5klxsx4a7y" + timestamp: + type: string + format: date-time + editgroup: + $ref: "#/definitions/editgroup" + release_ref: + type: object + properties: + index: + type: integer + format: int64 + target_release_id: + <<: *FATCATIDENT + extra: + type: object + additionalProperties: {} + key: + type: string + year: + type: integer + format: int64 + container_name: + type: string + title: + type: string + locator: + type: string + example: "p123" + release_contrib: + type: object + properties: + index: + type: integer + format: int64 + creator_id: + <<: *FATCATIDENT + creator: + $ref: "#/definitions/creator_entity" + description: "Optional; GET-only" + raw_name: + type: string + given_name: + type: string + surname: + type: string + role: + type: string + raw_affiliation: + type: string + description: "Raw affiliation string as displayed in text" + extra: + type: object + additionalProperties: {} + container_auto_batch: + type: object + required: + - editgroup + - entity_list + properties: + editgroup: + $ref: "#/definitions/editgroup" + entity_list: + type: array + items: + $ref: "#/definitions/container_entity" + creator_auto_batch: + type: object + required: + - editgroup + - entity_list + properties: + editgroup: + $ref: "#/definitions/editgroup" + entity_list: + type: array + items: + $ref: "#/definitions/creator_entity" + file_auto_batch: + type: object + required: + - editgroup + - entity_list + properties: + editgroup: + $ref: "#/definitions/editgroup" + entity_list: + type: array + items: + $ref: "#/definitions/file_entity" + fileset_auto_batch: + type: object + required: + - editgroup + - entity_list + properties: + editgroup: + $ref: "#/definitions/editgroup" + entity_list: + type: array + items: + $ref: "#/definitions/fileset_entity" + webcapture_auto_batch: + type: object + required: + - editgroup + - entity_list + properties: + editgroup: + $ref: "#/definitions/editgroup" + entity_list: + type: array + items: + $ref: "#/definitions/webcapture_entity" + release_auto_batch: + type: object + required: + - editgroup + - entity_list + properties: + editgroup: + $ref: "#/definitions/editgroup" + entity_list: + type: array + items: + $ref: "#/definitions/release_entity" + work_auto_batch: + type: object + required: + - editgroup + - entity_list + properties: + editgroup: + $ref: "#/definitions/editgroup" + entity_list: + type: array + items: + $ref: "#/definitions/work_entity" + auth_oidc: + type: object + required: + - provider + - sub + - iss + - preferred_username + properties: + provider: + type: string + sub: + type: string + iss: + type: string + preferred_username: + type: string + auth_oidc_result: + type: object + required: + - editor + - token + properties: + editor: + $ref: "#/definitions/editor" + token: + type: string + +x-auth-responses: &AUTHRESPONSES + 401: + description: Not Authorized # "Authentication information is missing or invalid" + schema: + $ref: "#/definitions/error_response" + headers: + WWW_Authenticate: + type: string + 403: + description: Forbidden + schema: + $ref: "#/definitions/error_response" +x-entity-responses: &ENTITYRESPONSES + 400: + description: Bad Request + schema: + $ref: "#/definitions/error_response" + 404: + description: Not Found + schema: + $ref: "#/definitions/error_response" + 500: + description: Generic Error + schema: + $ref: "#/definitions/error_response" + +paths: + /editgroup/{editgroup_id}/container: + parameters: + - name: editgroup_id + in: path + type: string + required: true + post: + operationId: "create_container" + tags: # TAGLINE + - containers # TAGLINE + parameters: + - name: entity + in: body + required: true + schema: + $ref: "#/definitions/container_entity" + security: + - Bearer: [] + responses: + 201: + description: Created Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /editgroup/auto/container/batch: + post: + operationId: "create_container_auto_batch" + tags: # TAGLINE + - containers # TAGLINE + parameters: + - name: auto_batch + in: body + required: true + schema: + $ref: "#/definitions/container_auto_batch" + security: + - Bearer: [] + responses: + 201: + description: Created Editgroup + schema: + $ref: "#/definitions/editgroup" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /container/{ident}: + parameters: + - name: ident + in: path + type: string + required: true + get: + operationId: "get_container" + tags: # TAGLINE + - containers # TAGLINE + parameters: + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response. For containers, none accepted (yet)." + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For containers, none accepted (yet)." + responses: + 200: + description: Found Entity + schema: + $ref: "#/definitions/container_entity" + <<: *ENTITYRESPONSES + /editgroup/{editgroup_id}/container/{ident}: + parameters: + - name: editgroup_id + in: path + type: string + required: true + - name: ident + in: path + type: string + required: true + put: + operationId: "update_container" + tags: # TAGLINE + - containers # TAGLINE + parameters: + - name: entity + in: body + required: true + schema: + $ref: "#/definitions/container_entity" + security: + - Bearer: [] + responses: + 200: + description: Updated Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + delete: + operationId: "delete_container" + tags: # TAGLINE + - containers # TAGLINE + security: + - Bearer: [] + responses: + 200: + description: Deleted Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /container/rev/{rev_id}: + parameters: + - name: rev_id + in: path + required: true + <<: *FATCATUUID + get: + operationId: "get_container_revision" + tags: # TAGLINE + - containers # TAGLINE + parameters: + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response. For containers, none accepted (yet)." + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For containers, none accepted (yet)." + responses: + 200: + description: Found Entity Revision + schema: + $ref: "#/definitions/container_entity" + <<: *ENTITYRESPONSES + /container/{ident}/history: + parameters: + - name: ident + in: path + type: string + required: true + - name: limit + in: query + type: integer + format: int64 + required: false + get: + tags: # TAGLINE + - containers # TAGLINE + operationId: "get_container_history" + responses: + 200: + description: Found Entity History + schema: + type: array + items: + $ref: "#/definitions/entity_history_entry" + <<: *ENTITYRESPONSES + /container/{ident}/redirects: + parameters: + - name: ident + in: path + type: string + required: true + get: + tags: # TAGLINE + - containers # TAGLINE + operationId: "get_container_redirects" + responses: + 200: + description: Found Entity Redirects + schema: + type: array + items: + <<: *FATCATIDENT + <<: *ENTITYRESPONSES + /container/lookup: + get: + operationId: "lookup_container" + tags: # TAGLINE + - containers # TAGLINE + parameters: + - name: issnl + in: query + required: false + <<: *FATCATISSN + - name: wikidata_qid + in: query + required: false + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response." + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For container, none accepted (yet)." + responses: + 200: + description: Found Entity + schema: + $ref: "#/definitions/container_entity" + <<: *ENTITYRESPONSES + /container/edit/{edit_id}: + get: + operationId: "get_container_edit" + tags: # TAGLINE + - containers # TAGLINE + parameters: + - name: edit_id + in: path + required: true + <<: *FATCATUUID + responses: + 200: + description: Found Edit + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + /editgroup/{editgroup_id}/container/edit/{edit_id}: + parameters: + - name: editgroup_id + in: path + required: true + type: string + - name: edit_id + in: path + required: true + <<: *FATCATUUID + delete: + operationId: "delete_container_edit" + tags: # TAGLINE + - containers # TAGLINE + security: + - Bearer: [] + responses: + 200: + description: Deleted Edit + schema: + $ref: "#/definitions/success" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /editgroup/{editgroup_id}/creator: + parameters: + - name: editgroup_id + in: path + type: string + required: true + post: + operationId: "create_creator" + tags: # TAGLINE + - creators # TAGLINE + parameters: + - name: entity + in: body + required: true + schema: + $ref: "#/definitions/creator_entity" + security: + - Bearer: [] + responses: + 201: + description: Created Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /editgroup/auto/creator/batch: + post: + operationId: "create_creator_auto_batch" + tags: # TAGLINE + - creators # TAGLINE + parameters: + - name: auto_batch + in: body + required: true + schema: + $ref: "#/definitions/creator_auto_batch" + security: + - Bearer: [] + responses: + 201: + description: Created Editgroup + schema: + $ref: "#/definitions/editgroup" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /creator/{ident}: + parameters: + - name: ident + in: path + type: string + required: true + get: + operationId: "get_creator" + tags: # TAGLINE + - creators # TAGLINE + parameters: + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response. For creators, none accepted (yet)." + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For containers, none accepted (yet)." + responses: + 200: + description: Found Entity + schema: + $ref: "#/definitions/creator_entity" + <<: *ENTITYRESPONSES + /editgroup/{editgroup_id}/creator/{ident}: + parameters: + - name: editgroup_id + in: path + type: string + required: true + - name: ident + in: path + type: string + required: true + put: + operationId: "update_creator" + tags: # TAGLINE + - creators # TAGLINE + parameters: + - name: entity + in: body + required: true + schema: + $ref: "#/definitions/creator_entity" + security: + - Bearer: [] + responses: + 200: + description: Updated Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + delete: + operationId: "delete_creator" + tags: # TAGLINE + - creators # TAGLINE + security: + - Bearer: [] + responses: + 200: + description: Deleted Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /creator/rev/{rev_id}: + parameters: + - name: rev_id + in: path + required: true + <<: *FATCATUUID + get: + operationId: "get_creator_revision" + tags: # TAGLINE + - creators # TAGLINE + parameters: + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response. For creators, none accepted (yet)." + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For creators, none accepted (yet)." + responses: + 200: + description: Found Entity Revision + schema: + $ref: "#/definitions/creator_entity" + <<: *ENTITYRESPONSES + /creator/{ident}/history: + parameters: + - name: ident + in: path + type: string + required: true + - name: limit + in: query + type: integer + format: int64 + required: false + get: + operationId: "get_creator_history" + tags: # TAGLINE + - creators # TAGLINE + responses: + 200: + description: Found Entity History + schema: + type: array + items: + $ref: "#/definitions/entity_history_entry" + <<: *ENTITYRESPONSES + /creator/{ident}/releases: + parameters: + - name: ident + in: path + type: string + required: true + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For creators, none implemented yet." + get: + operationId: "get_creator_releases" + tags: # TAGLINE + - creators # TAGLINE + responses: + 200: + description: Found + schema: + type: array + items: + $ref: "#/definitions/release_entity" + <<: *ENTITYRESPONSES + /creator/{ident}/redirects: + parameters: + - name: ident + in: path + type: string + required: true + get: + tags: # TAGLINE + - creators # TAGLINE + operationId: "get_creator_redirects" + responses: + 200: + description: Found Entity Redirects + schema: + type: array + items: + <<: *FATCATIDENT + <<: *ENTITYRESPONSES + /creator/lookup: + get: + operationId: "lookup_creator" + tags: # TAGLINE + - creators # TAGLINE + parameters: + - name: orcid + in: query + required: false + <<: *FATCATORCID + - name: wikidata_qid + in: query + required: false + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response." + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For creator, none accepted (yet)." + responses: + 200: + description: Found Entity + schema: + $ref: "#/definitions/creator_entity" + <<: *ENTITYRESPONSES + /creator/edit/{edit_id}: + get: + operationId: "get_creator_edit" + tags: # TAGLINE + - creators # TAGLINE + parameters: + - name: edit_id + in: path + required: true + <<: *FATCATUUID + responses: + 200: + description: Found Edit + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + /editgroup/{editgroup_id}/creator/edit/{edit_id}: + parameters: + - name: editgroup_id + in: path + required: true + type: string + - name: edit_id + in: path + required: true + <<: *FATCATUUID + delete: + operationId: "delete_creator_edit" + tags: # TAGLINE + - creators # TAGLINE + security: + - Bearer: [] + responses: + 200: + description: Deleted Edit + schema: + $ref: "#/definitions/success" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /editgroup/{editgroup_id}/file: + parameters: + - name: editgroup_id + in: path + type: string + required: true + post: + operationId: "create_file" + tags: # TAGLINE + - files # TAGLINE + parameters: + - name: entity + in: body + required: true + schema: + $ref: "#/definitions/file_entity" + security: + - Bearer: [] + responses: + 201: + description: Created Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /editgroup/auto/file/batch: + post: + operationId: "create_file_auto_batch" + tags: # TAGLINE + - files # TAGLINE + parameters: + - name: auto_batch + in: body + required: true + schema: + $ref: "#/definitions/file_auto_batch" + security: + - Bearer: [] + responses: + 201: + description: Created Editgroup + schema: + $ref: "#/definitions/editgroup" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /file/{ident}: + parameters: + - name: ident + in: path + type: string + required: true + get: + operationId: "get_file" + tags: # TAGLINE + - files # TAGLINE + parameters: + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response. For files, `releases` is accepted." + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For files, none accepted (yet)." + responses: + 200: + description: Found Entity + schema: + $ref: "#/definitions/file_entity" + <<: *ENTITYRESPONSES + /editgroup/{editgroup_id}/file/{ident}: + parameters: + - name: editgroup_id + in: path + type: string + required: true + - name: ident + in: path + type: string + required: true + put: + operationId: "update_file" + tags: # TAGLINE + - files # TAGLINE + parameters: + - name: entity + in: body + required: true + schema: + $ref: "#/definitions/file_entity" + security: + - Bearer: [] + responses: + 200: + description: Updated Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + delete: + operationId: "delete_file" + tags: # TAGLINE + - files # TAGLINE + security: + - Bearer: [] + responses: + 200: + description: Deleted Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /file/rev/{rev_id}: + parameters: + - name: rev_id + in: path + required: true + <<: *FATCATUUID + get: + operationId: "get_file_revision" + tags: # TAGLINE + - files # TAGLINE + parameters: + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response. For files, none accepted (yet)." + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For files, none accepted (yet)." + responses: + 200: + description: Found Entity Revision + schema: + $ref: "#/definitions/file_entity" + <<: *ENTITYRESPONSES + /file/{ident}/history: + parameters: + - name: ident + in: path + type: string + required: true + - name: limit + in: query + type: integer + format: int64 + required: false + get: + operationId: "get_file_history" + tags: # TAGLINE + - files # TAGLINE + responses: + 200: + description: Found Entity History + schema: + type: array + items: + $ref: "#/definitions/entity_history_entry" + <<: *ENTITYRESPONSES + /file/{ident}/redirects: + parameters: + - name: ident + in: path + type: string + required: true + get: + tags: # TAGLINE + - files # TAGLINE + operationId: "get_file_redirects" + responses: + 200: + description: Found Entity Redirects + schema: + type: array + items: + <<: *FATCATIDENT + <<: *ENTITYRESPONSES + /file/lookup: + get: + operationId: "lookup_file" + tags: # TAGLINE + - files # TAGLINE + parameters: + - name: md5 + in: query + required: false + <<: *FATCATMD5 + - name: sha1 + in: query + required: false + <<: *FATCATSHA1 + - name: sha256 + in: query + required: false + <<: *FATCATSHA256 + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response." + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For files, none accepted (yet)." + responses: + 200: + description: Found Entity + schema: + $ref: "#/definitions/file_entity" + <<: *ENTITYRESPONSES + /file/edit/{edit_id}: + get: + operationId: "get_file_edit" + tags: # TAGLINE + - files # TAGLINE + parameters: + - name: edit_id + in: path + required: true + <<: *FATCATUUID + responses: + 200: + description: Found Edit + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + /editgroup/{editgroup_id}/file/edit/{edit_id}: + parameters: + - name: editgroup_id + in: path + required: true + type: string + - name: edit_id + in: path + required: true + <<: *FATCATUUID + delete: + operationId: "delete_file_edit" + tags: # TAGLINE + - files # TAGLINE + security: + - Bearer: [] + responses: + 200: + description: Deleted Edit + schema: + $ref: "#/definitions/success" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /editgroup/{editgroup_id}/fileset: + parameters: + - name: editgroup_id + in: path + type: string + required: true + post: + operationId: "create_fileset" + tags: # TAGLINE + - filesets # TAGLINE + parameters: + - name: entity + in: body + required: true + schema: + $ref: "#/definitions/fileset_entity" + security: + - Bearer: [] + responses: + 201: + description: Created Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /editgroup/auto/fileset/batch: + post: + operationId: "create_fileset_auto_batch" + tags: # TAGLINE + - filesets # TAGLINE + parameters: + - name: auto_batch + in: body + required: true + schema: + $ref: "#/definitions/fileset_auto_batch" + security: + - Bearer: [] + responses: + 201: + description: Created Editgroup + schema: + $ref: "#/definitions/editgroup" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /fileset/{ident}: + parameters: + - name: ident + in: path + type: string + required: true + get: + operationId: "get_fileset" + tags: # TAGLINE + - filesets # TAGLINE + parameters: + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response. For filesets, `releases` is accepted." + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For filesets, 'manifest' is accepted." + responses: + 200: + description: Found Entity + schema: + $ref: "#/definitions/fileset_entity" + <<: *ENTITYRESPONSES + /editgroup/{editgroup_id}/fileset/{ident}: + parameters: + - name: editgroup_id + in: path + type: string + required: true + - name: ident + in: path + type: string + required: true + put: + operationId: "update_fileset" + tags: # TAGLINE + - filesets # TAGLINE + parameters: + - name: entity + in: body + required: true + schema: + $ref: "#/definitions/fileset_entity" + security: + - Bearer: [] + responses: + 200: + description: Updated Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + delete: + operationId: "delete_fileset" + tags: # TAGLINE + - filesets # TAGLINE + security: + - Bearer: [] + responses: + 200: + description: Deleted Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /fileset/rev/{rev_id}: + parameters: + - name: rev_id + in: path + required: true + <<: *FATCATUUID + get: + operationId: "get_fileset_revision" + tags: # TAGLINE + - filesets # TAGLINE + parameters: + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response. For filesets, none accepted (yet)." + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For filesets, 'manifest' is accepted." + responses: + 200: + description: Found Entity Revision + schema: + $ref: "#/definitions/fileset_entity" + <<: *ENTITYRESPONSES + /fileset/{ident}/history: + parameters: + - name: ident + in: path + type: string + required: true + - name: limit + in: query + type: integer + format: int64 + required: false + get: + operationId: "get_fileset_history" + tags: # TAGLINE + - filesets # TAGLINE + responses: + 200: + description: Found Entity History + schema: + type: array + items: + $ref: "#/definitions/entity_history_entry" + <<: *ENTITYRESPONSES + /fileset/{ident}/redirects: + parameters: + - name: ident + in: path + type: string + required: true + get: + tags: # TAGLINE + - filesets # TAGLINE + operationId: "get_fileset_redirects" + responses: + 200: + description: Found Entity Redirects + schema: + type: array + items: + <<: *FATCATIDENT + <<: *ENTITYRESPONSES + /fileset/edit/{edit_id}: + get: + operationId: "get_fileset_edit" + tags: # TAGLINE + - filesets # TAGLINE + parameters: + - name: edit_id + in: path + required: true + <<: *FATCATUUID + responses: + 200: + description: Found Edit + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + /editgroup/{editgroup_id}/fileset/edit/{edit_id}: + parameters: + - name: editgroup_id + in: path + required: true + type: string + - name: edit_id + in: path + required: true + <<: *FATCATUUID + delete: + operationId: "delete_fileset_edit" + tags: # TAGLINE + - filesets # TAGLINE + security: + - Bearer: [] + responses: + 200: + description: Deleted Edit + schema: + $ref: "#/definitions/success" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /editgroup/{editgroup_id}/webcapture: + parameters: + - name: editgroup_id + in: path + type: string + required: true + post: + operationId: "create_webcapture" + tags: # TAGLINE + - webcaptures # TAGLINE + parameters: + - name: entity + in: body + required: true + schema: + $ref: "#/definitions/webcapture_entity" + security: + - Bearer: [] + responses: + 201: + description: Created Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /editgroup/auto/webcapture/batch: + post: + operationId: "create_webcapture_auto_batch" + tags: # TAGLINE + - webcaptures # TAGLINE + parameters: + - name: auto_batch + in: body + required: true + schema: + $ref: "#/definitions/webcapture_auto_batch" + security: + - Bearer: [] + responses: + 201: + description: Created Editgroup + schema: + $ref: "#/definitions/editgroup" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /webcapture/{ident}: + parameters: + - name: ident + in: path + type: string + required: true + get: + operationId: "get_webcapture" + tags: # TAGLINE + - webcaptures # TAGLINE + parameters: + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response. For webcaptures, `releases` is accepted." + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For webcaptures, 'cdx' is accepted." + responses: + 200: + description: Found Entity + schema: + $ref: "#/definitions/webcapture_entity" + <<: *ENTITYRESPONSES + /editgroup/{editgroup_id}/webcapture/{ident}: + parameters: + - name: editgroup_id + in: path + type: string + required: true + - name: ident + in: path + type: string + required: true + put: + operationId: "update_webcapture" + tags: # TAGLINE + - webcaptures # TAGLINE + parameters: + - name: entity + in: body + required: true + schema: + $ref: "#/definitions/webcapture_entity" + security: + - Bearer: [] + responses: + 200: + description: Updated Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + delete: + operationId: "delete_webcapture" + tags: # TAGLINE + - webcaptures # TAGLINE + security: + - Bearer: [] + responses: + 200: + description: Deleted Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /webcapture/rev/{rev_id}: + parameters: + - name: rev_id + in: path + required: true + <<: *FATCATUUID + get: + operationId: "get_webcapture_revision" + tags: # TAGLINE + - webcaptures # TAGLINE + parameters: + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response. For webcaptures, none accepted (yet)." + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For webcaptures, 'cdx' is accepted." + responses: + 200: + description: Found Entity Revision + schema: + $ref: "#/definitions/webcapture_entity" + <<: *ENTITYRESPONSES + /webcapture/{ident}/history: + parameters: + - name: ident + in: path + type: string + required: true + - name: limit + in: query + type: integer + format: int64 + required: false + get: + operationId: "get_webcapture_history" + tags: # TAGLINE + - webcaptures # TAGLINE + responses: + 200: + description: Found Entity History + schema: + type: array + items: + $ref: "#/definitions/entity_history_entry" + <<: *ENTITYRESPONSES + /webcapture/{ident}/redirects: + parameters: + - name: ident + in: path + type: string + required: true + get: + tags: # TAGLINE + - webcaptures # TAGLINE + operationId: "get_webcapture_redirects" + responses: + 200: + description: Found Entity Redirects + schema: + type: array + items: + <<: *FATCATIDENT + <<: *ENTITYRESPONSES + /webcapture/edit/{edit_id}: + get: + operationId: "get_webcapture_edit" + tags: # TAGLINE + - webcaptures # TAGLINE + parameters: + - name: edit_id + in: path + required: true + <<: *FATCATUUID + responses: + 200: + description: Found Edit + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + /editgroup/{editgroup_id}/webcapture/edit/{edit_id}: + parameters: + - name: editgroup_id + in: path + required: true + type: string + - name: edit_id + in: path + required: true + <<: *FATCATUUID + delete: + operationId: "delete_webcapture_edit" + tags: # TAGLINE + - webcaptures # TAGLINE + security: + - Bearer: [] + responses: + 200: + description: Deleted Edit + schema: + $ref: "#/definitions/success" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /editgroup/{editgroup_id}/release: + parameters: + - name: editgroup_id + in: path + type: string + required: true + post: + operationId: "create_release" + tags: # TAGLINE + - releases # TAGLINE + parameters: + - name: entity + in: body + required: true + schema: + $ref: "#/definitions/release_entity" + security: + - Bearer: [] + responses: + 201: + description: Created Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /editgroup/auto/release/batch: + post: + operationId: "create_release_auto_batch" + tags: # TAGLINE + - releases # TAGLINE + parameters: + - name: auto_batch + in: body + required: true + schema: + $ref: "#/definitions/release_auto_batch" + security: + - Bearer: [] + responses: + 201: + description: Created Editgroup + schema: + $ref: "#/definitions/editgroup" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /release/{ident}: + parameters: + - name: ident + in: path + type: string + required: true + get: + operationId: "get_release" + tags: # TAGLINE + - releases # TAGLINE + parameters: + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response. For releases, 'files', 'filesets, 'webcaptures', 'container', and 'creators' are valid." + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For releases, 'abstracts', 'refs', and 'contribs' are valid." + responses: + 200: + description: Found Entity + schema: + $ref: "#/definitions/release_entity" + <<: *ENTITYRESPONSES + /editgroup/{editgroup_id}/release/{ident}: + parameters: + - name: editgroup_id + in: path + type: string + required: true + - name: ident + in: path + type: string + required: true + put: + operationId: "update_release" + tags: # TAGLINE + - releases # TAGLINE + parameters: + - name: entity + in: body + required: true + schema: + $ref: "#/definitions/release_entity" + security: + - Bearer: [] + responses: + 200: + description: Updated Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + delete: + operationId: "delete_release" + tags: # TAGLINE + - releases # TAGLINE + security: + - Bearer: [] + responses: + 200: + description: Deleted Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /release/rev/{rev_id}: + parameters: + - name: rev_id + in: path + required: true + <<: *FATCATUUID + get: + operationId: "get_release_revision" + tags: # TAGLINE + - releases # TAGLINE + parameters: + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response. For releases, none accepted (yet)." + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For releases, none accepted (yet)." + responses: + 200: + description: Found Entity Revision + schema: + $ref: "#/definitions/release_entity" + <<: *ENTITYRESPONSES + /release/{ident}/history: + parameters: + - name: ident + in: path + type: string + required: true + - name: limit + in: query + type: integer + format: int64 + required: false + get: + operationId: "get_release_history" + tags: # TAGLINE + - releases # TAGLINE + responses: + 200: + description: Found Entity History + schema: + type: array + items: + $ref: "#/definitions/entity_history_entry" + <<: *ENTITYRESPONSES + /release/{ident}/files: + parameters: + - name: ident + in: path + type: string + required: true + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For files, none accepted (yet)." + get: + operationId: "get_release_files" + tags: # TAGLINE + - releases # TAGLINE + responses: + 200: + description: Found + schema: + type: array + items: + $ref: "#/definitions/file_entity" + <<: *ENTITYRESPONSES + /release/{ident}/filesets: + parameters: + - name: ident + in: path + type: string + required: true + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For filesets, 'manifest' is valid." + get: + operationId: "get_release_filesets" + tags: # TAGLINE + - releases # TAGLINE + responses: + 200: + description: Found + schema: + type: array + items: + $ref: "#/definitions/fileset_entity" + <<: *ENTITYRESPONSES + /release/{ident}/webcaptures: + parameters: + - name: ident + in: path + type: string + required: true + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For webcaptures, 'cdx' is valid." + get: + operationId: "get_release_webcaptures" + tags: # TAGLINE + - releases # TAGLINE + responses: + 200: + description: Found + schema: + type: array + items: + $ref: "#/definitions/webcapture_entity" + <<: *ENTITYRESPONSES + /release/{ident}/redirects: + parameters: + - name: ident + in: path + type: string + required: true + get: + tags: # TAGLINE + - releases # TAGLINE + operationId: "get_release_redirects" + responses: + 200: + description: Found Entity Redirects + schema: + type: array + items: + <<: *FATCATIDENT + <<: *ENTITYRESPONSES + /release/lookup: + get: + operationId: "lookup_release" + tags: # TAGLINE + - releases # TAGLINE + parameters: + - name: doi + in: query + type: string + required: false + - name: wikidata_qid + in: query + type: string + required: false + - name: isbn13 + in: query + type: string + required: false + - name: pmid + in: query + type: string + required: false + - name: pmcid + in: query + type: string + required: false + - name: core + in: query + type: string + required: false + - name: arxiv + in: query + type: string + required: false + - name: jstor + in: query + type: string + required: false + - name: ark + in: query + type: string + required: false + - name: mag + in: query + type: string + required: false + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response." + - name: hide + in: query + type: string + required: false + description: "List of sub-entities to expand in response. For releases, 'files', 'filesets, 'webcaptures', 'container', and 'creators' are valid." + responses: + 200: + description: Found Entity + schema: + $ref: "#/definitions/release_entity" + <<: *ENTITYRESPONSES + /release/edit/{edit_id}: + get: + operationId: "get_release_edit" + tags: # TAGLINE + - releases # TAGLINE + parameters: + - name: edit_id + in: path + required: true + <<: *FATCATUUID + responses: + 200: + description: Found Edit + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + /editgroup/{editgroup_id}/release/edit/{edit_id}: + parameters: + - name: editgroup_id + in: path + required: true + type: string + - name: edit_id + in: path + required: true + <<: *FATCATUUID + delete: + operationId: "delete_release_edit" + tags: # TAGLINE + - releases # TAGLINE + security: + - Bearer: [] + responses: + 200: + description: Deleted Edit + schema: + $ref: "#/definitions/success" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /editgroup/{editgroup_id}/work: + parameters: + - name: editgroup_id + in: path + type: string + required: true + post: + operationId: "create_work" + tags: # TAGLINE + - releases # TAGLINE + parameters: + - name: entity + in: body + required: true + schema: + $ref: "#/definitions/work_entity" + security: + - Bearer: [] + responses: + 201: + description: Created Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /editgroup/auto/work/batch: + post: + operationId: "create_work_auto_batch" + tags: # TAGLINE + - works # TAGLINE + parameters: + - name: auto_batch + in: body + required: true + schema: + $ref: "#/definitions/work_auto_batch" + security: + - Bearer: [] + responses: + 201: + description: Created Editgroup + schema: + $ref: "#/definitions/editgroup" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /work/{ident}: + parameters: + - name: ident + in: path + type: string + required: true + get: + operationId: "get_work" + tags: # TAGLINE + - works # TAGLINE + parameters: + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response. For works, none accepted (yet)." + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For works, none accepted (yet)." + responses: + 200: + description: Found Entity + schema: + $ref: "#/definitions/work_entity" + <<: *ENTITYRESPONSES + /editgroup/{editgroup_id}/work/{ident}: + parameters: + - name: editgroup_id + in: path + type: string + required: true + - name: ident + in: path + type: string + required: true + put: + operationId: "update_work" + tags: # TAGLINE + - works # TAGLINE + parameters: + - name: entity + in: body + required: true + schema: + $ref: "#/definitions/work_entity" + security: + - Bearer: [] + responses: + 200: + description: Updated Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + delete: + operationId: "delete_work" + tags: # TAGLINE + - works # TAGLINE + security: + - Bearer: [] + responses: + 200: + description: Deleted Entity + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /work/rev/{rev_id}: + parameters: + - name: rev_id + in: path + required: true + <<: *FATCATUUID + get: + operationId: "get_work_revision" + tags: # TAGLINE + - works # TAGLINE + parameters: + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response. For works, none accepted (yet)." + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For works, none accepted (yet)." + responses: + 200: + description: Found Entity Revision + schema: + $ref: "#/definitions/work_entity" + <<: *ENTITYRESPONSES + /work/{ident}/history: + parameters: + - name: ident + in: path + type: string + required: true + - name: limit + in: query + type: integer + format: int64 + required: false + get: + operationId: "get_work_history" + tags: # TAGLINE + - works # TAGLINE + responses: + 200: + description: Found Entity History + schema: + type: array + items: + $ref: "#/definitions/entity_history_entry" + <<: *ENTITYRESPONSES + /work/{ident}/redirects: + parameters: + - name: ident + in: path + type: string + required: true + get: + tags: # TAGLINE + - works # TAGLINE + operationId: "get_work_redirects" + responses: + 200: + description: Found Entity Redirects + schema: + type: array + items: + <<: *FATCATIDENT + <<: *ENTITYRESPONSES + /work/{ident}/releases: + parameters: + - name: ident + in: path + type: string + required: true + - name: hide + in: query + type: string + required: false + description: "List of entity fields to elide in response. For works, none implemented yet." + get: + operationId: "get_work_releases" + tags: # TAGLINE + - works # TAGLINE + responses: + 200: + description: Found + schema: + type: array + items: + $ref: "#/definitions/release_entity" + <<: *ENTITYRESPONSES + /work/edit/{edit_id}: + get: + operationId: "get_work_edit" + tags: # TAGLINE + - works # TAGLINE + parameters: + - name: edit_id + in: path + required: true + <<: *FATCATUUID + responses: + 200: + description: Found Edit + schema: + $ref: "#/definitions/entity_edit" + <<: *ENTITYRESPONSES + /editgroup/{editgroup_id}/work/edit/{edit_id}: + parameters: + - name: editgroup_id + in: path + required: true + type: string + - name: edit_id + in: path + required: true + <<: *FATCATUUID + delete: + operationId: "delete_work_edit" + tags: # TAGLINE + - works # TAGLINE + security: + - Bearer: [] + responses: + 200: + description: Deleted Edit + schema: + $ref: "#/definitions/success" + <<: *ENTITYRESPONSES + <<: *AUTHRESPONSES + /editor/{editor_id}: + parameters: + - name: editor_id + in: path + type: string + required: true + get: + operationId: "get_editor" + responses: + 200: + description: Found + schema: + $ref: "#/definitions/editor" + 400: + description: Bad Request + schema: + $ref: "#/definitions/error_response" + 404: + description: Not Found + schema: + $ref: "#/definitions/error_response" + 500: + description: Generic Error + schema: + $ref: "#/definitions/error_response" + put: + operationId: "update_editor" + parameters: + - name: editor + in: body + required: true + schema: + $ref: "#/definitions/editor" + security: + - Bearer: [] + responses: + 200: + description: Updated Editor + schema: + $ref: "#/definitions/editor" + 400: + description: Bad Request + schema: + $ref: "#/definitions/error_response" + 404: + description: Not Found + schema: + $ref: "#/definitions/error_response" + 500: + description: Generic Error + schema: + $ref: "#/definitions/error_response" + <<: *AUTHRESPONSES + /editor/{editor_id}/editgroups: + parameters: + - name: editor_id + in: path + type: string + required: true + get: + operationId: "get_editor_editgroups" + parameters: + - name: limit + in: query + type: integer + format: int64 + required: false + - name: before + in: query + type: string + format: date-time + required: false + - name: since + in: query + type: string + format: date-time + required: false + responses: + 200: + description: Found + schema: + type: array + items: + $ref: "#/definitions/editgroup" + 400: + description: Bad Request + schema: + $ref: "#/definitions/error_response" + 404: + description: Not Found + schema: + $ref: "#/definitions/error_response" + 500: + description: Generic Error + schema: + $ref: "#/definitions/error_response" + /editor/{editor_id}/annotations: + parameters: + - name: editor_id + in: path + required: true + <<: *FATCATIDENT + get: + operationId: "get_editor_annotations" + tags: # TAGLINE + - edit-lifecycle # TAGLINE + parameters: + - name: limit + in: query + type: integer + format: int64 + required: false + - name: before + in: query + type: string + format: date-time + required: false + - name: since + in: query + type: string + format: date-time + required: false + responses: + 200: + description: Success + schema: + type: array + items: + $ref: "#/definitions/editgroup_annotation" + 400: + description: Bad Request + schema: + $ref: "#/definitions/error_response" + 404: + description: Not Found + schema: + $ref: "#/definitions/error_response" + 500: + description: Generic Error + schema: + $ref: "#/definitions/error_response" + <<: *AUTHRESPONSES + /editgroup: + post: + operationId: "create_editgroup" + tags: # TAGLINE + - edit-lifecycle # TAGLINE + parameters: + - name: editgroup + in: body + required: true + schema: + $ref: "#/definitions/editgroup" + security: + - Bearer: [] + responses: + 201: + description: Successfully Created + schema: + $ref: "#/definitions/editgroup" + 400: + description: Bad Request + schema: + $ref: "#/definitions/error_response" + 404: # added only for response type consistency + description: Not Found + schema: + $ref: "#/definitions/error_response" + 500: + description: Generic Error + schema: + $ref: "#/definitions/error_response" + <<: *AUTHRESPONSES + /editgroup/{editgroup_id}: + parameters: + - name: editgroup_id + in: path + required: true + <<: *FATCATIDENT + get: + operationId: "get_editgroup" + tags: # TAGLINE + - edit-lifecycle # TAGLINE + responses: + 200: + description: Found + schema: + $ref: "#/definitions/editgroup" + 400: + description: Bad Request + schema: + $ref: "#/definitions/error_response" + 404: + description: Not Found + schema: + $ref: "#/definitions/error_response" + 500: + description: Generic Error + schema: + $ref: "#/definitions/error_response" + put: + operationId: "update_editgroup" + security: + - Bearer: [] + parameters: + - name: editgroup + in: body + required: true + schema: + $ref: "#/definitions/editgroup" + - name: submit + in: query + type: boolean + required: false + responses: + 200: + description: Updated Editgroup + schema: + $ref: "#/definitions/editgroup" + 400: + description: Bad Request + schema: + $ref: "#/definitions/error_response" + 404: + description: Not Found + schema: + $ref: "#/definitions/error_response" + 500: + description: Generic Error + schema: + $ref: "#/definitions/error_response" + <<: *AUTHRESPONSES + /editgroup/{editgroup_id}/accept: + parameters: + - name: editgroup_id + in: path + required: true + <<: *FATCATIDENT + post: + operationId: "accept_editgroup" + tags: # TAGLINE + - edit-lifecycle # TAGLINE + security: + - Bearer: [] + responses: + 200: + description: Merged Successfully + schema: + $ref: "#/definitions/success" + 400: + description: Bad Request + schema: + $ref: "#/definitions/error_response" + 404: + description: Not Found + schema: + $ref: "#/definitions/error_response" + 409: + description: Edit Conflict + schema: + $ref: "#/definitions/error_response" + 500: + description: Generic Error + schema: + $ref: "#/definitions/error_response" + <<: *AUTHRESPONSES + /editgroup/{editgroup_id}/annotations: + parameters: + - name: editgroup_id + in: path + required: true + <<: *FATCATIDENT + get: + operationId: "get_editgroup_annotations" + tags: # TAGLINE + - edit-lifecycle # TAGLINE + parameters: + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response. For editgroups: 'editors'" + responses: + 200: + description: Success + schema: + type: array + items: + $ref: "#/definitions/editgroup_annotation" + 400: + description: Bad Request + schema: + $ref: "#/definitions/error_response" + 404: + description: Not Found + schema: + $ref: "#/definitions/error_response" + 500: + description: Generic Error + schema: + $ref: "#/definitions/error_response" + <<: *AUTHRESPONSES + /editgroup/{editgroup_id}/annotation: + parameters: + - name: editgroup_id + in: path + required: true + <<: *FATCATIDENT + post: + operationId: "create_editgroup_annotation" + tags: # TAGLINE + - edit-lifecycle # TAGLINE + security: + - Bearer: [] + parameters: + - name: annotation + in: body + required: true + schema: + $ref: "#/definitions/editgroup_annotation" + responses: + 201: + description: Created + schema: + $ref: "#/definitions/editgroup_annotation" + 400: + description: Bad Request + schema: + $ref: "#/definitions/error_response" + 404: + description: Not Found + schema: + $ref: "#/definitions/error_response" + 500: + description: Generic Error + schema: + $ref: "#/definitions/error_response" + <<: *AUTHRESPONSES + /editgroup/reviewable: + get: + operationId: "get_editgroups_reviewable" + parameters: + - name: expand + in: query + type: string + required: false + description: "List of sub-entities to expand in response. For editgroups: 'editors'" + - name: limit + in: query + type: integer + format: int64 + required: false + - name: before + in: query + type: string + format: date-time + required: false + - name: since + in: query + type: string + format: date-time + required: false + responses: + 200: + description: Found + schema: + type: array + items: + $ref: "#/definitions/editgroup" + 400: + description: Bad Request + schema: + $ref: "#/definitions/error_response" + 404: + description: Not Found + schema: + $ref: "#/definitions/error_response" + 500: + description: Generic Error + schema: + $ref: "#/definitions/error_response" + /changelog: + parameters: + - name: limit + in: query + type: integer + format: int64 + required: false + get: + operationId: "get_changelog" + tags: # TAGLINE + - edit-lifecycle # TAGLINE + responses: + 200: + description: Success + schema: + type: array + items: + $ref: "#/definitions/changelog_entry" + 400: # added only for response type consistency + description: Bad Request + schema: + $ref: "#/definitions/error_response" + 500: + description: Generic Error + schema: + $ref: "#/definitions/error_response" + /changelog/{index}: + parameters: + - name: index + in: path + type: integer + format: int64 + required: true + get: + operationId: "get_changelog_entry" + tags: # TAGLINE + - edit-lifecycle # TAGLINE + responses: + 200: + description: Found Changelog Entry + schema: + $ref: "#/definitions/changelog_entry" + 400: # added only for response type consistency + description: Bad Request + schema: + $ref: "#/definitions/error_response" + 404: + description: Not Found + schema: + $ref: "#/definitions/error_response" + 500: + description: Generic Error + schema: + $ref: "#/definitions/error_response" + /auth/oidc: + post: + operationId: "auth_oidc" + tags: # TAGLINE + security: + # required admin privs + - Bearer: [] + parameters: + - name: oidc_params + in: body + required: true + schema: + $ref: "#/definitions/auth_oidc" + responses: + 200: + description: Found + schema: + $ref: "#/definitions/auth_oidc_result" + 201: + description: Created + schema: + $ref: "#/definitions/auth_oidc_result" + 400: + description: Bad Request + schema: + $ref: "#/definitions/error_response" + 409: + description: Conflict + schema: + $ref: "#/definitions/error_response" + 500: + description: Generic Error + schema: + $ref: "#/definitions/error_response" + <<: *AUTHRESPONSES + /auth/check: + get: + operationId: "auth_check" + tags: # TAGLINE + security: + # required admin privs + - Bearer: [] + parameters: + - name: role + in: query + required: false + type: string + responses: + 200: + description: Success + schema: + $ref: "#/definitions/success" + 400: + description: Bad Request + schema: + $ref: "#/definitions/error_response" + 500: + description: Generic Error + schema: + $ref: "#/definitions/error_response" + <<: *AUTHRESPONSES + -- cgit v1.2.3