openapi: 3.2.0 info: title: Folio Publications API version: 0.0.1 description: 'Operations tagged Publications across 3 of this provider''s published API definitions: folio-mod-consortia-keycloak-publications-openapi.json, folio-mod-consortia-keycloak-publications-openapi.yml, folio-mod-consortia-publications-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: /consortia/{consortiumId}/ tags: - name: Publications paths: /publications: post: summary: Send post requests to the tenants operationId: publishRequests parameters: - $ref: '#/components/parameters/consortiumId' responses: '201': $ref: '#/components/responses/Publication' '400': $ref: '#/components/responses/BadRequest' '409': $ref: '#/components/responses/Conflict' '500': $ref: '#/components/responses/InternalServerError' requestBody: $ref: '#/components/requestBodies/Publication' tags: - Publications servers: - url: /consortia/{consortiumId}/ /publications/{publicationId}: get: summary: Get publication details operationId: getPublicationDetails parameters: - $ref: '#/components/parameters/consortiumId' - $ref: '#/components/parameters/publicationId' responses: '200': $ref: '#/components/responses/PublicationDetails' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' tags: - Publications delete: summary: Delete publication by Id operationId: deletePublicationById parameters: - $ref: '#/components/parameters/consortiumId' - $ref: '#/components/parameters/publicationId' responses: '204': $ref: '#/components/responses/NoContent' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' tags: - Publications servers: - url: /consortia/{consortiumId}/ /publications/{publicationId}/results: get: summary: Get publication results operationId: getPublicationResults parameters: - $ref: '#/components/parameters/consortiumId' - $ref: '#/components/parameters/publicationId' responses: '200': $ref: '#/components/responses/PublicationResultCollection' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' tags: - Publications servers: - url: /consortia/{consortiumId}/ components: schemas: PublicationStatusError: description: publication status error properties: tenantId: description: tenant name which failed to execute request type: string errorMessage: description: error message of failed request type: string errorCode: description: error code of failed request type: integer PublicationResponse: type: object title: Publication response properties: id: description: id of publication record $ref: '#/components/schemas/uuid' status: type: string $ref: '#/components/schemas/PublicationStatus' additionalProperties: false PublicationRequest: type: object title: Publication request properties: url: description: URL for publishing requests for consortia tenants type: string method: description: HTTP method type: string tenants: description: Set of tenants to be requested type: array uniqueItems: true items: type: string payload: description: Http request body type: object additionalProperties: false required: - url - method PublicationResultCollection: description: A JSON schema for the publication result collection type: object properties: publicationResults: type: array description: The list of publication results items: type: object $ref: '#/components/schemas/PublicationResult' totalRecords: type: integer Parameters: description: List of key/value parameters of an error type: array items: $ref: '#/components/schemas/Parameter' additionalProperties: false Error: description: An error type: object properties: message: type: string minLength: 1 description: Error message text type: type: string description: Error message type code: type: string description: Error message code parameters: description: Error message parameters $ref: '#/components/schemas/Parameters' additionalProperties: false required: - message Errors: description: A set of errors type: object properties: errors: description: List of errors type: array items: type: object $ref: '#/components/schemas/Error' total_records: description: Total number of errors type: integer additionalProperties: false PublicationDetailsResponse: type: object title: Publication details response properties: id: description: id of publication record $ref: '#/components/schemas/uuid' status: type: string $ref: '#/components/schemas/PublicationStatus' dateTime: description: the date of publication was created type: string request: description: tenant request payload type: string errors: description: List of errors type: array items: type: object $ref: '#/components/schemas/PublicationStatusError' additionalProperties: false PublicationStatus: description: publication status enum: - IN_PROGRESS - ERROR - COMPLETE uuid: type: string format: uuid PublicationResult: description: publication result properties: tenantId: description: tenant name type: string response: description: response message of tenant request type: string statusCode: description: response code of tenant request type: integer Parameter: description: List of key/value parameters of an error type: object properties: key: type: string minLength: 1 value: type: string additionalProperties: false required: - key requestBodies: Publication: description: Publish coordinator request required: true content: application/json: schema: $ref: '#/components/schemas/PublicationRequest' parameters: publicationId: in: path name: publicationId schema: $ref: '#/components/schemas/uuid' required: true description: The ID of the publication consortiumId: in: path name: consortiumId schema: $ref: '#/components/schemas/uuid' required: true description: The ID of consortium responses: PublicationResultCollection: description: Returns a publish coordinator results content: application/json: schema: $ref: '#/components/schemas/PublicationResultCollection' NoContent: description: No content Publication: description: Returns a publish coordinator object content: application/json: schema: $ref: '#/components/schemas/PublicationResponse' PublicationDetails: description: Returns a publish coordinator request details content: application/json: schema: $ref: '#/components/schemas/PublicationDetailsResponse' Conflict: description: Validation errors content: application/json: schema: $ref: '#/components/schemas/Errors' InternalServerError: description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: Bad request content: application/json: schema: $ref: '#/components/schemas/Errors' NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Errors' x-refined-from: - folio-mod-consortia-keycloak-publications-openapi.json - folio-mod-consortia-keycloak-publications-openapi.yml - folio-mod-consortia-publications-openapi.yml