openapi: 3.2.0 info: description: API for Stanford Uniform Resource Identifier (SURI) service version: 1.0.0 title: SURI Identifiers API license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html servers: - url: https://sul-suri-{env}.stanford.edu description: Production service variables: env: default: prod - url: https://sul-suri-{env}.stanford.edu description: Staging service variables: env: default: stage - url: https://sul-suri-{env}.stanford.edu description: Quality Assurance service variables: env: default: qa tags: - name: identifiers description: Identifier operations paths: /identifiers: post: tags: - identifiers summary: Create a new identifier description: '' operationId: identifiers#create parameters: - name: quantity in: query description: 'number of identifiers to mint (note: this argument is not yet implemented since there are apparently zero clients using it)' required: false schema: type: integer responses: '201': description: Identifier created successfully headers: location: description: location of identifier schema: type: string content: text/plain: schema: $ref: '#/components/schemas/BareDruid' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' get: tags: - identifiers summary: List all identifiers description: '' operationId: identifiers#index responses: '200': description: OK content: application/json: schema: type: array items: type: object properties: identifier: $ref: '#/components/schemas/BareDruid' /identifiers/{id}: get: tags: - identifiers summary: Show an identifier description: '' operationId: identifiers#show responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Identifier' '404': description: Identifier not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: - name: id in: path description: druid to return required: true schema: $ref: '#/components/schemas/BareDruid' /suri2/namespaces/druid/identifiers: post: tags: - identifiers summary: Create a new identifier description: '' deprecated: true parameters: - name: quantity in: query description: 'number of identifiers to mint (note: this argument is not yet implemented since there are apparently zero clients using it)' required: false schema: type: integer responses: '201': description: Identifier created successfully headers: location: description: location of identifier schema: type: string content: text/plain: schema: $ref: '#/components/schemas/BareDruid' '500': description: Internal server error components: schemas: BareDruid: description: Digital Repository Unique Identifier (DRUID) without `druid:` prefix type: string pattern: ^[b-df-hjkmnp-tv-z]{2}[0-9]{3}[b-df-hjkmnp-tv-z]{2}[0-9]{4}$ example: bc123df4567 ErrorResponse: type: object properties: errors: type: array items: $ref: '#/components/schemas/Error' Error: type: object properties: title: type: string description: a short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem. example: Invalid Attribute detail: type: string description: a human-readable explanation specific to this occurrence of the problem. example: Title must contain at least three characters. source: type: object properties: pointer: type: string example: /data/attributes/title Identifier: description: an ID record stored in the database type: object properties: id: type: integer example: 123 identifier: $ref: '#/components/schemas/BareDruid' created_by: type: - string - 'null' created_at: type: string updated_at: type: string required: - id - identifier - created_at - updated_at