openapi: 3.2.0 info: title: Folio Module Bootstrap API version: v1 description: 'Operations tagged module-bootstrap across 2 of this provider''s published API definitions: folio-mgr-applications-am-openapi.json, folio-mgr-applications-am-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: module-bootstrap paths: /modules/{id}: get: operationId: getModuleBootstrap description: Retrieve bootstrap information for module referenced by id tags: - module-bootstrap parameters: - $ref: '#/components/parameters/path-entity-id' responses: '200': description: A module bootstrap info content: application/json: schema: $ref: '#/components/schemas/moduleBootstrap' '404': $ref: '#/components/responses/entity-not-found' '500': $ref: '#/components/responses/internal-server-error' summary: Get module bootstrap x-summary-source: derived servers: - url: http://localhost:8081 description: Locally deployed server /modules/{id}/bootstrap: get: operationId: getModuleIngressBootstrap description: Retrieve ingress bootstrap (the module's own routes only) for the module referenced by id tags: - module-bootstrap parameters: - $ref: '#/components/parameters/path-entity-id' responses: '200': description: Ingress bootstrap info (module with empty requiredModules) content: application/json: schema: $ref: '#/components/schemas/moduleBootstrap' '404': $ref: '#/components/responses/entity-not-found' '500': $ref: '#/components/responses/internal-server-error' summary: Get module ingress bootstrap x-summary-source: derived post: operationId: getModuleEgressBootstrap description: Retrieve egress bootstrap (required/optional modules) for the module referenced by id, restricted to the supplied application scope tags: - module-bootstrap parameters: - $ref: '#/components/parameters/path-entity-id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/egressBootstrapRequest' responses: '200': description: Egress bootstrap result scoped to the supplied applicationIds content: application/json: schema: $ref: '#/components/schemas/egressBootstrap' '400': $ref: '#/components/responses/bad-request' '404': $ref: '#/components/responses/entity-not-found' '500': $ref: '#/components/responses/internal-server-error' summary: Get module egress bootstrap x-summary-source: derived servers: - url: http://localhost:8081 description: Locally deployed server components: responses: bad-request: description: Error response if request body contains validation error (in json format) content: application/json: schema: $ref: '#/components/schemas/errors' entity-not-found: description: Error response if entity is not found by id (in json format) content: application/json: schema: $ref: '#/components/schemas/errors' internal-server-error: description: Error response for unhandled or critical server exceptions, e.g. NullPointerException. content: application/json: schema: $ref: '#/components/schemas/errors' schemas: parameter: description: List of key/value parameters of an error $schema: http://json-schema.org/draft-04/schema# type: object properties: key: description: Parameter key type: string value: description: Parameter value type: string moduleBootstrapDiscovery: $schema: http://json-schema.org/draft-04/schema# description: A Module bootstrap discovery information type: object properties: moduleId: description: Module ID type: string applicationId: description: Application ID type: string location: description: Module location type: string systemUserRequired: description: Whether the module requires system user or not type: boolean default: false interfaces: description: Provided interfaces type: array items: $ref: '#/components/schemas/moduleBootstrapInterface' required: - moduleId - applicationId parameters: description: List of key/value parameters of an error $schema: http://json-schema.org/draft-04/schema# type: array items: $ref: '#/components/schemas/parameter' moduleBootstrapInterface: $schema: http://json-schema.org/draft-04/schema# description: An interface that a module can provide type: object properties: id: description: Interface ID type: string version: description: Interface version in major.minor format type: string interfaceType: description: Interface type type: string endpoints: description: Endpoint entries for this interface type: array items: $ref: '#/components/schemas/moduleBootstrapEndpoint' required: - id - version - endpoints errorCode: $schema: http://json-schema.org/draft-04/schema# type: string description: Error message code enum: - unknown_error - service_error - validation_error - not_found_error - found_error moduleBootstrap: $schema: http://json-schema.org/draft-04/schema# type: object description: Bootstrap information of the module properties: module: description: Discovery information of the module $ref: '#/components/schemas/moduleBootstrapDiscovery' requiredModules: description: Discovery information for the required modules type: array items: $ref: '#/components/schemas/moduleBootstrapDiscovery' required: - module error: description: An error $schema: http://json-schema.org/draft-04/schema# type: object properties: message: type: string description: Error message text type: type: string description: Error message type code: description: Error message code $ref: '#/components/schemas/errorCode' parameters: description: Error message parameters $ref: '#/components/schemas/parameters' errors: description: A set of errors $schema: http://json-schema.org/draft-04/schema# type: object properties: errors: id: errors description: List of errors type: array items: $ref: '#/components/schemas/error' total_records: description: Total number of errors type: integer moduleBootstrapEndpoint: $schema: http://json-schema.org/draft-04/schema# description: An endpoint that an interface can provide type: object properties: methods: description: List of methods GET, POST,.. * (for all) type: array items: type: string pathPattern: description: Path pattern match. * matches any path. {x} matches one or more characters but not slash type: string path: description: Path prefix match type: string permissionsRequired: description: Required permissions type: array items: type: string permissionsDesired: description: Desired permissions type: array items: type: string modulePermissions: description: Module permissions type: array items: type: string egressBootstrapRequest: $schema: http://json-schema.org/draft-04/schema# type: object description: Request for egress module bootstrap. Required-module resolution is restricted to providers within the supplied application scope. properties: applicationIds: description: Application IDs that define the egress resolution scope. type: array items: type: string minItems: 1 required: - applicationIds egressBootstrap: $schema: http://json-schema.org/draft-04/schema# type: object description: 'Egress bootstrap: discovery information for the required/optional modules, resolved within a requested application scope.' properties: requiredModules: description: Discovery information for the required/optional modules within scope type: array items: $ref: '#/components/schemas/moduleBootstrapDiscovery' required: - requiredModules parameters: path-entity-id: in: path required: true name: id description: Entity/document id schema: type: string x-refined-from: - folio-mgr-applications-am-openapi.json - folio-mgr-applications-am-openapi.yml