openapi: 3.2.0 info: title: Folio Contributions API version: v1 description: 'Operations tagged contributions across 2 of this provider''s published API definitions: folio-mod-inn-reach-contribution-openapi.json, folio-mod-inn-reach-contribution-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: /inn-reach/ tags: - name: Contributions paths: /central-servers/{centralServerId}/contributions/current: get: description: Get current INN-Reach contribution for the given central server operationId: getCurrentContributionByServerId tags: - Contributions responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/contributionDTO' '400': $ref: '#/components/responses/trait_response_malformed_query_400' '500': $ref: '#/components/responses/trait_response_500' parameters: - $ref: '#/components/parameters/centralServerId' summary: Get current contribution by server id x-summary-source: derived delete: description: Cancel current INN-Reach contribution for the given central server operationId: cancelCurrentContributionByServerId tags: - Contributions responses: '204': description: Initial contribution process canceled '400': $ref: '#/components/responses/trait_response_malformed_query_400' '500': $ref: '#/components/responses/trait_response_500' parameters: - $ref: '#/components/parameters/centralServerId' summary: Cancel current contribution by server id x-summary-source: derived servers: - url: /inn-reach/ /central-servers/{centralServerId}/contributions/history: get: description: Get a list of Inn-Reach contributions for the given central server operationId: getContributionHistoryByServerId tags: - Contributions responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/contributionsDTO' '400': $ref: '#/components/responses/trait_response_malformed_query_400' '500': $ref: '#/components/responses/trait_response_500' parameters: - $ref: '#/components/parameters/centralServerId' - $ref: '#/components/parameters/trait_pageable_offset' - $ref: '#/components/parameters/trait_pageable_limit' summary: Get contribution history by server id x-summary-source: derived servers: - url: /inn-reach/ /central-servers/{centralServerId}/contributions: post: description: Start initial contribution process operationId: startInitialContribution tags: - Contributions responses: '201': description: Initial contribution process started '400': $ref: '#/components/responses/trait_response_validation_400' '500': $ref: '#/components/responses/trait_response_500' parameters: - $ref: '#/components/parameters/centralServerId' summary: Start initial contribution x-summary-source: derived servers: - url: /inn-reach/ components: schemas: validationErrorDTO: description: Validation error type: object properties: fieldName: type: string description: Field name message: type: string description: Validation error message text additionalProperties: false required: - fieldName - message contributionsDTO: $schema: http://json-schema.org/draft-04/schema# description: INN-Reach contribution history of job execution status tracking and basic statistics type: object properties: totalRecords: description: Total records type: integer contributionHistory: description: List of INN-Reach contribution job execution status tracking and basic statistics type: array items: $ref: '#/components/schemas/contributionDTO' additionalProperties: false required: - contributions mappingValidationStatusDTO: $schema: http://json-schema.org/draft-04/schema# description: Mapping validation status type: string enum: - Valid - Invalid additionalProperties: false 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 additionalProperties: false required: - message validationErrorsDTO: type: object properties: code: type: integer message: type: string validationErrors: type: array items: $ref: '#/components/schemas/validationErrorDTO' contributionDTO: $schema: http://json-schema.org/draft-04/schema# description: INN-Reach contribution job execution status tracking and basic statistics type: object properties: id: description: Contribution id type: string format: uuid jobId: description: Instance iteration job id type: string format: uuid itemTypeMappingStatus: description: Material type mapping validation status $ref: '#/components/schemas/mappingValidationStatusDTO' default: Invalid locationsMappingStatus: description: Location mapping validation status $ref: '#/components/schemas/mappingValidationStatusDTO' default: Invalid status: description: Status type: string enum: - In Progress - Complete - Not started - Cancelled default: Not started contributionStarted: description: Date and time when the contribution has started type: string format: date-time contributionStartedBy: description: Username of the user who started the contribution type: string contributionComplete: description: Date and time when the contribution has completed type: string format: date-time recordsTotal: description: Total number of FOLIO instance records type: integer format: int64 recordsProcessed: description: Total number of Processed records type: integer format: int64 recordsContributed: description: Total number of Contributed records type: integer format: int64 recordsUpdated: description: Total number of Updated records type: integer format: int64 recordsDecontributed: description: Total number of De-contributed records type: integer format: int64 readOnly: true errors: description: List of errors occurred type: array items: $ref: '#/components/schemas/contributionErrorDTO' metadata: description: Entity metadata type: object $ref: '#/components/schemas/metadata' additionalProperties: false required: - status - itemTypeMappingStatus - locationsMappingStatus metadata: 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) type: string pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ 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) type: string pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ updatedByUsername: description: Username of the user who last updated the record (when available) type: string additionalProperties: false required: - createdDate contributionErrorDTO: $schema: http://json-schema.org/draft-04/schema# description: INN-Reach contribution job execution status tracking and basic statistics type: object properties: id: description: Contribution id type: string format: uuid message: description: Error message (cause) type: string recordId: description: Id of instance record which has not been processed due to error type: string format: uuid additionalProperties: false required: - message - recordId responses: trait_response_validation_400: description: Bad request content: application/json: schema: $ref: '#/components/schemas/validationErrorsDTO' trait_response_malformed_query_400: description: Bad request, e.g. malformed query parameter. content: application/json: example: value: $ref: examples/error.sample schema: $ref: '#/components/schemas/Error' trait_response_500: description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' 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_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 centralServerId: name: centralServerId in: path required: true schema: type: string format: uuid x-refined-from: - folio-mod-inn-reach-contribution-openapi.json - folio-mod-inn-reach-contribution-openapi.yml