openapi: 3.2.0 info: title: Folio Role Capabilities API version: 0.0.1 description: 'Operations tagged role-capabilities across 2 of this provider''s published API definitions: folio-mod-consortia-keycloak-sharing-roles-openapi.json, folio-mod-consortia-keycloak-sharing-roles-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: /consortia/{consortiumId}/sharing tags: - name: role-capabilities paths: /roles/capabilities: post: summary: start sharing role capabilities operationId: startSharingRoleCapabilities tags: - role-capabilities parameters: - $ref: '#/components/parameters/consortiumId' requestBody: $ref: '#/components/requestBodies/SharingRoleCapabilityBody' responses: '201': $ref: '#/components/responses/SharingRoleCapabilityResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/Conflict' '500': $ref: '#/components/responses/InternalServerError' servers: - url: /consortia/{consortiumId}/sharing /roles/{roleId}/capabilities: delete: summary: delete sharing role capabilities operationId: deleteSharingRoleCapabilities tags: - role-capabilities parameters: - $ref: '#/components/parameters/consortiumId' - $ref: '#/components/parameters/roleId' requestBody: $ref: '#/components/requestBodies/SharingRoleCapabilityBody' responses: '200': $ref: '#/components/responses/SharingRoleCapabilityDeleteResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/Conflict' '500': $ref: '#/components/responses/InternalServerError' servers: - url: /consortia/{consortiumId}/sharing components: responses: SharingRoleCapabilityDeleteResponse: description: Returns a sharing role capability response for delete operation content: application/json: schema: $ref: '#/components/schemas/SharingRoleCapabilityDeleteResponse' example: pcIds: - 44a7e57b-c535-4ad1-bdb4-099d48f3fd37 - cf8fc598-fa4f-4a7d-9d1a-fdd3fac3cbd4 SharingRoleCapabilityResponse: description: Returns a sharing role capability object response for post operation content: application/json: schema: $ref: '#/components/schemas/SharingRoleCapabilityResponse' example: createPCIds: - 44a7e57b-c535-4ad1-bdb4-099d48f3fd37 - cf8fc598-fa4f-4a7d-9d1a-fdd3fac3cbd4 updatePCIds: - f3b1b1b4-4b1b-4b1b-4b1b-4b1b4b1b4b1b 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' Conflict: description: Validation errors content: application/json: schema: $ref: '#/components/schemas/Errors' schemas: SharingRoleCapabilityDeleteResponse: description: A JSON schema for the Sharing Role Capability object response for delete request type: object properties: pcIds: type: array items: type: string format: uuid additionalProperties: false required: - pcId 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 SharingRoleCapabilityRequest: description: A JSON schema for the Sharing Role Capabilities object type: object properties: roleId: description: id of sharing role record type: string format: uuid roleName: description: name of sharing role type: string url: description: URL for publishing requests for consortia tenants type: string payload: description: Http request body that contains roleId, capability names type: object additionalProperties: false required: - roleId - roleName - url 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 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 Parameters: description: List of key/value parameters of an error type: array items: $ref: '#/components/schemas/Parameter' additionalProperties: false uuid: type: string format: uuid SharingRoleCapabilityResponse: description: A JSON schema for the Sharing Role Capabilities object response for post request type: object properties: createPCIds: type: array items: type: string format: uuid updatePCIds: type: array items: type: string format: uuid additionalProperties: false required: - createPCIds - updatePCIds parameters: consortiumId: in: path name: consortiumId schema: $ref: '#/components/schemas/uuid' required: true description: The ID of consortium roleId: in: path name: roleId schema: $ref: '#/components/schemas/uuid' required: true description: The ID of role requestBodies: SharingRoleCapabilityBody: description: Sharing role capabilities object required: true content: application/json: schema: $ref: '#/components/schemas/SharingRoleCapabilityRequest' example: roleId: 5844767a-8367-4926-9999-514c35840399 roleName: don't panic url: /roles/capabilities payload: roleId: 5844767a-8367-4926-9999-514c35840399 capabilityNames: - account_item.view - account_item.create type: local x-refined-from: - folio-mod-consortia-keycloak-sharing-roles-openapi.json - folio-mod-consortia-keycloak-sharing-roles-openapi.yml