openapi: 3.2.0 info: title: Folio Capability API version: v1 description: 'Operations tagged capability across 2 of this provider''s published API definitions: folio-mod-roles-keycloak-openapi.json, folio-mod-roles-keycloak-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: http://localhost:8081 description: Locally deployed server tags: - name: Capability paths: /capabilities: get: description: Get capabilities by query operationId: findCapabilities tags: - Capability parameters: - $ref: '#/components/parameters/query' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: A collection of capabilities content: application/json: schema: $ref: '#/components/schemas/capabilities' example: $ref: '#/components/examples/capabilitiesResponse' '400': $ref: '#/components/responses/badRequestResponse' '500': $ref: '#/components/responses/internalServerErrorResponse' summary: Find capabilities x-summary-source: derived servers: - url: http://localhost:8081 description: Locally deployed server /capabilities/{id}: get: description: Get capability by ID operationId: getCapabilityById tags: - Capability parameters: - $ref: '#/components/parameters/pathEntityId' responses: '200': description: Retrieve a capability set by id content: application/json: schema: $ref: '#/components/schemas/capability' example: $ref: '#/components/examples/capabilityResponse' '404': $ref: '#/components/responses/notFoundResponse' '500': $ref: '#/components/responses/internalServerErrorResponse' summary: Get capability by id x-summary-source: derived servers: - url: http://localhost:8081 description: Locally deployed server /capability-sets/{id}/capabilities: get: description: Find capabilities by capability set ID operationId: findCapabilitiesByCapabilitySetId tags: - Capability parameters: - $ref: '#/components/parameters/pathEntityId' - $ref: '#/components/parameters/includeDummy' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Retrieve a capabilities by capability set ID content: application/json: schema: $ref: '#/components/schemas/capabilities' example: $ref: '#/components/examples/capabilitiesResponse' '404': $ref: '#/components/responses/notFoundResponse' '500': $ref: '#/components/responses/internalServerErrorResponse' summary: Find capabilities by capability set id x-summary-source: derived servers: - url: http://localhost:8081 description: Locally deployed server components: schemas: endpoint: $schema: http://json-schema.org/draft-04/schema# type: object id: endpoint.json description: Object containing the details of the http-endpoint. properties: path: type: string description: Endpoint's static path / expression method: description: Http Method $ref: '#/components/schemas/httpMethod' capabilityAction: $schema: http://json-schema.org/draft-04/schema# description: The action this capability is associated with, e.g. create type: string enum: - view - create - edit - delete - manage - execute httpMethod: $schema: http://json-schema.org/draft-04/schema# description: Http Method type: string enum: - GET - HEAD - POST - PUT - PATCH - DELETE - OPTIONS - TRACE errors: description: A set of errors $schema: http://json-schema.org/draft-04/schema# type: object capabilities: $schema: http://json-schema.org/draft-04/schema# title: Capabilities Object Schema description: Response body containing capability records type: object properties: capabilities: description: A collection of capability sets type: array items: $ref: '#/components/schemas/capability' minItems: 1 totalRecords: readOnly: true description: The total number of records matching the provided criteria type: integer format: int64 required: - capabilities capabilityType: $schema: http://json-schema.org/draft-04/schema# description: The type of capability type: string enum: - settings - data - procedural capability: $schema: http://json-schema.org/draft-04/schema# type: object title: Capability Set Object Schema description: Object containing details of a capability properties: id: description: A unique identifier for this capability type: string format: uuid name: description: a human-readable name/label for this capability. Takes the form of {resourceName}.{scope}, e.g. item.create type: string readOnly: true description: description: Free form description of the capability type: string resource: description: The resource this capability is associated with, e.g. item type: string pattern: ^[A-Za-z\s]+$ action: description: The action this capability is associated with, e.g. create $ref: '#/components/schemas/capabilityAction' applicationId: description: The id of the application which defines the capability type: string moduleId: description: The id of the module which defines the capability type: string permission: description: Folio permission name type: string endpoints: type: array description: List of assigned endpoints items: $ref: '#/components/schemas/endpoint' dummyCapability: description: Is capability dummy type: boolean type: description: The type of capability $ref: '#/components/schemas/capabilityType' metadata: $ref: '#/components/schemas/metadata' readOnly: true visible: description: Is visible in UI type: boolean direct: description: Indicates whether the capability was directly assigned to the role (true) or inherited via a capability set (false). Populated only by GET /roles/{id}/capabilities. type: boolean readOnly: true required: - resource - action - permissions - type - applicationId 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) type: string format: uuid 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 format: uuid additionalProperties: false parameters: offset: in: query name: offset description: Skip over a number of elements by specifying an offset value for the query. required: false schema: type: integer default: 0 minimum: 0 example: 2 includeDummy: in: query name: includeDummy description: Include dummy capabilities. required: false schema: type: boolean default: false example: false pathEntityId: in: path required: true name: id description: Entity id schema: type: string format: uuid limit: in: query name: limit description: Limit the number of elements returned in the response. required: false schema: type: integer default: 10 minimum: 0 example: 20 query: in: query name: query description: A query string to filter users based on matching criteria in fields. required: false schema: type: string example: role responses: internalServerErrorResponse: description: Error response for unhandled or critical server exceptions, e.g. NullPointerException. content: application/json: schema: $ref: '#/components/schemas/errors' example: $ref: '#/components/examples/internalServerErrorResponse' notFoundResponse: description: Not found error response in JSON format for validation errors. content: application/json: schema: $ref: '#/components/schemas/errors' example: $ref: '#/components/examples/notFoundResponse' badRequestResponse: description: Error response in JSON format for validation errors. content: application/json: schema: $ref: '#/components/schemas/errors' example: $ref: '#/components/examples/badRequestResponse' examples: capabilitiesResponse: type: object description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API. x-ae-placeholder: true notFoundResponse: type: object description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API. x-ae-placeholder: true capabilityResponse: type: object description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API. x-ae-placeholder: true internalServerErrorResponse: type: object description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API. x-ae-placeholder: true badRequestResponse: type: object description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API. x-ae-placeholder: true x-refined-from: - folio-mod-roles-keycloak-openapi.json - folio-mod-roles-keycloak-openapi.yml