openapi: 3.2.0 info: title: Folio Mediated Requests Crud API version: v1 description: 'Operations tagged mediatedRequestsCrud across 2 of this provider''s published API definitions: folio-mod-requests-mediated-openapi.json, folio-mod-requests-mediated-openapi.yml. Each path carries the servers of the definition it was published in.' tags: - name: mediatedRequestsCrud paths: /requests-mediated/mediated-requests: post: description: Create mediated request operationId: postMediatedRequest tags: - mediatedRequestsCrud requestBody: content: application/json: schema: $ref: '#/components/schemas/MediatedRequest' required: true responses: '201': $ref: '#/components/responses/mediatedRequest' '400': $ref: '#/components/responses/badRequestResponse' '422': $ref: '#/components/responses/badRequestResponse' '500': $ref: '#/components/responses/internalServerErrorResponse' summary: Post mediated request x-summary-source: derived get: description: Retrieve a collection of mediated requests operationId: getMediatedRequestCollection tags: - mediatedRequestsCrud parameters: - $ref: '#/components/parameters/trait_queryable_query' - $ref: '#/components/parameters/trait_pageable_offset' - $ref: '#/components/parameters/trait_pageable_limit' responses: '200': $ref: '#/components/responses/mediatedRequests' '400': description: Bad request content: text/plain: schema: type: string example: Bad request '500': description: Internal server error content: text/plain: schema: type: string example: Internal server error summary: Get mediated request collection x-summary-source: derived /requests-mediated/mediated-requests/{mediatedRequestId}: get: description: Retrieve mediated request object by id operationId: getMediatedRequestById tags: - mediatedRequestsCrud parameters: - $ref: '#/components/parameters/mediatedRequestId' responses: '200': $ref: '#/components/responses/mediatedRequest' '400': description: Bad request content: text/plain: schema: type: string example: Bad request '404': description: Not found content: text/plain: schema: type: string example: Not found '500': description: Internal server error content: text/plain: schema: type: string example: Internal server error summary: Get mediated request by id x-summary-source: derived put: description: Update mediated request by ID operationId: putMediatedRequestById tags: - mediatedRequestsCrud requestBody: content: application/json: schema: $ref: '#/components/schemas/MediatedRequest' required: true parameters: - $ref: '#/components/parameters/mediatedRequestId' responses: '204': description: Mediated request successfully updated '400': $ref: '#/components/responses/badRequestResponse' '404': $ref: '#/components/responses/notFoundResponse' '500': $ref: '#/components/responses/internalServerErrorResponse' summary: Put mediated request by id x-summary-source: derived delete: description: Remove mediated request by ID operationId: deleteMediatedRequestById tags: - mediatedRequestsCrud parameters: - $ref: '#/components/parameters/mediatedRequestId' responses: '204': description: Mediated request successfully removed '400': $ref: '#/components/responses/badRequestResponse' '404': $ref: '#/components/responses/notFoundResponse' '500': $ref: '#/components/responses/internalServerErrorResponse' summary: Delete mediated request by id x-summary-source: derived components: schemas: parameter: description: List of key/value parameters of an error type: object properties: key: description: Parameter key type: string value: description: Parameter value type: string 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 MediatedRequest: description: Mediated request type: object properties: id: description: ID of the mediated request $ref: '#/components/schemas/uuid' requestLevel: description: Level of the request - Item or Title type: string enum: - Item - Title requestType: description: Whether the item should be held upon return, recalled or paged for type: string enum: - Hold - Recall - Page requestDate: description: Date when the request was placed type: string format: date-time patronComments: description: Comments made by the patron type: string requesterId: description: ID of the requesting patron (user) $ref: '#/components/schemas/uuid' requester: description: Copy of some requester data type: object properties: firstName: description: First name of the requester type: string lastName: description: Last name of the requester type: string middleName: description: Middle name of the requester type: string barcode: description: Barcode of the requester type: string patronGroupId: description: Patron group ID of the requester $ref: '#/components/schemas/uuid' patronGroup: description: Patron group of the requester type: object properties: id: description: Patron group ID $ref: '#/components/schemas/uuid' group: description: Patron group name type: string desc: description: Patron group description type: string additionalProperties: false proxyUserId: description: ID of the proxy user $ref: '#/components/schemas/uuid' proxy: description: Copy of some proxy patron data type: object properties: firstName: description: First name of the proxy patron type: string lastName: description: Last name of the proxy patron type: string middleName: description: Middle name of the proxy patron type: string barcode: description: Barcode of the proxy patron type: string patronGroupId: description: Patron group ID of the proxy patron $ref: '#/components/schemas/uuid' patronGroup: description: Patron group of the proxy patron type: object properties: id: description: Patron group ID $ref: '#/components/schemas/uuid' group: description: Patron group name type: string desc: description: Patron group description type: string additionalProperties: false instanceId: description: ID of the instance $ref: '#/components/schemas/uuid' instance: description: Copy of some instance data type: object properties: title: description: Title of the instance", type: string identifiers: description: An extensible set of name-value pairs of identifiers associated with the resource type: array items: type: object properties: identifierTypeId: description: UUID of resource identifier type (e.g. ISBN, ISSN, LCCN, CODEN, Locally defined identifiers) $ref: '#/components/schemas/uuid' value: description: Resource identifier value type: string additionalProperties: false required: - identifierTypeId - value contributorNames: description: A list of contributor names type: array items: type: object properties: name: description: Contributor name type: string additionalProperties: false publication: description: Publication information type: array items: type: object properties: publisher: description: Name of the publisher type: string place: description: Place of publication type: string dateOfPublication: description: Date of publication type: string role: description: Role of the publisher type: string additionalProperties: false editions: description: The edition statement, imprint and other publication source information type: array items: type: string hrid: description: The human readable ID, also called eye readable ID. A system-assigned sequential ID which maps to the Instance ID type: string additionalProperties: false required: - title - identifiers holdingsRecordId: description: ID of the holdings record $ref: '#/components/schemas/uuid' itemId: description: ID of the item $ref: '#/components/schemas/uuid' item: description: Copy of some item data type: object properties: barcode: description: Barcode of the item type: string location: description: Effective location of the item type: object properties: name: description: Name of the location type: string libraryName: description: Library name of the location type: string code: description: Code of the location type: string additionalProperties: false enumeration: description: Enumeration of the item type: string volume: description: Volume of the item type: string chronology: description: Chronology of the item type: string displaySummary: description: Display summary of the item type: string status: description: Status of the item type: string callNumber: description: Call number of the item type: string callNumberComponents: description: Components of the item's call number type: object properties: callNumber: description: Call number of the item type: string prefix: description: Prefix of the item's call number type: string suffix: description: Suffix of the item's call number type: string additionalProperties: false copyNumber: description: Copy number of the item type: string additionalProperties: false mediatedWorkflow: description: Mediated workflow that mediated request follows type: string mediatedRequestStatus: description: Status of the mediated request type: string enum: - New - Open - Closed mediatedRequestStep: description: Step of the mediated request in mediated workflow type: string status: description: Status of the mediated request type: string enum: - New - Awaiting confirmation - Open - Not yet filled - Open - In transit for approval - Open - Item arrived - Open - In transit to be checked out - Open - Awaiting pickup - Open - Awaiting delivery - Closed - Cancelled - Closed - Declined - Closed - Filled cancellationReasonId: description: ID of the cancellation reason $ref: '#/components/schemas/uuid' cancelledByUserId: description: ID of the user that cancelled mediated request $ref: '#/components/schemas/uuid' cancellationAdditionalInformation: description: Additional information about mediated request cancellation type: string cancelledDate: description: Date when the request was cancelled type: string format: date-time position: description: Position of the mediated request in the queue type: integer fulfillmentPreference: description: How should the request be fulfilled (whether the item should be kept on the hold shelf for collection or delivered to the requester) type: string enum: - Hold Shelf - Delivery deliveryAddressTypeId: description: ID of the delivery address type $ref: '#/components/schemas/uuid' deliveryAddress: description: Delivery address type: object properties: addressTypeId: description: ID of the delivery address type type: string addressLine1: description: Address line 1 type: string addressLine2: description: Address line 2 type: string city: description: City type: string region: description: Region type: string postalCode: description: Postal code type: string countryId: description: Country ID type: string additionalProperties: false pickupServicePointId: description: ID of the pickup service point $ref: '#/components/schemas/uuid' pickupServicePoint: description: Pickup service point type: object properties: name: description: Pickup service point name type: string code: description: Pickup service point code type: string discoveryDisplayName: description: Pickup service point discovery display name type: string description: description: Pickup service point description type: string shelvingLagTime: description: Pickup service point description type: integer pickupLocation: description: Whether pickup service point is a pickup location type: boolean additionalProperties: false confirmedRequestId: description: Confirmed circulation request ID $ref: '#/components/schemas/uuid' searchIndex: description: Request fields used for search type: object properties: callNumberComponents: description: Effective call number components type: object properties: callNumber: description: Effective Call Number is an identifier assigned to an item or its holding and associated with the item type: string prefix: description: Effective Call Number Prefix is the prefix of the identifier assigned to an item or its holding and associated with the item type: string suffix: description: Effective Call Number Suffix is the suffix of the identifier assigned to an item or its holding and associated with the item type: string additionalProperties: false shelvingOrder: description: A system generated normalization of the call number that allows for call number sorting in reports and search results type: string pickupServicePointName: description: The name of the request pickup service point type: string additionalProperties: false metadata: description: Mediated request metadata type: object $ref: '#/components/schemas/metadata' additionalProperties: false required: - requestLevel - requestDate - requesterId - instanceId errors: 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 error: 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 uuid: $schema: http://json-schema.org/draft-04/schema# description: A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/ 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}$ parameters: description: List of key/value parameters of an error type: array items: type: object $ref: '#/components/schemas/parameter' MediatedRequests: description: Collection of mediated requests type: object properties: mediatedRequests: description: A list of mediated requests type: array items: $ref: '#/components/schemas/MediatedRequest' totalRecords: description: Total number of mediated requests type: integer format: int64 responses: mediatedRequest: description: Mediated request object content: application/json: schema: $ref: '#/components/schemas/MediatedRequest' examples: objectExample: value: id: 69abbd7d-b4a6-4376-8453-bf349c579a91 requestLevel: Title requestType: Hold requestDate: '2024-01-01T00:12:00Z' patronComments: '' requesterId: 73b17dee-d278-4128-b0fd-5d9f801b0400 requester: firstName: First lastName: Last middleName: Middle barcode: '123' patronGroupId: 358837c8-d6fe-4bd5-b82a-ae6e76c93e61 patronGroup: id: 358837c8-d6fe-4bd5-b82a-ae6e76c93e61 group: default-requester-patron-group desc: default-requester-patron-group-desc proxyUserId: 13e309c8-d501-4c3b-9cbc-d573621bb62c proxy: firstName: ProxyFirst lastName: ProxyLast middleName: ProxyMiddle barcode: Proxy123 patronGroupId: e0630f6c-dda3-4494-ae23-5abaa8f1aabd patronGroup: id: e0630f6c-dda3-4494-ae23-5abaa8f1aabd group: default-proxy-patron-group desc: default-proxy-patron-group-desc instanceId: 6d996a75-930d-4ad1-a953-9b44c9021a35 instance: title: Children of Time identifiers: - value: 0123456789 identifierTypeId: 8261054f-9876-422d-bd51-4ed9f33c7654 - value: '98765432123456' identifierTypeId: 8261054f-9876-422d-bd51-4ed9f33c7654 contributorNames: - name: default-contributor publication: - publisher: default-publisher place: default-publication-place dateOfPublication: default-date-of-publication role: default-publication-role editions: - default-edition holdingsRecordId: null itemId: null item: barcode: '12345' location: name: default-location-name libraryName: default-library-name code: default-location-code enumeration: default-enumeration volume: default-volume chronology: default-chronology displaySummary: default-display-summary status: default-status callNumber: default-call-number callNumberComponents: callNumber: default-call-number prefix: default-call-number-prefix suffix: default-call-number-suffix copyNumber: default-cope-number mediatedWorkflow: Private request mediatedRequestStatus: New status: New - Awaiting confirmation cancellationReasonId: null cancelledByUserId: null cancellationAdditionalInformation: null cancelledDate: null position: 1 fulfillmentPreference: Hold Shelf deliveryAddressTypeId: null pickupServicePointId: b2ffa7df-98e8-48a1-b5a8-4e712364eb8d pickupServicePoint: name: default-pickup-sp-name code: default-pickup-sp-code discoveryDisplayName: default-pickup-sp-discovery-display-name description: default-pickup-sp-description shelvingLagTime: 1 pickupLocation: true confirmedRequestId: 0a034628-6eb6-4c66-9ea5-9eeea151c820 searchIndex: callNumberComponents: callNumber: F16.H37 A2 9001 prefix: pre suffix: suf shelvingOrder: F 416 H37 A2 59001 pickupServicePointName: Circ Desk 1 internalServerErrorResponse: description: When unhandled exception occurred during code execution, e.g. NullPointerException content: application/json: example: errors: - message: Unexpected error total_records: 1 schema: $ref: '#/components/schemas/errors' notFoundResponse: description: Not found content: application/json: example: errors: - message: Request not found total_records: 1 schema: $ref: '#/components/schemas/errors' mediatedRequests: description: A collection of mediated request objects content: application/json: schema: $ref: '#/components/schemas/MediatedRequests' examples: objectExample: value: mediatedRequests: - id: 69abbd7d-b4a6-4376-8453-bf349c579a91 requestLevel: Title requestType: Hold requestDate: '2024-01-01T00:12:00Z' patronComments: '' requesterId: 73b17dee-d278-4128-b0fd-5d9f801b0400 proxyUserId: 13e309c8-d501-4c3b-9cbc-d573621bb62c instanceId: 6d996a75-930d-4ad1-a953-9b44c9021a35 holdingsRecordId: null itemId: null status: New - Awaiting confirmation cancellationReasonId: null cancelledByUserId: null cancellationAdditionalInformation: null cancelledDate: null position: 1 fulfillmentPreference: Hold Shelf deliveryAddressTypeId: null pickupServicePointId: b2ffa7df-98e8-48a1-b5a8-4e712364eb8d totalRecords: 1 badRequestResponse: description: Invalid request response content: application/json: example: errors: - message: Request is invalid total_records: 1 schema: $ref: '#/components/schemas/errors' 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 mediatedRequestId: name: mediatedRequestId in: path required: true schema: type: string format: uuid 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 x-refined-from: - folio-mod-requests-mediated-openapi.json - folio-mod-requests-mediated-openapi.yml