openapi: 3.2.0 info: title: Folio Courses API version: v1 description: 'Operations tagged Courses across 2 of this provider''s published API definitions: folio-edge-courses-openapi.json, folio-edge-courses-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: /courses/ tags: - name: Courses paths: /courses/courses: get: operationId: getCoursesByQuery summary: Retrieve courses associated with the keyword query from folio mod-courses description: Retrieve courses associated with the keyword query parameters: - $ref: '#/components/parameters/x-okapi-tenant-header' - $ref: '#/components/parameters/x-okapi-token-header' - $ref: '#/components/parameters/request-query-parameters' responses: '200': description: 'Calls the mod-courses GET /coursereserves/courses API and returns the result as-is. \ The example of response: https://github.com/folio-org/mod-courses/blob/master/ramls/examples/reserves.json ' content: application/json: schema: type: string '400': $ref: '#/components/responses/badRequestResponse' '500': $ref: '#/components/responses/internalServerErrorResponse' tags: - Courses servers: - url: /courses/ /courses/reserves: get: operationId: getReservesByQuery summary: Retrieve reserves associated with the keyword query from folio mod-courses description: Retrieve reserves associated with the keyword query parameters: - $ref: '#/components/parameters/x-okapi-tenant-header' - $ref: '#/components/parameters/x-okapi-token-header' - $ref: '#/components/parameters/request-query-parameters' responses: '200': description: 'Calls the mod-courses GET /coursereserves/reserves API and returns the result as-is. \ The example of response: https://github.com/folio-org/mod-courses/blob/master/ramls/examples/reserves.json ' content: application/json: schema: type: string '400': $ref: '#/components/responses/badRequestResponse' '500': $ref: '#/components/responses/internalServerErrorResponse' tags: - Courses servers: - url: /courses/ /courses/departments: get: operationId: getDepartments summary: Retrieve course departments parameters: - $ref: '#/components/parameters/x-okapi-tenant-header' - $ref: '#/components/parameters/x-okapi-token-header' - $ref: '#/components/parameters/request-query-parameters' responses: '200': description: 'Calls the mod-courses GET /coursereserves/departments API and returns the result as-is. \ The example of response: https://github.com/folio-org/mod-courses/blob/master/ramls/examples/departments.json ' content: application/json: schema: type: string '400': $ref: '#/components/responses/badRequestResponse' '500': $ref: '#/components/responses/internalServerErrorResponse' tags: - Courses servers: - url: /courses/ /courses/instructors: get: operationId: getInstructors summary: Retrieve course instructors parameters: - $ref: '#/components/parameters/x-okapi-tenant-header' - $ref: '#/components/parameters/x-okapi-token-header' - $ref: '#/components/parameters/request-query-parameters' - $ref: '#/components/parameters/sort-by' responses: '200': description: Calls the mod-courses GET /coursereserves/courselistings API and returns instructorObjects content: application/json: schema: $ref: '#/components/schemas/instructors' '400': $ref: '#/components/responses/badRequestResponse' '500': $ref: '#/components/responses/internalServerErrorResponse' tags: - Courses servers: - url: /courses/ /courses/courselistings/{instanceId}/reserves: get: operationId: getReservesByInstanceId summary: Retrieve reserves associated with the course instance id from folio mod-courses description: Retrieve reserves associated with course instance id parameters: - $ref: '#/components/parameters/instance-id-path' - $ref: '#/components/parameters/x-okapi-tenant-header' - $ref: '#/components/parameters/x-okapi-token-header' - $ref: '#/components/parameters/request-query-parameters' responses: '200': description: 'Calls the mod-courses GET /coursereserves/courselistings/{listing_id}/courses API and returns the result as-is. \ The example of response: https://github.com/folio-org/mod-courses/blob/master/ramls/examples/reserves.json ' content: application/json: schema: type: string '400': $ref: '#/components/responses/badRequestResponse' '500': $ref: '#/components/responses/internalServerErrorResponse' tags: - Courses servers: - url: /courses/ components: schemas: RequestQueryParameters: type: object properties: query: type: string description: A CQL query string with search conditions. minLength: 1 limit: type: integer description: Limit the number of elements returned in the response maximum: 2147483647 minimum: 0 default: 10 offset: type: integer description: Skip over a number of elements by specifying an offset value for the query maximum: 2147483647 minimum: 0 default: 0 lang: type: string description: Requested language default: en pattern: '[a-zA-Z]{2}' expand: type: string description: Whether or not to expand the id fields Error: type: object properties: code: description: Error status code type: integer errorMessage: description: Error message text type: string uuid: description: UUID type: string pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$ instructor_minimal: $schema: http://json-schema.org/draft-04/schema# type: object description: Describes an instructor for a given section additionalProperties: false properties: id: type: string description: UUID for this instructor $ref: '#/components/schemas/uuid' name: type: string description: The name of this instructor required: - name instructors: description: A collection of records type: object properties: instructors: description: List of instructors id: instructors type: array items: type: object $ref: '#/components/schemas/instructor_minimal' totalRecords: type: integer required: - instructors - totalRecords responses: internalServerErrorResponse: description: When unhandled exception occurred during code execution, e.g. NullPointerException content: application/json: example: code: 500 errorMessage: internal error schema: $ref: '#/components/schemas/Error' badRequestResponse: description: Validation errors content: application/json: example: code: 400 errorMessage: Validation error schema: $ref: '#/components/schemas/Error' parameters: sort-by: name: sortBy in: query description: Param to sort collection results by a specific field required: false example: sortBy=name/sort.descending schema: type: string pattern: ^(name|id)\/sort\.(ascending|descending)$ x-okapi-token-header: name: x-okapi-token in: header description: x-okapi-token header value required: false schema: type: string request-query-parameters: name: requestQueryParameters in: query description: Request query parameters(query, limit, offset and etc.) as object. schema: $ref: '#/components/schemas/RequestQueryParameters' instance-id-path: name: instanceId in: path description: Course Instance's UUID required: true schema: type: string pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$ x-okapi-tenant-header: name: x-okapi-tenant in: header description: x-okapi-tenant header value required: false schema: type: string x-refined-from: - folio-edge-courses-openapi.json - folio-edge-courses-openapi.yml