openapi: 3.2.0 info: title: Folio Configurations API version: v1 description: 'Operations tagged Configurations 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: Configurations paths: /configurations: get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/storageConfigurations' '500': description: Internal server error content: text/plain: schema: type: string example: Internal server error description: Get a list of remote storage configurations operationId: getConfigurations parameters: - $ref: '#/components/parameters/trait_pageable_offset' - $ref: '#/components/parameters/trait_pageable_limit' - $ref: '#/components/parameters/trait_queryable_query' tags: - Configurations summary: Get configurations x-summary-source: derived post: responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/storageConfiguration' '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 new remote storage configuration operationId: postConfiguration requestBody: content: application/json: schema: $ref: '#/components/schemas/storageConfiguration' required: true tags: - Configurations summary: Post configuration x-summary-source: derived servers: - url: /remote-storage/ /configurations/{configId}: parameters: - name: configId in: path required: true schema: $ref: '#/components/schemas/uuid' get: responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/storageConfiguration' '404': description: Configuration not found content: text/plain: schema: type: string example: Configuration not found '500': description: Internal server error content: text/plain: schema: type: string example: Internal server error operationId: getConfigurationById tags: - Configurations summary: Get configuration by id x-summary-source: derived put: responses: '204': description: No content content: text/plain: schema: type: string example: No content '400': description: Bad request content: text/plain: schema: type: string example: Bad request '404': description: Configuration not found content: text/plain: schema: type: string example: Configuration not found '500': description: Internal server error content: text/plain: schema: type: string example: Internal server error description: Change the remote storage configuration operationId: putConfiguration requestBody: content: application/json: schema: $ref: '#/components/schemas/storageConfiguration' required: true tags: - Configurations summary: Put configuration x-summary-source: derived delete: responses: '204': description: No content content: text/plain: schema: type: string example: No content '404': description: Configuration not found content: text/plain: schema: type: string example: Configuration not found '500': description: Internal server error content: text/plain: schema: type: string example: Internal server error operationId: deleteConfigurationById tags: - Configurations summary: Delete configuration 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 accessionWorkflowDetails: $schema: http://json-schema.org/draft-04/schema# description: Accession workflow details type: string enum: - Duplicate holdings - Change permanent location returningWorkflowDetails: $schema: http://json-schema.org/draft-04/schema# description: Return workflow details type: string enum: - Scanned to folio - Scanned to CaiaSoft 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 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 timeUnits: $schema: http://json-schema.org/draft-04/schema# description: Time units type: string enum: - minutes - hours - days - weeks - months 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}$ storageConfiguration: $schema: http://json-schema.org/draft-04/schema# description: Remote storage configuration type: object properties: id: description: configuration id $ref: '#/components/schemas/uuid' name: description: configuration name type: string apiKey: description: remote storage apiKey type: string providerName: description: remote storage provider name type: string url: description: remote storage url type: string statusUrl: description: remote storage url type: string accessionDelay: description: accession schedule delay type: integer minimum: 1 accessionTimeUnit: description: accession schedule time unit type: object $ref: '#/components/schemas/timeUnits' accessionWorkflowDetails: description: accession workflow details type: object $ref: '#/components/schemas/accessionWorkflowDetails' returningWorkflowDetails: description: return workflow details type: object $ref: '#/components/schemas/returningWorkflowDetails' metadata: description: Entity metadata type: object $ref: '#/components/schemas/metadata' additionalProperties: false required: - name - providerName storageConfigurations: allOf: - $ref: '#/components/schemas/baseCollection' - type: object properties: configurations: type: array items: $ref: '#/components/schemas/storageConfiguration' required: - configurations 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 metadata: $schema: http://json-schema.org/draft-04/schema# title: Metadata Schema description: Metadata about creation and changes to records, provided by the server (client should not provide) type: object properties: createdDate: description: Date and time when the record was created type: string format: date-time createdByUserId: description: ID of the user who created the record (when available) $ref: '#/components/schemas/uuid' createdByUsername: description: Username of the user who created the record (when available) type: string updatedDate: description: Date and time when the record was last updated type: string format: date-time updatedByUserId: description: ID of the user who last updated the record (when available) $ref: '#/components/schemas/uuid' updatedByUsername: description: Username of the user who last updated the record (when available) type: string additionalProperties: false required: - createdDate 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_query: name: query in: query description: A query string to filter rules based on matching criteria in fields. 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