openapi: 3.2.0 info: title: Folio Mappings API version: v1 description: 'Operations tagged Mappings across 2 of this provider''s published API definitions: folio-mod-remote-storage-openapi.json, folio-mod-remote-storage-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: /remote-storage/ tags: - name: Mappings paths: /mappings: post: responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/remoteLocationConfigurationMapping' '400': description: Bad request content: text/plain: schema: type: string example: Bad request '422': $ref: '#/components/responses/trait_validate_422' '500': description: Internal server error content: text/plain: schema: type: string example: Internal server error description: Add/update a mapping between remote and Folio locations operationId: postMapping requestBody: content: application/json: schema: $ref: '#/components/schemas/remoteLocationConfigurationMapping' required: true tags: - Mappings summary: Post mapping x-summary-source: derived get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/remoteLocationConfigurationMappings' '500': description: Internal server error content: text/plain: schema: type: string example: Internal server error description: Get a list of location mappings operationId: getMappings parameters: - $ref: '#/components/parameters/trait_queryable_final_location_id' - $ref: '#/components/parameters/trait_queryable_configuration_id' - $ref: '#/components/parameters/trait_pageable_offset' - $ref: '#/components/parameters/trait_pageable_limit' tags: - Mappings summary: Get mappings x-summary-source: derived servers: - url: /remote-storage/ /mappings/{folioLocationId}: parameters: - name: folioLocationId in: path required: true schema: $ref: '#/components/schemas/uuid' get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/remoteLocationConfigurationMapping' '404': description: Mapping not found content: text/plain: schema: type: string example: Mapping not found '500': description: Internal server error content: text/plain: schema: type: string example: Internal server error operationId: getMappingById tags: - Mappings summary: Get mapping by id x-summary-source: derived delete: responses: '204': description: No content content: text/plain: schema: type: string example: No content '404': description: Mapping not found content: text/plain: schema: type: string example: Mapping not found '500': description: Internal server error content: text/plain: schema: type: string example: Internal server error operationId: deleteMappingById tags: - Mappings summary: Delete mapping by id x-summary-source: derived servers: - url: /remote-storage/ components: schemas: baseCollection: $schema: http://json-schema.org/draft-04/schema# description: Basic object to create pageable responses type: object properties: totalRecords: description: total records value type: integer parameter: $schema: http://json-schema.org/draft-04/schema# description: List of key/value parameters of an error type: object properties: key: type: string description: Key of the parameter value: type: string description: Value of the parameter additionalProperties: false required: - key remoteLocationConfigurationMappings: allOf: - $ref: '#/components/schemas/baseCollection' - type: object properties: mappings: type: array items: $ref: '#/components/schemas/remoteLocationConfigurationMapping' required: - mappings uuid: $schema: http://json-schema.org/draft-04/schema# description: Regexp pattern for UUID validation type: string pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$ error: $schema: http://json-schema.org/draft-04/schema# description: An error type: object properties: message: type: string description: Error message text type: type: string description: Error message type code: type: string description: Error message code parameters: type: object description: Error message parameters $ref: '#/components/schemas/parameters' additionalProperties: false required: - message errors: $schema: http://json-schema.org/draft-04/schema# description: A set of errors type: object properties: errors: description: List of errors id: errors type: array items: type: object $ref: '#/components/schemas/error' total_records: description: Total number of errors type: integer additionalProperties: false parameters: $schema: http://json-schema.org/draft-04/schema# description: List of key/value parameters of an error type: array items: type: object $ref: '#/components/schemas/parameter' additionalProperties: false remoteLocationConfigurationMapping: $schema: http://json-schema.org/draft-04/schema# description: Mapping between remote and Folio locations type: object properties: folioLocationId: description: Folio location id $ref: '#/components/schemas/uuid' configurationId: description: Remote storage configuration id $ref: '#/components/schemas/uuid' additionalProperties: false required: - folioLocationId - configurationId parameters: trait_pageable_limit: name: limit in: query description: Limit the number of elements returned in the response schema: default: 10 minimum: 0 maximum: 2147483647 type: integer trait_queryable_final_location_id: name: finalLocationId in: query description: Final location id schema: type: string trait_queryable_configuration_id: name: remoteStorageConfigurationId in: query description: Remote storage configuration id schema: type: string trait_pageable_offset: name: offset in: query description: Skip over a number of elements by specifying an offset value for the query schema: default: 0 minimum: 0 maximum: 2147483647 type: integer responses: trait_validate_422: description: Validation errors content: application/json: example: examples/errors.sample schema: $ref: '#/components/schemas/errors' x-refined-from: - folio-mod-remote-storage-openapi.json - folio-mod-remote-storage-openapi.yml