UNPKG

@stackone/ai

Version:

Tools for agents to perform actions on your SaaS

1,487 lines 183 kB
//#region src/openapi/generated/lms.ts const lmsSpec = { openapi: "3.1.0", paths: { "/unified/lms/courses": { get: { operationId: "lms_list_courses", parameters: [ { name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "raw", required: false, in: "query", description: "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", schema: { nullable: true, type: "boolean" } }, { name: "proxy", required: false, in: "query", description: "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", style: "deepObject", explode: true, schema: { additionalProperties: true, nullable: true, type: "object" } }, { name: "fields", required: false, in: "query", description: "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", schema: { nullable: true, example: "id,remote_id,external_reference,content_ids,remote_content_ids,title,description,languages,cover_url,url,active,duration,categories,skills,updated_at,created_at,content,provider,localizations,authors", type: "string" } }, { name: "filter", required: false, in: "query", description: "LMS Courses Filter", explode: true, style: "deepObject", schema: { properties: { updated_after: { description: "Use a string with a date to only select results updated after that given date", example: "2020-01-01T00:00:00.000Z", type: "string", format: "date-time", nullable: true, additionalProperties: false }, external_reference: { description: "Filter to select courses by external_reference", type: "string", nullable: true }, active: { description: "Filter to allow filtering of only active courses", oneOf: [{ type: "boolean", const: true }, { type: "string", const: "true" }], nullable: true } }, nullable: true, type: "object" } }, { name: "page", required: false, in: "query", description: "The page number of the results to fetch", deprecated: true, schema: { nullable: true, type: "string" } }, { name: "page_size", required: false, in: "query", description: "The number of results per page (default value is 25)", schema: { nullable: true, type: "string" } }, { name: "next", required: false, in: "query", description: "The unified cursor", schema: { nullable: true, type: "string" } }, { name: "updated_after", required: false, in: "query", description: "Use a string with a date to only select results updated after that given date", deprecated: true, schema: { format: "date-time", nullable: true, example: "2020-01-01T00:00:00.000Z", type: "string" } } ], responses: { "200": { description: "The list of courses was retrieved.", content: { "application/json": { schema: { $ref: "#/components/schemas/CoursePaginated" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "List Courses", tags: ["Courses"], "x-speakeasy-group": "lms", "x-speakeasy-name-override": "list_courses", "x-speakeasy-pagination": { type: "cursor", inputs: [{ name: "next", in: "parameters", type: "cursor" }], outputs: { nextCursor: "$.next" } }, "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } } }, "/unified/lms/courses/{id}": { get: { operationId: "lms_get_course", parameters: [ { name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "id", required: true, in: "path", schema: { type: "string" } }, { name: "raw", required: false, in: "query", description: "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", schema: { nullable: true, type: "boolean" } }, { name: "proxy", required: false, in: "query", description: "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", schema: { additionalProperties: true, nullable: true, type: "object" } }, { name: "fields", required: false, in: "query", description: "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", schema: { nullable: true, example: "id,remote_id,external_reference,content_ids,remote_content_ids,title,description,languages,cover_url,url,active,duration,categories,skills,updated_at,created_at,content,provider,localizations,authors", type: "string" } } ], responses: { "200": { description: "The course with the given identifier was retrieved.", content: { "application/json": { schema: { $ref: "#/components/schemas/CourseResult" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "Get Course", tags: ["Courses"], "x-speakeasy-group": "lms", "x-speakeasy-name-override": "get_course", "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } } }, "/unified/lms/users/{id}/assignments": { get: { operationId: "lms_list_user_assignments", parameters: [ { name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "id", required: true, in: "path", schema: { type: "string" } }, { name: "raw", required: false, in: "query", description: "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", schema: { nullable: true, type: "boolean" } }, { name: "proxy", required: false, in: "query", description: "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", schema: { additionalProperties: true, nullable: true, type: "object" } }, { name: "fields", required: false, in: "query", description: "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", schema: { nullable: true, example: "id,remote_id,external_reference,user_id,remote_user_id,course_id,remote_course_id,updated_at,created_at,due_date,status,progress,learning_object_type,learning_object_id,remote_learning_object_id,learning_object_external_reference,certificate_url,result,completed_at", type: "string" } }, { name: "filter", required: false, in: "query", description: "LMS Assignment Filter", schema: { properties: { updated_after: { description: "Use a string with a date to only select results updated after that given date", example: "2020-01-01T00:00:00.000Z", type: "string", format: "date-time", nullable: true, additionalProperties: false }, status: { description: "Filter to select assignment by status", type: "string", enum: [ "pending", "in_progress", "completed", null ], nullable: true } }, nullable: true, type: "object" } }, { name: "page", required: false, in: "query", description: "The page number of the results to fetch", deprecated: true, schema: { nullable: true, type: "string" } }, { name: "page_size", required: false, in: "query", description: "The number of results per page (default value is 25)", schema: { nullable: true, type: "string" } }, { name: "next", required: false, in: "query", description: "The unified cursor", schema: { nullable: true, type: "string" } }, { name: "updated_after", required: false, in: "query", description: "Use a string with a date to only select results updated after that given date", deprecated: true, schema: { format: "date-time", nullable: true, example: "2020-01-01T00:00:00.000Z", type: "string" } }, { name: "user_id", required: false, in: "query", description: "The user ID associated with this assignment", schema: { nullable: true, example: "c28xyrc55866bvuv", type: "string" } }, { name: "remote_user_id", required: false, in: "query", description: "Provider's unique identifier of the user related to the assignment", schema: { nullable: true, example: "e3cb75bf-aa84-466e-a6c1-b8322b257a48", type: "string" } } ], responses: { "200": { description: "The assignments related to the employee with the given identifier were retrieved.", content: { "application/json": { schema: { $ref: "#/components/schemas/AssignmentsPaginated" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "List User Assignments", tags: ["Users", "Assignments"], "x-speakeasy-group": "lms", "x-speakeasy-name-override": "list_user_assignments", "x-speakeasy-pagination": { type: "cursor", inputs: [{ name: "next", in: "parameters", type: "cursor" }], outputs: { nextCursor: "$.next" } }, "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } }, post: { operationId: "lms_create_user_assignment", parameters: [{ name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "id", required: true, in: "path", schema: { type: "string" } }], requestBody: { required: true, content: { "application/json": { schema: { $ref: "#/components/schemas/LmsCreateAssignmentRequestDto" } } } }, responses: { "201": { description: "The assignment was created successfully.", content: { "application/json": { schema: { $ref: "#/components/schemas/CreateResult" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "Create User Assignment", tags: ["Users", "Assignments"], "x-speakeasy-group": "lms", "x-speakeasy-name-override": "create_user_assignment", "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } } }, "/unified/lms/users/{id}/assignments/{subResourceId}": { get: { operationId: "lms_get_user_assignment", parameters: [ { name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "id", required: true, in: "path", schema: { type: "string" } }, { name: "subResourceId", required: true, in: "path", schema: { type: "string" } }, { name: "raw", required: false, in: "query", description: "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", schema: { nullable: true, type: "boolean" } }, { name: "proxy", required: false, in: "query", description: "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", style: "deepObject", explode: true, schema: { additionalProperties: true, nullable: true, type: "object" } }, { name: "fields", required: false, in: "query", description: "The comma separated list of fields to return in the response (if empty, all fields are returned)", schema: { nullable: true, type: "string" } } ], responses: { "200": { description: "The assignment with the given identifier was retrieved.", content: { "application/json": { schema: { $ref: "#/components/schemas/AssignmentResult" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "Get User Assignment", tags: ["Users", "Assignments"], "x-speakeasy-group": "lms", "x-speakeasy-name-override": "get_user_assignment", "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } } }, "/unified/lms/content/batch": { post: { operationId: "lms_batch_upsert_content", parameters: [{ name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }], requestBody: { required: true, content: { "application/json": { schema: { $ref: "#/components/schemas/LmsBatchUpsertContentRequestDto" } } } }, responses: { "202": { description: "Batch operation accepted", content: { "application/json": { schema: { $ref: "#/components/schemas/BatchResultApiModel" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "Batch Upsert Content", tags: ["Content"], "x-speakeasy-group": "lms", "x-speakeasy-name-override": "batch_upsert_content", "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } } }, "/unified/lms/content": { get: { operationId: "lms_list_content", parameters: [ { name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "raw", required: false, in: "query", description: "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", schema: { nullable: true, type: "boolean" } }, { name: "proxy", required: false, in: "query", description: "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", style: "deepObject", explode: true, schema: { additionalProperties: true, nullable: true, type: "object" } }, { name: "fields", required: false, in: "query", description: "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", schema: { nullable: true, example: "id,remote_id,external_reference,course_ids,remote_course_ids,title,description,additional_data,languages,content_url,mobile_launch_content_url,content_type,cover_url,active,duration,order,categories,skills,updated_at,created_at,provider,localizations,tags,authors", type: "string" } }, { name: "filter", required: false, in: "query", description: "LMS Courses Filter", explode: true, style: "deepObject", schema: { properties: { updated_after: { description: "Use a string with a date to only select results updated after that given date", example: "2020-01-01T00:00:00.000Z", type: "string", format: "date-time", nullable: true, additionalProperties: false }, active: { description: "Filter to allow filtering of only active content", oneOf: [{ type: "boolean", const: true }, { type: "string", const: "true" }], nullable: true } }, nullable: true, type: "object" } }, { name: "page", required: false, in: "query", description: "The page number of the results to fetch", deprecated: true, schema: { nullable: true, type: "string" } }, { name: "page_size", required: false, in: "query", description: "The number of results per page (default value is 25)", schema: { nullable: true, type: "string" } }, { name: "next", required: false, in: "query", description: "The unified cursor", schema: { nullable: true, type: "string" } }, { name: "updated_after", required: false, in: "query", description: "Use a string with a date to only select results updated after that given date", deprecated: true, schema: { format: "date-time", nullable: true, example: "2020-01-01T00:00:00.000Z", type: "string" } } ], responses: { "200": { description: "The list of content was retrieved.", content: { "application/json": { schema: { $ref: "#/components/schemas/ContentPaginated" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "List Content", tags: ["Content"], "x-speakeasy-group": "lms", "x-speakeasy-name-override": "list_content", "x-speakeasy-pagination": { type: "cursor", inputs: [{ name: "next", in: "parameters", type: "cursor" }], outputs: { nextCursor: "$.next" } }, "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } }, put: { operationId: "lms_upsert_content", parameters: [{ name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }], requestBody: { required: true, content: { "application/json": { schema: { $ref: "#/components/schemas/LmsUpsertContentRequestDto" } } } }, responses: { "201": { description: "The content was upserted successfully.", content: { "application/json": { schema: { $ref: "#/components/schemas/UpsertResult" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "Upsert Content", tags: ["Content"], "x-speakeasy-group": "lms", "x-speakeasy-name-override": "upsert_content", "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } } }, "/unified/lms/content/{id}": { get: { operationId: "lms_get_content", parameters: [ { name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "id", required: true, in: "path", schema: { type: "string" } }, { name: "raw", required: false, in: "query", description: "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", schema: { nullable: true, type: "boolean" } }, { name: "proxy", required: false, in: "query", description: "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", schema: { additionalProperties: true, nullable: true, type: "object" } }, { name: "fields", required: false, in: "query", description: "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", schema: { nullable: true, example: "id,remote_id,external_reference,course_ids,remote_course_ids,title,description,additional_data,languages,content_url,mobile_launch_content_url,content_type,cover_url,active,duration,order,categories,skills,updated_at,created_at,provider,localizations,tags,authors", type: "string" } } ], responses: { "200": { description: "The content with the given identifier was retrieved.", content: { "application/json": { schema: { $ref: "#/components/schemas/ContentResult" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "Get Content", tags: ["Content"], "x-speakeasy-group": "lms", "x-speakeasy-name-override": "get_content", "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } }, patch: { operationId: "lms_update_content", parameters: [{ name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "id", required: true, in: "path", schema: { type: "string" } }], requestBody: { required: true, content: { "application/json": { schema: { $ref: "#/components/schemas/LmsCreateContentRequestDto" } } } }, responses: { "201": { description: "The content was updated successfully.", content: { "application/json": { schema: { $ref: "#/components/schemas/UpdateResult" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "Update Content", tags: ["Content"], "x-speakeasy-group": "lms", "x-speakeasy-name-override": "update_content", "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } } }, "/unified/lms/users/{id}/completions": { get: { operationId: "lms_list_user_completions", parameters: [ { name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "id", required: true, in: "path", schema: { type: "string" } }, { name: "raw", required: false, in: "query", description: "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", schema: { nullable: true, type: "boolean" } }, { name: "proxy", required: false, in: "query", description: "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", schema: { additionalProperties: true, nullable: true, type: "object" } }, { name: "fields", required: false, in: "query", description: "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", schema: { nullable: true, example: "id,remote_id,external_id,remote_external_id,external_reference,content_id,remote_content_id,course_id,remote_course_id,user_id,remote_user_id,completed_at,updated_at,created_at,result,content_external_reference,learning_object_type,learning_object_id,remote_learning_object_id,learning_object_external_reference,time_spent,certificate_url", type: "string" } }, { name: "filter", required: false, in: "query", description: "LMS Completions Filter", schema: { properties: { updated_after: { description: "Use a string with a date to only select results updated after that given date", example: "2020-01-01T00:00:00.000Z", type: "string", format: "date-time", nullable: true, additionalProperties: false } }, nullable: true, type: "object" } }, { name: "page", required: false, in: "query", description: "The page number of the results to fetch", deprecated: true, schema: { nullable: true, type: "string" } }, { name: "page_size", required: false, in: "query", description: "The number of results per page (default value is 25)", schema: { nullable: true, type: "string" } }, { name: "next", required: false, in: "query", description: "The unified cursor", schema: { nullable: true, type: "string" } }, { name: "updated_after", required: false, in: "query", description: "Use a string with a date to only select results updated after that given date", deprecated: true, schema: { format: "date-time", nullable: true, example: "2020-01-01T00:00:00.000Z", type: "string" } } ], responses: { "200": { description: "The completions with for the users with the given identifier were retrieved.", content: { "application/json": { schema: { $ref: "#/components/schemas/CompletionsPaginated" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server er