https://docintel.adar.agomoniai.com/openapi.jsonMachine-readable contract
Build from the public API schema
Inspect DocIntel's versioned public REST contract, generate typed clients, validate requests, and detect integration changes before deployment.
Contract endpoint
Retrieve the current schema
https://docintel.adar.agomoniai.com/api/v1curl -sS https://docintel.adar.agomoniai.com/openapi.json \
| jq -r '.openapi, .info.title, (.paths | length)'Public boundary
Expose integration contracts, not administration internals
The exported public contract includes versioned public API operations plus OAuth discovery and token metadata needed by clients. Internal developer-administration routes are excluded from generated public artifacts.
/api/v1OAuth discovery metadataToken endpoint contractRequest and response schemasSecurity requirements and scopesNo internal developer administration pathsComplete public contract
Operations and component schemas
This catalog is generated from the DocIntel OpenAPI document. It contains 66 public paths, 79 operations, and all 32 component schemas referenced by those operations.
REST operations
OAuth and discovery3 operations
| Method and path | Operation | Parameters | Request | Responses |
|---|---|---|---|---|
GET /.well-known/oauth-authorization-server | authorization_server_metadata__well_known_oauth_authorization_server_get | None | None | 200 |
GET /.well-known/oauth-protected-resource/api | api_protected_resource_metadata__well_known_oauth_protected_resource_api_get | None | None | 200 |
POST /token | token_token_post | None | None | 200 |
Identity2 operations
| Method and path | Operation | Parameters | Request | Responses |
|---|---|---|---|---|
GET /api/v1 | api_catalog_api_v1_get | None | None | 200 |
GET /api/v1/me | api_current_identity_api_v1_me_get | None | None | 200 |
Workspaces12 operations
| Method and path | Operation | Parameters | Request | Responses |
|---|---|---|---|---|
GET /api/v1/me/workspaces | api_my_workspaces_api_v1_me_workspaces_get | None | None | 200 |
POST /api/v1/workspace-context | api_select_workspace_context_api_v1_workspace_context_post | None | WorkspaceContextInput | 200422 HTTPValidationError |
GET /api/v1/workspaces | api_list_workspaces_api_v1_workspaces_get | None | None | 200 |
POST /api/v1/workspaces | api_create_workspace_api_v1_workspaces_post | None | WorkspaceCreateInput | 201422 HTTPValidationError |
GET /api/v1/workspaces/{workspace_id} | api_get_workspace_api_v1_workspaces__workspace_id__get | workspace_id path* | None | 200422 HTTPValidationError |
PATCH /api/v1/workspaces/{workspace_id} | api_update_workspace_api_v1_workspaces__workspace_id__patch | workspace_id path* | WorkspaceUpdateInput | 200422 HTTPValidationError |
DELETE /api/v1/workspaces/{workspace_id} | api_delete_workspace_api_v1_workspaces__workspace_id__delete | workspace_id path* | None | 200422 HTTPValidationError |
GET /api/v1/workspaces/{workspace_id}/documents | api_list_workspace_documents_api_v1_workspaces__workspace_id__documents_get | workspace_id path* | None | 200422 HTTPValidationError |
POST /api/v1/workspaces/{workspace_id}/leave | api_leave_workspace_api_v1_workspaces__workspace_id__leave_post | workspace_id path* | None | 200422 HTTPValidationError |
POST /api/v1/workspaces/{workspace_id}/members | api_add_workspace_member_api_v1_workspaces__workspace_id__members_post | workspace_id path* | WorkspaceMemberInput | 201422 HTTPValidationError |
PATCH /api/v1/workspaces/{workspace_id}/members/{user_id} | api_update_workspace_member_api_v1_workspaces__workspace_id__members__user_id__patch | workspace_id path*user_id path* | WorkspaceRoleInput | 200422 HTTPValidationError |
DELETE /api/v1/workspaces/{workspace_id}/members/{user_id} | api_remove_workspace_member_api_v1_workspaces__workspace_id__members__user_id__delete | workspace_id path*user_id path* | None | 200422 HTTPValidationError |
Documents and uploads9 operations
| Method and path | Operation | Parameters | Request | Responses |
|---|---|---|---|---|
GET /api/v1/documents | api_list_documents_api_v1_documents_get | None | None | 200 |
GET /api/v1/documents/{document_id} | api_get_document_api_v1_documents__document_id__get | document_id path* | None | 200422 HTTPValidationError |
DELETE /api/v1/documents/{document_id} | api_delete_document_api_v1_documents__document_id__delete | document_id path* | None | 200422 HTTPValidationError |
GET /api/v1/documents/{document_id}/chunks | api_get_document_chunks_api_v1_documents__document_id__chunks_get | document_id path* | None | 200422 HTTPValidationError |
POST /api/v1/documents/{document_id}/embedding | api_embed_document_api_v1_documents__document_id__embedding_post | document_id path* | None | 202422 HTTPValidationError |
GET /api/v1/documents/{document_id}/versions | api_list_document_versions_api_v1_documents__document_id__versions_get | document_id path* | None | 200422 HTTPValidationError |
POST /api/v1/documents/{document_id}/versions | api_register_document_version_api_v1_documents__document_id__versions_post | document_id path* | VersionInput | 201422 HTTPValidationError |
POST /api/v1/uploads | api_create_upload_api_v1_uploads_post | None | DirectUploadSessionRequest | 201422 HTTPValidationError |
POST /api/v1/uploads/complete | api_complete_upload_api_v1_uploads_complete_post | None | DirectUploadCompleteRequest | 202422 HTTPValidationError |
Knowledge2 operations
| Method and path | Operation | Parameters | Request | Responses |
|---|---|---|---|---|
POST /api/v1/knowledge/query/stream | api_grounded_query_api_v1_knowledge_query_stream_post | None | ChatRequest | 200422 HTTPValidationError |
POST /api/v1/summaries/documents/{document_id}/stream | api_summarize_document_api_v1_summaries_documents__document_id__stream_post | document_id path* | SummarizeRequest | 200422 HTTPValidationError |
Knowledge Academy20 operations
| Method and path | Operation | Parameters | Request | Responses |
|---|---|---|---|---|
GET /api/v1/learning/courses | api_list_learning_courses_api_v1_learning_courses_get | workspace_id query* | None | 200422 HTTPValidationError |
POST /api/v1/learning/courses | api_create_learning_course_api_v1_learning_courses_post | None | CourseCreate | 201422 HTTPValidationError |
GET /api/v1/learning/courses/{course_id} | api_get_learning_course_api_v1_learning_courses__course_id__get | course_id path* | None | 200422 HTTPValidationError |
PATCH /api/v1/learning/courses/{course_id} | api_update_learning_course_api_v1_learning_courses__course_id__patch | course_id path* | CourseUpdate | 200422 HTTPValidationError |
DELETE /api/v1/learning/courses/{course_id} | api_delete_learning_course_api_v1_learning_courses__course_id__delete | course_id path* | None | 200422 HTTPValidationError |
GET /api/v1/learning/courses/{course_id}/artifacts | api_list_learning_artifacts_api_v1_learning_courses__course_id__artifacts_get | course_id path* | None | 200422 HTTPValidationError |
POST /api/v1/learning/courses/{course_id}/artifacts | api_save_learning_artifact_api_v1_learning_courses__course_id__artifacts_post | course_id path* | ArtifactCreate | 201422 HTTPValidationError |
DELETE /api/v1/learning/courses/{course_id}/artifacts/{artifact_id} | api_delete_learning_artifact_api_v1_learning_courses__course_id__artifacts__artifact_id__delete | course_id path*artifact_id path* | None | 200422 HTTPValidationError |
POST /api/v1/learning/courses/{course_id}/artifacts/{artifact_id}/attempts | api_submit_learning_quiz_api_v1_learning_courses__course_id__artifacts__artifact_id__attempts_post | course_id path*artifact_id path* | QuizAttemptCreate | 200422 HTTPValidationError |
POST /api/v1/learning/courses/{course_id}/assets | api_attach_learning_content_api_v1_learning_courses__course_id__assets_post | course_id path* | AssetCreate | 200422 HTTPValidationError |
DELETE /api/v1/learning/courses/{course_id}/assets/{asset_id} | api_remove_learning_content_api_v1_learning_courses__course_id__assets__asset_id__delete | course_id path*asset_id path* | None | 200422 HTTPValidationError |
PUT /api/v1/learning/courses/{course_id}/curriculum | api_save_learning_curriculum_api_v1_learning_courses__course_id__curriculum_put | course_id path* | CurriculumSave | 200422 HTTPValidationError |
POST /api/v1/learning/courses/{course_id}/members | api_enroll_learning_member_api_v1_learning_courses__course_id__members_post | course_id path* | MemberCreate | 200422 HTTPValidationError |
DELETE /api/v1/learning/courses/{course_id}/members/{member_user_id} | api_remove_learning_member_api_v1_learning_courses__course_id__members__member_user_id__delete | course_id path*member_user_id path* | None | 200422 HTTPValidationError |
GET /api/v1/learning/courses/{course_id}/progress | api_get_learning_progress_api_v1_learning_courses__course_id__progress_get | course_id path* | None | 200422 HTTPValidationError |
POST /api/v1/learning/courses/{course_id}/questions | api_ask_learning_person_api_v1_learning_courses__course_id__questions_post | course_id path* | QuestionCreate | 201422 HTTPValidationError |
PATCH /api/v1/learning/courses/{course_id}/questions/{question_id} | api_update_learning_question_api_v1_learning_courses__course_id__questions__question_id__patch | course_id path*question_id path* | QuestionUpdate | 200422 HTTPValidationError |
GET /api/v1/learning/courses/{course_id}/scope | api_resolve_learning_scope_api_v1_learning_courses__course_id__scope_get | course_id path*module_id querylesson_id query | None | 200422 HTTPValidationError |
POST /api/v1/learning/courses/{course_id}/tutor/query/stream | api_ask_learning_tutor_api_v1_learning_courses__course_id__tutor_query_stream_post | course_id path* | LearningTutorRequest | 200422 HTTPValidationError |
GET /api/v1/learning/documents | api_list_learning_documents_api_v1_learning_documents_get | workspace_id query* | None | 200422 HTTPValidationError |
Batch operations11 operations
| Method and path | Operation | Parameters | Request | Responses |
|---|---|---|---|---|
GET /api/v1/batches | api_list_batch_jobs_api_v1_batches_get | workspace_id queryoperation querystatus querylimit query | None | 200422 HTTPValidationError |
POST /api/v1/batches/classification | api_start_batch_classification_api_v1_batches_classification_post | None | DocumentBatchRequest | 202422 HTTPValidationError |
POST /api/v1/batches/embedding | api_start_batch_embedding_api_v1_batches_embedding_post | None | DocumentBatchRequest | 202422 HTTPValidationError |
POST /api/v1/batches/uploads | api_create_batch_upload_api_v1_batches_uploads_post | None | BatchUploadRequest | 201422 HTTPValidationError |
POST /api/v1/batches/workspace-summary | api_start_workspace_summary_api_v1_batches_workspace_summary_post | None | WorkspaceSummaryRequest | 202422 HTTPValidationError |
GET /api/v1/batches/{job_id} | api_get_batch_status_api_v1_batches__job_id__get | job_id path* | None | 200422 HTTPValidationError |
POST /api/v1/batches/{job_id}/cancel | api_cancel_batch_api_v1_batches__job_id__cancel_post | job_id path* | None | 202422 HTTPValidationError |
GET /api/v1/batches/{job_id}/results | api_get_batch_results_api_v1_batches__job_id__results_get | job_id path* | None | 200422 HTTPValidationError |
POST /api/v1/batches/{job_id}/resume | api_resume_batch_api_v1_batches__job_id__resume_post | job_id path* | None | 202422 HTTPValidationError |
POST /api/v1/batches/{job_id}/retry | api_retry_batch_api_v1_batches__job_id__retry_post | job_id path* | None | 202422 HTTPValidationError |
POST /api/v1/batches/{job_id}/uploads/complete | api_complete_batch_upload_api_v1_batches__job_id__uploads_complete_post | job_id path* | CompleteBatchUploadRequest | 202422 HTTPValidationError |
Operations and workflows5 operations
| Method and path | Operation | Parameters | Request | Responses |
|---|---|---|---|---|
GET /api/v1/operations | api_list_operations_api_v1_operations_get | workspace_id querystatus querylimit query | None | 200422 HTTPValidationError |
GET /api/v1/operations/catalog | api_operations_catalog_api_v1_operations_catalog_get | None | None | 200 |
GET /api/v1/operations/{operation_id} | api_get_operation_api_v1_operations__operation_id__get | operation_id path* | None | 200422 HTTPValidationError |
GET /api/v1/workflows/{workflow}/schema | api_workflow_schema_api_v1_workflows__workflow__schema_get | workflow path* | None | 200422 HTTPValidationError |
POST /api/v1/workflows/{workflow}/validate | api_validate_workflow_api_v1_workflows__workflow__validate_post | workflow path* | application/json object | 200422 HTTPValidationError |
Events and webhooks8 operations
| Method and path | Operation | Parameters | Request | Responses |
|---|---|---|---|---|
GET /api/v1/event-subscriptions | api_list_event_subscriptions_api_v1_event_subscriptions_get | None | None | 200 |
POST /api/v1/event-subscriptions | api_create_event_subscription_api_v1_event_subscriptions_post | None | SubscriptionInput | 201422 HTTPValidationError |
DELETE /api/v1/event-subscriptions/{subscription_id} | api_delete_event_subscription_api_v1_event_subscriptions__subscription_id__delete | subscription_id path* | None | 200422 HTTPValidationError |
GET /api/v1/events | api_list_events_api_v1_events_get | after queryresource_type queryresource_id querylimit query | None | 200422 HTTPValidationError |
POST /api/v1/events/{event_id}/replay | api_replay_event_api_v1_events__event_id__replay_post | event_id path* | None | 202422 HTTPValidationError |
GET /api/v1/webhook-deliveries | api_list_webhook_deliveries_api_v1_webhook_deliveries_get | subscription_id querystatus querylimit query | None | 200422 HTTPValidationError |
POST /api/v1/webhook-deliveries/process-due | api_process_due_webhook_deliveries_api_v1_webhook_deliveries_process_due_post | limit query | None | 202422 HTTPValidationError |
POST /api/v1/webhook-deliveries/{delivery_id}/retry | api_retry_webhook_delivery_api_v1_webhook_deliveries__delivery_id__retry_post | delivery_id path* | None | 202422 HTTPValidationError |
Review, artifacts, and evaluation7 operations
| Method and path | Operation | Parameters | Request | Responses |
|---|---|---|---|---|
GET /api/v1/artifacts | api_list_artifacts_api_v1_artifacts_get | workspace_id query | None | 200422 HTTPValidationError |
POST /api/v1/artifacts | api_create_artifact_api_v1_artifacts_post | None | ArtifactInput | 201422 HTTPValidationError |
POST /api/v1/evaluations | api_run_evaluation_api_v1_evaluations_post | None | EvaluationInput | 201422 HTTPValidationError |
GET /api/v1/reviews | api_list_reviews_api_v1_reviews_get | status querylimit query | None | 200422 HTTPValidationError |
POST /api/v1/reviews | api_create_review_api_v1_reviews_post | None | ReviewTaskInput | 201422 HTTPValidationError |
POST /api/v1/reviews/{task_id}/assign | api_assign_review_api_v1_reviews__task_id__assign_post | task_id path* | None | 200422 HTTPValidationError |
POST /api/v1/reviews/{task_id}/decision | api_decide_review_api_v1_reviews__task_id__decision_post | task_id path* | ReviewDecisionInput | 200422 HTTPValidationError |
OpenAPI schema contracts
Expand a schema to inspect every field, required-property rule, constraint, and the complete JSON Schema definition.
ArtifactCreate6 fields, 2 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
artifact_type | string | Yes | enum=summary, study_guide, key_concepts, flashcards, practice_questions |
title | string | No | default= |
content | string | Yes | minLength=1 |
source_document_ids | array[string] | No | default=[] |
module_id | string | null | No | - |
lesson_id | string | null | No | - |
View complete JSON Schema
{
"properties": {
"artifact_type": {
"type": "string",
"enum": [
"summary",
"study_guide",
"key_concepts",
"flashcards",
"practice_questions"
],
"title": "Artifact Type"
},
"title": {
"type": "string",
"title": "Title",
"default": ""
},
"content": {
"type": "string",
"minLength": 1,
"title": "Content"
},
"source_document_ids": {
"items": {
"type": "string"
},
"type": "array",
"title": "Source Document Ids",
"default": []
},
"module_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Module Id"
},
"lesson_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lesson Id"
}
},
"type": "object",
"required": [
"artifact_type",
"content"
],
"title": "ArtifactCreate"
}ArtifactInput7 fields, 3 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
artifact_type | string | Yes | minLength=2; maxLength=80 |
title | string | Yes | minLength=2; maxLength=240 |
content | object | Yes | - |
workspace_id | string | null | No | - |
source_document_ids | array[string] | No | - |
source_trace_id | string | null | No | - |
status | string | No | default=draft; enum=draft, reviewed, approved |
View complete JSON Schema
{
"properties": {
"artifact_type": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"title": "Artifact Type"
},
"title": {
"type": "string",
"maxLength": 240,
"minLength": 2,
"title": "Title"
},
"content": {
"additionalProperties": true,
"type": "object",
"title": "Content"
},
"workspace_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Workspace Id"
},
"source_document_ids": {
"items": {
"type": "string"
},
"type": "array",
"maxItems": 500,
"title": "Source Document Ids"
},
"source_trace_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Trace Id"
},
"status": {
"type": "string",
"enum": [
"draft",
"reviewed",
"approved"
],
"title": "Status",
"default": "draft"
}
},
"type": "object",
"required": [
"artifact_type",
"title",
"content"
],
"title": "ArtifactInput"
}AssetCreate4 fields, 1 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
document_id | string | Yes | - |
module_id | string | null | No | - |
lesson_id | string | null | No | - |
title | string | No | default= |
View complete JSON Schema
{
"properties": {
"document_id": {
"type": "string",
"title": "Document Id"
},
"module_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Module Id"
},
"lesson_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lesson Id"
},
"title": {
"type": "string",
"title": "Title",
"default": ""
}
},
"type": "object",
"required": [
"document_id"
],
"title": "AssetCreate"
}BatchUploadRequest4 fields, 1 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
files | array[UploadFileManifest] | Yes | - |
workspace_id | string | null | No | - |
redact_pii | boolean | No | default=False |
idempotency_key | string | null | No | - |
View complete JSON Schema
{
"properties": {
"files": {
"items": {
"$ref": "#/components/schemas/UploadFileManifest"
},
"type": "array",
"minItems": 1,
"title": "Files"
},
"workspace_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Workspace Id"
},
"redact_pii": {
"type": "boolean",
"title": "Redact Pii",
"default": false
},
"idempotency_key": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Idempotency Key"
}
},
"type": "object",
"required": [
"files"
],
"title": "BatchUploadRequest"
}ChatRequest7 fields, 2 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
question | string | Yes | - |
document_ids | array[string] | Yes | - |
history | array[object] | No | default=[] |
workspace_id | string | null | No | - |
redact_pii | boolean | No | default=False |
agent_mode | string | No | default=auto |
response_language | string | null | No | - |
View complete JSON Schema
{
"properties": {
"question": {
"type": "string",
"title": "Question"
},
"document_ids": {
"items": {
"type": "string"
},
"type": "array",
"title": "Document Ids"
},
"history": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array",
"title": "History",
"default": []
},
"workspace_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Workspace Id"
},
"redact_pii": {
"type": "boolean",
"title": "Redact Pii",
"default": false
},
"agent_mode": {
"type": "string",
"title": "Agent Mode",
"default": "auto"
},
"response_language": {
"anyOf": [
{
"type": "string",
"enum": [
"en",
"es",
"bn",
"hi",
"ar"
]
},
{
"type": "null"
}
],
"title": "Response Language"
}
},
"type": "object",
"required": [
"question",
"document_ids"
],
"title": "ChatRequest"
}CompleteBatchUploadRequest2 fields, 0 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
document_ids | array[string] | No | default=[] |
concurrency | integer | No | default=3; minimum=1.0; maximum=10.0 |
View complete JSON Schema
{
"properties": {
"document_ids": {
"items": {
"type": "string"
},
"type": "array",
"title": "Document Ids",
"default": []
},
"concurrency": {
"type": "integer",
"maximum": 10.0,
"minimum": 1.0,
"title": "Concurrency",
"default": 3
}
},
"type": "object",
"title": "CompleteBatchUploadRequest"
}CourseCreate7 fields, 2 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
workspace_id | string | Yes | - |
title | string | Yes | minLength=1; maxLength=180 |
course_code | string | No | default=; maxLength=60 |
semester | string | No | default=; maxLength=80 |
description | string | No | default=; maxLength=4000 |
instructor_name | string | No | default=; maxLength=180 |
objectives | array[string] | No | default=[] |
View complete JSON Schema
{
"properties": {
"workspace_id": {
"type": "string",
"title": "Workspace Id"
},
"title": {
"type": "string",
"maxLength": 180,
"minLength": 1,
"title": "Title"
},
"course_code": {
"type": "string",
"maxLength": 60,
"title": "Course Code",
"default": ""
},
"semester": {
"type": "string",
"maxLength": 80,
"title": "Semester",
"default": ""
},
"description": {
"type": "string",
"maxLength": 4000,
"title": "Description",
"default": ""
},
"instructor_name": {
"type": "string",
"maxLength": 180,
"title": "Instructor Name",
"default": ""
},
"objectives": {
"items": {
"type": "string"
},
"type": "array",
"title": "Objectives",
"default": []
}
},
"type": "object",
"required": [
"workspace_id",
"title"
],
"title": "CourseCreate"
}CourseUpdate7 fields, 0 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
title | string | null | No | - |
course_code | string | null | No | - |
semester | string | null | No | - |
description | string | null | No | - |
instructor_name | string | null | No | - |
objectives | array[string] | null | No | - |
status | string | null | No | - |
View complete JSON Schema
{
"properties": {
"title": {
"anyOf": [
{
"type": "string",
"maxLength": 180,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Title"
},
"course_code": {
"anyOf": [
{
"type": "string",
"maxLength": 60
},
{
"type": "null"
}
],
"title": "Course Code"
},
"semester": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"title": "Semester"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "null"
}
],
"title": "Description"
},
"instructor_name": {
"anyOf": [
{
"type": "string",
"maxLength": 180
},
{
"type": "null"
}
],
"title": "Instructor Name"
},
"objectives": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Objectives"
},
"status": {
"anyOf": [
{
"type": "string",
"enum": [
"active",
"archived"
]
},
{
"type": "null"
}
],
"title": "Status"
}
},
"type": "object",
"title": "CourseUpdate"
}CurriculumSave1 fields, 0 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
modules | array[object] | No | default=[] |
View complete JSON Schema
{
"properties": {
"modules": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array",
"title": "Modules",
"default": []
}
},
"type": "object",
"title": "CurriculumSave"
}DirectUploadCompleteRequest7 fields, 4 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
filename | string | Yes | - |
content_type | string | No | default=application/octet-stream |
file_size | integer | Yes | - |
workspace_id | string | null | No | - |
redact_pii | boolean | No | default=False |
doc_id | string | Yes | - |
gcs_source_path | string | Yes | - |
View complete JSON Schema
{
"properties": {
"filename": {
"type": "string",
"title": "Filename"
},
"content_type": {
"type": "string",
"title": "Content Type",
"default": "application/octet-stream"
},
"file_size": {
"type": "integer",
"title": "File Size"
},
"workspace_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Workspace Id"
},
"redact_pii": {
"type": "boolean",
"title": "Redact Pii",
"default": false
},
"doc_id": {
"type": "string",
"title": "Doc Id"
},
"gcs_source_path": {
"type": "string",
"title": "Gcs Source Path"
}
},
"type": "object",
"required": [
"filename",
"file_size",
"doc_id",
"gcs_source_path"
],
"title": "DirectUploadCompleteRequest"
}DirectUploadSessionRequest5 fields, 2 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
filename | string | Yes | - |
content_type | string | No | default=application/octet-stream |
file_size | integer | Yes | - |
workspace_id | string | null | No | - |
redact_pii | boolean | No | default=False |
View complete JSON Schema
{
"properties": {
"filename": {
"type": "string",
"title": "Filename"
},
"content_type": {
"type": "string",
"title": "Content Type",
"default": "application/octet-stream"
},
"file_size": {
"type": "integer",
"title": "File Size"
},
"workspace_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Workspace Id"
},
"redact_pii": {
"type": "boolean",
"title": "Redact Pii",
"default": false
}
},
"type": "object",
"required": [
"filename",
"file_size"
],
"title": "DirectUploadSessionRequest"
}DocumentBatchRequest5 fields, 1 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
document_ids | array[string] | Yes | - |
workspace_id | string | null | No | - |
concurrency | integer | No | default=3; minimum=1.0; maximum=10.0 |
force | boolean | No | default=False |
idempotency_key | string | null | No | - |
View complete JSON Schema
{
"properties": {
"document_ids": {
"items": {
"type": "string"
},
"type": "array",
"minItems": 1,
"title": "Document Ids"
},
"workspace_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Workspace Id"
},
"concurrency": {
"type": "integer",
"maximum": 10.0,
"minimum": 1.0,
"title": "Concurrency",
"default": 3
},
"force": {
"type": "boolean",
"title": "Force",
"default": false
},
"idempotency_key": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Idempotency Key"
}
},
"type": "object",
"required": [
"document_ids"
],
"title": "DocumentBatchRequest"
}EvaluationInput2 fields, 1 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
trace_id | string | Yes | - |
evaluation_type | string | No | default=groundedness |
View complete JSON Schema
{
"properties": {
"trace_id": {
"type": "string",
"title": "Trace Id"
},
"evaluation_type": {
"type": "string",
"title": "Evaluation Type",
"default": "groundedness"
}
},
"type": "object",
"required": [
"trace_id"
],
"title": "EvaluationInput"
}HTTPValidationError1 fields, 0 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
detail | array[ValidationError] | No | - |
View complete JSON Schema
{
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}LearningTutorRequest6 fields, 1 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
question | string | Yes | minLength=1; maxLength=12000 |
module_id | string | null | No | - |
lesson_id | string | null | No | - |
history | array[object] | No | - |
response_language | string | null | No | - |
redact_pii | boolean | No | default=False |
View complete JSON Schema
{
"properties": {
"question": {
"type": "string",
"maxLength": 12000,
"minLength": 1,
"title": "Question"
},
"module_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Module Id"
},
"lesson_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lesson Id"
},
"history": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array",
"maxItems": 30,
"title": "History"
},
"response_language": {
"anyOf": [
{
"type": "string",
"enum": [
"en",
"es",
"bn",
"hi",
"ar"
]
},
{
"type": "null"
}
],
"title": "Response Language"
},
"redact_pii": {
"type": "boolean",
"title": "Redact Pii",
"default": false
}
},
"type": "object",
"required": [
"question"
],
"title": "LearningTutorRequest"
}MemberCreate2 fields, 1 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
email | string | Yes | - |
persona | string | No | default=student; enum=admin, teacher, student, advisor |
View complete JSON Schema
{
"properties": {
"email": {
"type": "string",
"title": "Email"
},
"persona": {
"type": "string",
"enum": [
"admin",
"teacher",
"student",
"advisor"
],
"title": "Persona",
"default": "student"
}
},
"type": "object",
"required": [
"email"
],
"title": "MemberCreate"
}QuestionCreate3 fields, 1 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
target_role | string | No | default=teacher; enum=teacher, advisor |
question | string | Yes | minLength=1; maxLength=8000 |
context | object | No | default={} |
View complete JSON Schema
{
"properties": {
"target_role": {
"type": "string",
"enum": [
"teacher",
"advisor"
],
"title": "Target Role",
"default": "teacher"
},
"question": {
"type": "string",
"maxLength": 8000,
"minLength": 1,
"title": "Question"
},
"context": {
"additionalProperties": true,
"type": "object",
"title": "Context",
"default": {}
}
},
"type": "object",
"required": [
"question"
],
"title": "QuestionCreate"
}QuestionUpdate3 fields, 0 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
answer | string | null | No | - |
status | string | null | No | - |
assigned_to | string | null | No | - |
View complete JSON Schema
{
"properties": {
"answer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Answer"
},
"status": {
"anyOf": [
{
"type": "string",
"enum": [
"open",
"answered",
"closed"
]
},
{
"type": "null"
}
],
"title": "Status"
},
"assigned_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Assigned To"
}
},
"type": "object",
"title": "QuestionUpdate"
}QuizAttemptCreate2 fields, 0 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
answers | object | No | default={} |
replace | boolean | No | default=False |
View complete JSON Schema
{
"properties": {
"answers": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"type": "object",
"title": "Answers",
"default": {}
},
"replace": {
"type": "boolean",
"title": "Replace",
"default": false
}
},
"type": "object",
"title": "QuizAttemptCreate"
}ReviewDecisionInput2 fields, 1 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
decision | string | Yes | enum=approved, changes_requested, rejected |
reviewer_notes | string | No | default=; maxLength=5000 |
View complete JSON Schema
{
"properties": {
"decision": {
"type": "string",
"enum": [
"approved",
"changes_requested",
"rejected"
],
"title": "Decision"
},
"reviewer_notes": {
"type": "string",
"maxLength": 5000,
"title": "Reviewer Notes",
"default": ""
}
},
"type": "object",
"required": [
"decision"
],
"title": "ReviewDecisionInput"
}ReviewTaskInput7 fields, 3 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
vertical | string | Yes | - |
run_id | string | Yes | - |
title | string | Yes | minLength=2; maxLength=240 |
workspace_id | string | null | No | - |
priority | string | No | default=normal; enum=low, normal, high, urgent |
due_at | string | null | No | - |
metadata | object | No | - |
View complete JSON Schema
{
"properties": {
"vertical": {
"type": "string",
"title": "Vertical"
},
"run_id": {
"type": "string",
"title": "Run Id"
},
"title": {
"type": "string",
"maxLength": 240,
"minLength": 2,
"title": "Title"
},
"workspace_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Workspace Id"
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high",
"urgent"
],
"title": "Priority",
"default": "normal"
},
"due_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Due At"
},
"metadata": {
"additionalProperties": true,
"type": "object",
"title": "Metadata"
}
},
"type": "object",
"required": [
"vertical",
"run_id",
"title"
],
"title": "ReviewTaskInput"
}SubscriptionInput5 fields, 0 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
event_types | array[string] | No | - |
workspace_id | string | null | No | - |
resource_type | string | null | No | - |
resource_id | string | null | No | - |
webhook_url | string | null | No | - |
View complete JSON Schema
{
"properties": {
"event_types": {
"items": {
"type": "string"
},
"type": "array",
"maxItems": 50,
"title": "Event Types"
},
"workspace_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Workspace Id"
},
"resource_type": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"title": "Resource Type"
},
"resource_id": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Resource Id"
},
"webhook_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Webhook Url"
}
},
"type": "object",
"title": "SubscriptionInput"
}SummarizeRequest4 fields, 0 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
summary_type | string | No | default=executive |
custom_prompt | string | No | default= |
chunk_indices | array[integer] | No | default=[] |
redact_pii | boolean | No | default=False |
View complete JSON Schema
{
"properties": {
"summary_type": {
"type": "string",
"title": "Summary Type",
"default": "executive"
},
"custom_prompt": {
"type": "string",
"title": "Custom Prompt",
"default": ""
},
"chunk_indices": {
"items": {
"type": "integer"
},
"type": "array",
"title": "Chunk Indices",
"default": []
},
"redact_pii": {
"type": "boolean",
"title": "Redact Pii",
"default": false
}
},
"type": "object",
"title": "SummarizeRequest"
}UploadFileManifest3 fields, 2 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
filename | string | Yes | - |
content_type | string | No | default=application/octet-stream |
file_size | integer | Yes | - |
View complete JSON Schema
{
"properties": {
"filename": {
"type": "string",
"title": "Filename"
},
"content_type": {
"type": "string",
"title": "Content Type",
"default": "application/octet-stream"
},
"file_size": {
"type": "integer",
"exclusiveMinimum": 0.0,
"title": "File Size"
}
},
"type": "object",
"required": [
"filename",
"file_size"
],
"title": "UploadFileManifest"
}ValidationError3 fields, 3 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
loc | array[string | integer] | Yes | - |
msg | string | Yes | - |
type | string | Yes | - |
View complete JSON Schema
{
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
}VersionInput3 fields, 0 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
previous_document_id | string | null | No | - |
change_summary | string | No | default=; maxLength=2000 |
changed_pages | array[integer] | No | - |
View complete JSON Schema
{
"properties": {
"previous_document_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Previous Document Id"
},
"change_summary": {
"type": "string",
"maxLength": 2000,
"title": "Change Summary",
"default": ""
},
"changed_pages": {
"items": {
"type": "integer"
},
"type": "array",
"maxItems": 5000,
"title": "Changed Pages"
}
},
"type": "object",
"title": "VersionInput"
}WorkspaceContextInput1 fields, 0 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
workspace_id | string | null | No | - |
View complete JSON Schema
{
"properties": {
"workspace_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Workspace Id"
}
},
"type": "object",
"title": "WorkspaceContextInput"
}WorkspaceCreateInput1 fields, 1 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
name | string | Yes | minLength=1; maxLength=200 |
View complete JSON Schema
{
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"title": "Name"
}
},
"type": "object",
"required": [
"name"
],
"title": "WorkspaceCreateInput"
}WorkspaceMemberInput2 fields, 1 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
email | string | Yes | minLength=3; maxLength=320 |
role | string | No | default=viewer |
View complete JSON Schema
{
"properties": {
"email": {
"type": "string",
"maxLength": 320,
"minLength": 3,
"title": "Email"
},
"role": {
"type": "string",
"title": "Role",
"default": "viewer"
}
},
"type": "object",
"required": [
"email"
],
"title": "WorkspaceMemberInput"
}WorkspaceRoleInput1 fields, 1 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
role | string | Yes | - |
View complete JSON Schema
{
"properties": {
"role": {
"type": "string",
"title": "Role"
}
},
"type": "object",
"required": [
"role"
],
"title": "WorkspaceRoleInput"
}WorkspaceSummaryRequest8 fields, 1 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
workspace_id | string | Yes | - |
document_ids | array[string] | No | default=[] |
summary_type | string | No | default=executive |
custom_prompt | string | No | default= |
redact_pii | boolean | No | default=False |
language | string | No | default=en |
concurrency | integer | No | default=2; minimum=1.0; maximum=6.0 |
idempotency_key | string | null | No | - |
View complete JSON Schema
{
"properties": {
"workspace_id": {
"type": "string",
"title": "Workspace Id"
},
"document_ids": {
"items": {
"type": "string"
},
"type": "array",
"title": "Document Ids",
"default": []
},
"summary_type": {
"type": "string",
"title": "Summary Type",
"default": "executive"
},
"custom_prompt": {
"type": "string",
"title": "Custom Prompt",
"default": ""
},
"redact_pii": {
"type": "boolean",
"title": "Redact Pii",
"default": false
},
"language": {
"type": "string",
"title": "Language",
"default": "en"
},
"concurrency": {
"type": "integer",
"maximum": 6.0,
"minimum": 1.0,
"title": "Concurrency",
"default": 2
},
"idempotency_key": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Idempotency Key"
}
},
"type": "object",
"required": [
"workspace_id"
],
"title": "WorkspaceSummaryRequest"
}WorkspaceUpdateInput1 fields, 1 requiredJSON Schema
Reusable public API component schema.
| Field | Type | Required | Rules |
|---|---|---|---|
name | string | Yes | minLength=1; maxLength=200 |
View complete JSON Schema
{
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"title": "Name"
}
},
"type": "object",
"required": [
"name"
],
"title": "WorkspaceUpdateInput"
}Generation workflow
Pin, compare, generate, test
OpenAPI describes explicit REST contracts for application code. MCP enables runtime discovery of governed tools and resources for compatible AI clients.
Client responsibilities
Keep runtime policy outside generated models
Acquire an access token for the REST resource audience.
Send the selected team workspace header on scoped requests.
Attach stable keys when safely retrying mutating operations.
Persist operation IDs and use bounded polling or webhooks.
Honor remaining, reset, and retry headers.
Preserve request and trace identifiers through logs and support workflows.
