@stackone/ai
Version:
Tools for agents to perform actions on your SaaS
1,487 lines • 183 kB
JavaScript
//#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