21312 lines
527 KiB
JSON
21312 lines
527 KiB
JSON
{
|
|
"components": {
|
|
"schemas": {
|
|
"AccessAttributionOut": {
|
|
"description": "Which role conferred one access code, and at what scope.",
|
|
"properties": {
|
|
"expires_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Expires At"
|
|
},
|
|
"org_unit_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Org Unit Id"
|
|
},
|
|
"org_unit_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Org Unit Name"
|
|
},
|
|
"role_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Role Id"
|
|
},
|
|
"role_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Role Name"
|
|
},
|
|
"source": {
|
|
"title": "Source",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"source"
|
|
],
|
|
"title": "AccessAttributionOut",
|
|
"type": "object"
|
|
},
|
|
"AccessEventOut": {
|
|
"description": "One entry in the access-control timeline.\n\nShaped from `activity_logs`, which is generic and shared with every other\nmodule — so this exposes the subset that means something for access, rather\nthan the whole row. `metadata` is the JSONB payload, aliased because the\ncolumn is named `metadata` in the database and `event_metadata` on the\nmodel, and neither is the name a caller should have to know.",
|
|
"properties": {
|
|
"action": {
|
|
"title": "Action",
|
|
"type": "string"
|
|
},
|
|
"actor_email": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Actor Email"
|
|
},
|
|
"actor_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Actor Name"
|
|
},
|
|
"actor_user_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Actor User Id"
|
|
},
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"metadata": {
|
|
"additionalProperties": true,
|
|
"title": "Metadata",
|
|
"type": "object"
|
|
},
|
|
"target_id": {
|
|
"title": "Target Id",
|
|
"type": "string"
|
|
},
|
|
"target_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Target Name"
|
|
},
|
|
"target_type": {
|
|
"title": "Target Type",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"created_at",
|
|
"action",
|
|
"target_id",
|
|
"target_type",
|
|
"metadata"
|
|
],
|
|
"title": "AccessEventOut",
|
|
"type": "object"
|
|
},
|
|
"AccessGroupOut": {
|
|
"properties": {
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"tenant_id": {
|
|
"format": "uuid",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"tenant_id",
|
|
"name",
|
|
"created_at"
|
|
],
|
|
"title": "AccessGroupOut",
|
|
"type": "object"
|
|
},
|
|
"AccessOut": {
|
|
"description": "One row of the access catalogue. 66 exist.",
|
|
"properties": {
|
|
"access_code": {
|
|
"title": "Access Code",
|
|
"type": "string"
|
|
},
|
|
"category": {
|
|
"title": "Category",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"parent_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Parent Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"access_code",
|
|
"category"
|
|
],
|
|
"title": "AccessOut",
|
|
"type": "object"
|
|
},
|
|
"ActivityLogOut": {
|
|
"properties": {
|
|
"action": {
|
|
"title": "Action",
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"title": "Description",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"ip_address": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Ip Address"
|
|
},
|
|
"metadata": {
|
|
"additionalProperties": true,
|
|
"title": "Metadata",
|
|
"type": "object"
|
|
},
|
|
"module": {
|
|
"title": "Module",
|
|
"type": "string"
|
|
},
|
|
"request_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Request Id"
|
|
},
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
},
|
|
"target_id": {
|
|
"title": "Target Id",
|
|
"type": "string"
|
|
},
|
|
"target_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Target Name"
|
|
},
|
|
"target_type": {
|
|
"title": "Target Type",
|
|
"type": "string"
|
|
},
|
|
"tenant_id": {
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
},
|
|
"user_email": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "User Email"
|
|
},
|
|
"user_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "User Id"
|
|
},
|
|
"user_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "User Name"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"tenant_id",
|
|
"module",
|
|
"action",
|
|
"target_id",
|
|
"target_type",
|
|
"metadata",
|
|
"created_at",
|
|
"status",
|
|
"description"
|
|
],
|
|
"title": "ActivityLogOut",
|
|
"type": "object"
|
|
},
|
|
"ActivityLogUserOption": {
|
|
"properties": {
|
|
"user_email": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "User Email"
|
|
},
|
|
"user_id": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
},
|
|
"user_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "User Name"
|
|
}
|
|
},
|
|
"required": [
|
|
"user_id"
|
|
],
|
|
"title": "ActivityLogUserOption",
|
|
"type": "object"
|
|
},
|
|
"AddGroupMemberIn": {
|
|
"properties": {
|
|
"user_id": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"user_id"
|
|
],
|
|
"title": "AddGroupMemberIn",
|
|
"type": "object"
|
|
},
|
|
"AddMemberIn": {
|
|
"properties": {
|
|
"is_primary": {
|
|
"default": false,
|
|
"title": "Is Primary",
|
|
"type": "boolean"
|
|
},
|
|
"user_id": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"user_id"
|
|
],
|
|
"title": "AddMemberIn",
|
|
"type": "object"
|
|
},
|
|
"AddUserRoleIn": {
|
|
"description": "Add one role to one user.\n\n`org_unit_id` omitted or null means **tenant-wide** — the authority every\nuser already has through their primary role. That default is the point of\nthis endpoint: the organisation tree could only ever grant *scoped to a\nunit*, so \"Alice is an Editor and an Approver, everywhere\" was not\nexpressible anywhere in the product.",
|
|
"properties": {
|
|
"expires_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Expires At"
|
|
},
|
|
"org_unit_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Org Unit Id"
|
|
},
|
|
"role_id": {
|
|
"format": "uuid",
|
|
"title": "Role Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"role_id"
|
|
],
|
|
"title": "AddUserRoleIn",
|
|
"type": "object"
|
|
},
|
|
"AdminDashboardMetricsOut": {
|
|
"properties": {
|
|
"conversions": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ConversionMetricOut"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"edits": {
|
|
"$ref": "#/components/schemas/SimpleMetricOut"
|
|
},
|
|
"shares": {
|
|
"$ref": "#/components/schemas/ShareMetricOut"
|
|
},
|
|
"signatures": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/MetricCountOut"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"storage": {
|
|
"$ref": "#/components/schemas/StorageMetricOut"
|
|
},
|
|
"uploads": {
|
|
"$ref": "#/components/schemas/MetricCountOut"
|
|
},
|
|
"users": {
|
|
"$ref": "#/components/schemas/TotalMetricOut"
|
|
}
|
|
},
|
|
"required": [
|
|
"uploads",
|
|
"users",
|
|
"shares",
|
|
"storage",
|
|
"edits"
|
|
],
|
|
"title": "AdminDashboardMetricsOut",
|
|
"type": "object"
|
|
},
|
|
"ApiKeyStatusOut": {
|
|
"properties": {
|
|
"has_key": {
|
|
"title": "Has Key",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"has_key"
|
|
],
|
|
"title": "ApiKeyStatusOut",
|
|
"type": "object"
|
|
},
|
|
"AssignUserRoleIn": {
|
|
"properties": {
|
|
"role_id": {
|
|
"format": "uuid",
|
|
"title": "Role Id",
|
|
"type": "string"
|
|
},
|
|
"user_id": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"user_id",
|
|
"role_id"
|
|
],
|
|
"title": "AssignUserRoleIn",
|
|
"type": "object"
|
|
},
|
|
"AuthorityOut": {
|
|
"description": "Where a user holds one access code.\n\n`tenant_wide` and `org_unit_ids` are deliberately separate rather than one\nnullable list: \"everywhere\" and \"nowhere\" must not be representable by the\nsame empty value. That confusion is the whole failure mode of scoped access.",
|
|
"properties": {
|
|
"access_code": {
|
|
"title": "Access Code",
|
|
"type": "string"
|
|
},
|
|
"org_unit_ids": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"title": "Org Unit Ids",
|
|
"type": "array"
|
|
},
|
|
"tenant_wide": {
|
|
"title": "Tenant Wide",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"access_code",
|
|
"tenant_wide",
|
|
"org_unit_ids"
|
|
],
|
|
"title": "AuthorityOut",
|
|
"type": "object"
|
|
},
|
|
"BlockEdit": {
|
|
"properties": {
|
|
"align": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": 0,
|
|
"title": "Align"
|
|
},
|
|
"bbox": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "number"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Bbox"
|
|
},
|
|
"block_id": {
|
|
"title": "Block Id",
|
|
"type": "string"
|
|
},
|
|
"bold": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Bold"
|
|
},
|
|
"color": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Color"
|
|
},
|
|
"font": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Font"
|
|
},
|
|
"italic": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Italic"
|
|
},
|
|
"new_text": {
|
|
"title": "New Text",
|
|
"type": "string"
|
|
},
|
|
"size": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Size"
|
|
},
|
|
"underline": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Underline"
|
|
}
|
|
},
|
|
"required": [
|
|
"block_id",
|
|
"new_text"
|
|
],
|
|
"title": "BlockEdit",
|
|
"type": "object"
|
|
},
|
|
"Body_convert_direct_api_celery_convert_direct_post": {
|
|
"properties": {
|
|
"file": {
|
|
"format": "binary",
|
|
"title": "File",
|
|
"type": "string"
|
|
},
|
|
"output_format": {
|
|
"title": "Output Format",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"file",
|
|
"output_format"
|
|
],
|
|
"title": "Body_convert_direct_api_celery_convert_direct_post",
|
|
"type": "object"
|
|
},
|
|
"Body_convert_pdf2docx_api_celery_convert_pdf2docx_post": {
|
|
"properties": {
|
|
"file": {
|
|
"format": "binary",
|
|
"title": "File",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
],
|
|
"title": "Body_convert_pdf2docx_api_celery_convert_pdf2docx_post",
|
|
"type": "object"
|
|
},
|
|
"Body_copy_file_api_drive_files__file_id__copy_post": {
|
|
"properties": {
|
|
"dest_folder_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Dest Folder Id"
|
|
},
|
|
"new_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "New Name"
|
|
}
|
|
},
|
|
"title": "Body_copy_file_api_drive_files__file_id__copy_post",
|
|
"type": "object"
|
|
},
|
|
"Body_create_file_api_drive_files_create_post": {
|
|
"properties": {
|
|
"content": {
|
|
"default": "",
|
|
"title": "Content",
|
|
"type": "string"
|
|
},
|
|
"folder_id": {
|
|
"title": "Folder Id",
|
|
"type": "integer"
|
|
},
|
|
"mime_type": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Mime Type"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"folder_id",
|
|
"name"
|
|
],
|
|
"title": "Body_create_file_api_drive_files_create_post",
|
|
"type": "object"
|
|
},
|
|
"Body_create_file_share_api_drive_files__file_id__shares_post": {
|
|
"properties": {
|
|
"invited_email": {
|
|
"title": "Invited Email",
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"title": "Role",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"role"
|
|
],
|
|
"title": "Body_create_file_share_api_drive_files__file_id__shares_post",
|
|
"type": "object"
|
|
},
|
|
"Body_create_folder_api_drive_folders_post": {
|
|
"properties": {
|
|
"name": {
|
|
"maxLength": 255,
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"parent_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Parent Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"title": "Body_create_folder_api_drive_folders_post",
|
|
"type": "object"
|
|
},
|
|
"Body_create_folder_share_api_drive_folders__folder_id__shares_post": {
|
|
"properties": {
|
|
"invited_email": {
|
|
"title": "Invited Email",
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"title": "Role",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"role"
|
|
],
|
|
"title": "Body_create_folder_share_api_drive_folders__folder_id__shares_post",
|
|
"type": "object"
|
|
},
|
|
"Body_create_project_comment_api_projects__project_id__comments_post": {
|
|
"properties": {
|
|
"anchor": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Anchor"
|
|
},
|
|
"body": {
|
|
"title": "Body",
|
|
"type": "string"
|
|
},
|
|
"color": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Color"
|
|
}
|
|
},
|
|
"required": [
|
|
"body"
|
|
],
|
|
"title": "Body_create_project_comment_api_projects__project_id__comments_post",
|
|
"type": "object"
|
|
},
|
|
"Body_create_share_link_api_drive_share_link_post": {
|
|
"properties": {
|
|
"expires_in_days": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Expires In Days"
|
|
},
|
|
"resource_id": {
|
|
"title": "Resource Id",
|
|
"type": "integer"
|
|
},
|
|
"resource_type": {
|
|
"title": "Resource Type",
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"title": "Role",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"resource_id",
|
|
"resource_type",
|
|
"role"
|
|
],
|
|
"title": "Body_create_share_link_api_drive_share_link_post",
|
|
"type": "object"
|
|
},
|
|
"Body_email_resource_api_drive_email_resource_post": {
|
|
"properties": {
|
|
"cc_emails": {
|
|
"default": [],
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"title": "Cc Emails",
|
|
"type": "array"
|
|
},
|
|
"message": {
|
|
"default": "",
|
|
"title": "Message",
|
|
"type": "string"
|
|
},
|
|
"resource_id": {
|
|
"title": "Resource Id",
|
|
"type": "integer"
|
|
},
|
|
"resource_type": {
|
|
"title": "Resource Type",
|
|
"type": "string"
|
|
},
|
|
"subject": {
|
|
"title": "Subject",
|
|
"type": "string"
|
|
},
|
|
"to_emails": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"title": "To Emails",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"resource_id",
|
|
"resource_type",
|
|
"to_emails",
|
|
"subject"
|
|
],
|
|
"title": "Body_email_resource_api_drive_email_resource_post",
|
|
"type": "object"
|
|
},
|
|
"Body_extract_api_extract_post": {
|
|
"properties": {
|
|
"file": {
|
|
"format": "binary",
|
|
"title": "File",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
],
|
|
"title": "Body_extract_api_extract_post",
|
|
"type": "object"
|
|
},
|
|
"Body_generate_upload_url_api_drive_upload_presigned_post": {
|
|
"properties": {
|
|
"content_type": {
|
|
"default": "application/octet-stream",
|
|
"title": "Content Type",
|
|
"type": "string"
|
|
},
|
|
"file_size": {
|
|
"title": "File Size",
|
|
"type": "integer"
|
|
},
|
|
"filename": {
|
|
"title": "Filename",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"filename",
|
|
"file_size"
|
|
],
|
|
"title": "Body_generate_upload_url_api_drive_upload_presigned_post",
|
|
"type": "object"
|
|
},
|
|
"Body_login_api_auth_login_post": {
|
|
"properties": {
|
|
"client_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Client Id"
|
|
},
|
|
"client_secret": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"format": "password",
|
|
"title": "Client Secret"
|
|
},
|
|
"grant_type": {
|
|
"anyOf": [
|
|
{
|
|
"pattern": "^password$",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Grant Type"
|
|
},
|
|
"password": {
|
|
"format": "password",
|
|
"title": "Password",
|
|
"type": "string"
|
|
},
|
|
"scope": {
|
|
"default": "",
|
|
"title": "Scope",
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"title": "Username",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"username",
|
|
"password"
|
|
],
|
|
"title": "Body_login_api_auth_login_post",
|
|
"type": "object"
|
|
},
|
|
"Body_ocr_endpoint_api_signing_ocr_post": {
|
|
"properties": {
|
|
"file": {
|
|
"format": "binary",
|
|
"title": "File",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
],
|
|
"title": "Body_ocr_endpoint_api_signing_ocr_post",
|
|
"type": "object"
|
|
},
|
|
"Body_pre_scan_file_api_drive_scan_check_post": {
|
|
"properties": {
|
|
"upload": {
|
|
"format": "binary",
|
|
"title": "Upload",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"upload"
|
|
],
|
|
"title": "Body_pre_scan_file_api_drive_scan_check_post",
|
|
"type": "object"
|
|
},
|
|
"Body_restore_file_api_drive_files__file_id__restore_post": {
|
|
"properties": {
|
|
"mode": {
|
|
"default": "original",
|
|
"title": "Mode",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"title": "Body_restore_file_api_drive_files__file_id__restore_post",
|
|
"type": "object"
|
|
},
|
|
"Body_restore_folder_api_drive_folders__folder_id__restore_post": {
|
|
"properties": {
|
|
"mode": {
|
|
"default": "original",
|
|
"title": "Mode",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"title": "Body_restore_folder_api_drive_folders__folder_id__restore_post",
|
|
"type": "object"
|
|
},
|
|
"Body_restore_resource_generic_api_drive_restore__resource_id__post": {
|
|
"properties": {
|
|
"mode": {
|
|
"default": "original",
|
|
"title": "Mode",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"title": "Body_restore_resource_generic_api_drive_restore__resource_id__post",
|
|
"type": "object"
|
|
},
|
|
"Body_share_resource_generic_api_drive_share_post": {
|
|
"properties": {
|
|
"email": {
|
|
"title": "Email",
|
|
"type": "string"
|
|
},
|
|
"resource_id": {
|
|
"title": "Resource Id",
|
|
"type": "integer"
|
|
},
|
|
"resource_type": {
|
|
"title": "Resource Type",
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"title": "Role",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"resource_id",
|
|
"resource_type",
|
|
"email",
|
|
"role"
|
|
],
|
|
"title": "Body_share_resource_generic_api_drive_share_post",
|
|
"type": "object"
|
|
},
|
|
"Body_star_file_api_drive_files__file_id__star_patch": {
|
|
"properties": {
|
|
"star": {
|
|
"title": "Star",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"star"
|
|
],
|
|
"title": "Body_star_file_api_drive_files__file_id__star_patch",
|
|
"type": "object"
|
|
},
|
|
"Body_star_folder_api_drive_folders__folder_id__star_patch": {
|
|
"properties": {
|
|
"star": {
|
|
"title": "Star",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"star"
|
|
],
|
|
"title": "Body_star_folder_api_drive_folders__folder_id__star_patch",
|
|
"type": "object"
|
|
},
|
|
"Body_star_resource_generic_api_drive_star_post": {
|
|
"properties": {
|
|
"resource_id": {
|
|
"title": "Resource Id",
|
|
"type": "integer"
|
|
},
|
|
"resource_type": {
|
|
"title": "Resource Type",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"resource_id",
|
|
"resource_type"
|
|
],
|
|
"title": "Body_star_resource_generic_api_drive_star_post",
|
|
"type": "object"
|
|
},
|
|
"Body_transcribe_audio_api_speech_transcribe_post": {
|
|
"properties": {
|
|
"file": {
|
|
"format": "binary",
|
|
"title": "File",
|
|
"type": "string"
|
|
},
|
|
"language": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Language"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
],
|
|
"title": "Body_transcribe_audio_api_speech_transcribe_post",
|
|
"type": "object"
|
|
},
|
|
"Body_unstar_resource_generic_api_drive_star__resource_id__delete": {
|
|
"properties": {
|
|
"resource_type": {
|
|
"title": "Resource Type",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"resource_type"
|
|
],
|
|
"title": "Body_unstar_resource_generic_api_drive_star__resource_id__delete",
|
|
"type": "object"
|
|
},
|
|
"Body_update_file_api_drive_files__file_id__patch": {
|
|
"properties": {
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name"
|
|
},
|
|
"new_folder_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "New Folder Id"
|
|
}
|
|
},
|
|
"title": "Body_update_file_api_drive_files__file_id__patch",
|
|
"type": "object"
|
|
},
|
|
"Body_update_folder_api_drive_folders__folder_id__patch": {
|
|
"properties": {
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 255,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name"
|
|
},
|
|
"new_parent_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "New Parent Id"
|
|
}
|
|
},
|
|
"title": "Body_update_folder_api_drive_folders__folder_id__patch",
|
|
"type": "object"
|
|
},
|
|
"Body_update_my_tenant_compression_api_tenants_me_compression_patch": {
|
|
"properties": {
|
|
"disable_pdf_compression": {
|
|
"title": "Disable Pdf Compression",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"disable_pdf_compression"
|
|
],
|
|
"title": "Body_update_my_tenant_compression_api_tenants_me_compression_patch",
|
|
"type": "object"
|
|
},
|
|
"Body_update_share_api_drive_shares__share_id__patch": {
|
|
"properties": {
|
|
"role": {
|
|
"title": "Role",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"role"
|
|
],
|
|
"title": "Body_update_share_api_drive_shares__share_id__patch",
|
|
"type": "object"
|
|
},
|
|
"Body_upload_api_1_process_document__post": {
|
|
"properties": {
|
|
"file": {
|
|
"format": "binary",
|
|
"title": "File",
|
|
"type": "string"
|
|
},
|
|
"output_format": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Output Format"
|
|
},
|
|
"session_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Session Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
],
|
|
"title": "Body_upload_api_1_process_document__post",
|
|
"type": "object"
|
|
},
|
|
"Body_upload_api_celery_upload_post": {
|
|
"properties": {
|
|
"file": {
|
|
"format": "binary",
|
|
"title": "File",
|
|
"type": "string"
|
|
},
|
|
"output_format": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Output Format"
|
|
},
|
|
"session_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Session Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
],
|
|
"title": "Body_upload_api_celery_upload_post",
|
|
"type": "object"
|
|
},
|
|
"Body_upload_callback_api_drive_upload_callback_post": {
|
|
"properties": {
|
|
"content_type": {
|
|
"default": "application/octet-stream",
|
|
"title": "Content Type",
|
|
"type": "string"
|
|
},
|
|
"file_size": {
|
|
"title": "File Size",
|
|
"type": "integer"
|
|
},
|
|
"filename": {
|
|
"title": "Filename",
|
|
"type": "string"
|
|
},
|
|
"folder_id": {
|
|
"title": "Folder Id",
|
|
"type": "integer"
|
|
},
|
|
"storage_key": {
|
|
"title": "Storage Key",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"storage_key",
|
|
"filename",
|
|
"folder_id",
|
|
"file_size"
|
|
],
|
|
"title": "Body_upload_callback_api_drive_upload_callback_post",
|
|
"type": "object"
|
|
},
|
|
"Body_upload_document_api_chatbot_upload_post": {
|
|
"properties": {
|
|
"file": {
|
|
"format": "binary",
|
|
"title": "File",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
],
|
|
"title": "Body_upload_document_api_chatbot_upload_post",
|
|
"type": "object"
|
|
},
|
|
"Body_upload_file_api_drive_upload_post": {
|
|
"properties": {
|
|
"file_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "File Id"
|
|
},
|
|
"folder_id": {
|
|
"title": "Folder Id",
|
|
"type": "integer"
|
|
},
|
|
"upload": {
|
|
"format": "binary",
|
|
"title": "Upload",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"folder_id",
|
|
"upload"
|
|
],
|
|
"title": "Body_upload_file_api_drive_upload_post",
|
|
"type": "object"
|
|
},
|
|
"Body_upload_file_api_storage_upload_post": {
|
|
"properties": {
|
|
"file": {
|
|
"format": "binary",
|
|
"title": "File",
|
|
"type": "string"
|
|
},
|
|
"folder": {
|
|
"default": "",
|
|
"title": "Folder",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
],
|
|
"title": "Body_upload_file_api_storage_upload_post",
|
|
"type": "object"
|
|
},
|
|
"Body_upload_file_legacy_api_drive_files_upload_post": {
|
|
"properties": {
|
|
"folder_id": {
|
|
"title": "Folder Id",
|
|
"type": "integer"
|
|
},
|
|
"upload": {
|
|
"format": "binary",
|
|
"title": "Upload",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"folder_id",
|
|
"upload"
|
|
],
|
|
"title": "Body_upload_file_legacy_api_drive_files_upload_post",
|
|
"type": "object"
|
|
},
|
|
"Body_verify_signature_api_signing_verify_post": {
|
|
"properties": {
|
|
"file": {
|
|
"format": "binary",
|
|
"title": "File",
|
|
"type": "string"
|
|
},
|
|
"signature_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Signature Id"
|
|
}
|
|
},
|
|
"title": "Body_verify_signature_api_signing_verify_post",
|
|
"type": "object"
|
|
},
|
|
"CeleryHealthOut": {
|
|
"properties": {
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"status"
|
|
],
|
|
"title": "CeleryHealthOut",
|
|
"type": "object"
|
|
},
|
|
"ChangePasswordIn": {
|
|
"properties": {
|
|
"current_password": {
|
|
"title": "Current Password",
|
|
"type": "string"
|
|
},
|
|
"new_password": {
|
|
"minLength": 12,
|
|
"title": "New Password",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"current_password",
|
|
"new_password"
|
|
],
|
|
"title": "ChangePasswordIn",
|
|
"type": "object"
|
|
},
|
|
"ChatDocumentOut": {
|
|
"description": "One row of `GET /api/chatbot/documents`.",
|
|
"properties": {
|
|
"created_at": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created At"
|
|
},
|
|
"document_id": {
|
|
"title": "Document Id",
|
|
"type": "string"
|
|
},
|
|
"filename": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Filename"
|
|
}
|
|
},
|
|
"required": [
|
|
"document_id"
|
|
],
|
|
"title": "ChatDocumentOut",
|
|
"type": "object"
|
|
},
|
|
"ChatRequest": {
|
|
"properties": {
|
|
"bypass_cache": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": false,
|
|
"title": "Bypass Cache"
|
|
},
|
|
"document_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Document Id"
|
|
},
|
|
"question": {
|
|
"maxLength": 1000,
|
|
"minLength": 1,
|
|
"title": "Question",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"question"
|
|
],
|
|
"title": "ChatRequest",
|
|
"type": "object"
|
|
},
|
|
"ChatUsageOut": {
|
|
"description": "`GET /api/chatbot/usage`. Credits, not tokens — the service divides by 1000.",
|
|
"properties": {
|
|
"last_reset": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Last Reset"
|
|
},
|
|
"limit": {
|
|
"default": 0.0,
|
|
"title": "Limit",
|
|
"type": "number"
|
|
},
|
|
"percent": {
|
|
"default": 0.0,
|
|
"title": "Percent",
|
|
"type": "number"
|
|
},
|
|
"tenant_limit": {
|
|
"default": 0.0,
|
|
"title": "Tenant Limit",
|
|
"type": "number"
|
|
},
|
|
"tenant_percent": {
|
|
"default": 0.0,
|
|
"title": "Tenant Percent",
|
|
"type": "number"
|
|
},
|
|
"tenant_used": {
|
|
"default": 0.0,
|
|
"title": "Tenant Used",
|
|
"type": "number"
|
|
},
|
|
"total_ever": {
|
|
"default": 0.0,
|
|
"title": "Total Ever",
|
|
"type": "number"
|
|
},
|
|
"used": {
|
|
"default": 0.0,
|
|
"title": "Used",
|
|
"type": "number"
|
|
}
|
|
},
|
|
"title": "ChatUsageOut",
|
|
"type": "object"
|
|
},
|
|
"ConversionMetricOut": {
|
|
"properties": {
|
|
"completed": {
|
|
"title": "Completed",
|
|
"type": "integer"
|
|
},
|
|
"completion_rate": {
|
|
"title": "Completion Rate",
|
|
"type": "number"
|
|
},
|
|
"failed": {
|
|
"title": "Failed",
|
|
"type": "integer"
|
|
},
|
|
"processing": {
|
|
"title": "Processing",
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"title": "Total",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"total",
|
|
"completed",
|
|
"processing",
|
|
"failed",
|
|
"completion_rate"
|
|
],
|
|
"title": "ConversionMetricOut",
|
|
"type": "object"
|
|
},
|
|
"CreateAccessGroupIn": {
|
|
"properties": {
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"name": {
|
|
"maxLength": 255,
|
|
"minLength": 1,
|
|
"title": "Name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"title": "CreateAccessGroupIn",
|
|
"type": "object"
|
|
},
|
|
"CreateCommentRequest": {
|
|
"properties": {
|
|
"anchor": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Anchor"
|
|
},
|
|
"body": {
|
|
"description": "The comment text body",
|
|
"maxLength": 10000,
|
|
"minLength": 1,
|
|
"title": "Body",
|
|
"type": "string"
|
|
},
|
|
"color": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Color"
|
|
}
|
|
},
|
|
"required": [
|
|
"body"
|
|
],
|
|
"title": "CreateCommentRequest",
|
|
"type": "object"
|
|
},
|
|
"CreateOrgUnitIn": {
|
|
"properties": {
|
|
"code": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 50,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Code"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"name": {
|
|
"maxLength": 255,
|
|
"minLength": 1,
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"parent_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Parent Id"
|
|
},
|
|
"sort_order": {
|
|
"default": 0,
|
|
"title": "Sort Order",
|
|
"type": "integer"
|
|
},
|
|
"unit_type": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 50,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Unit Type"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"title": "CreateOrgUnitIn",
|
|
"type": "object"
|
|
},
|
|
"CreateProjectIn": {
|
|
"properties": {
|
|
"fileType": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "PDF",
|
|
"title": "Filetype"
|
|
},
|
|
"name": {
|
|
"maxLength": 255,
|
|
"minLength": 1,
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"outputFormat": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "EPUB",
|
|
"title": "Outputformat"
|
|
},
|
|
"sessionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Sessionid"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"title": "CreateProjectIn",
|
|
"type": "object"
|
|
},
|
|
"CreateTenantIn": {
|
|
"properties": {
|
|
"chat_token_daily_limit": {
|
|
"default": 1000000,
|
|
"title": "Chat Token Daily Limit",
|
|
"type": "integer"
|
|
},
|
|
"disable_pdf_compression": {
|
|
"default": false,
|
|
"title": "Disable Pdf Compression",
|
|
"type": "boolean"
|
|
},
|
|
"envelope_limit": {
|
|
"default": -1,
|
|
"title": "Envelope Limit",
|
|
"type": "integer"
|
|
},
|
|
"envelope_reset_days": {
|
|
"anyOf": [
|
|
{
|
|
"minimum": 0.0,
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Envelope Reset Days"
|
|
},
|
|
"is_active": {
|
|
"default": true,
|
|
"title": "Is Active",
|
|
"type": "boolean"
|
|
},
|
|
"max_users_allowed": {
|
|
"anyOf": [
|
|
{
|
|
"minimum": 0.0,
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Max Users Allowed"
|
|
},
|
|
"name": {
|
|
"maxLength": 255,
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"maxLength": 100,
|
|
"title": "Slug",
|
|
"type": "string"
|
|
},
|
|
"storage_quota_bytes": {
|
|
"default": 1073741824,
|
|
"title": "Storage Quota Bytes",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"slug"
|
|
],
|
|
"title": "CreateTenantIn",
|
|
"type": "object"
|
|
},
|
|
"DeletedCountOut": {
|
|
"description": "`{\"deleted\": n}` — bulk delete.",
|
|
"properties": {
|
|
"deleted": {
|
|
"title": "Deleted",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"deleted"
|
|
],
|
|
"title": "DeletedCountOut",
|
|
"type": "object"
|
|
},
|
|
"DeviceOut": {
|
|
"properties": {
|
|
"browser": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Browser"
|
|
},
|
|
"city": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "City"
|
|
},
|
|
"country": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Country"
|
|
},
|
|
"device_type": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Device Type"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"is_current_device": {
|
|
"default": false,
|
|
"title": "Is Current Device",
|
|
"type": "boolean"
|
|
},
|
|
"last_login": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Last Login"
|
|
},
|
|
"os": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Os"
|
|
},
|
|
"state": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "State"
|
|
}
|
|
},
|
|
"required": [
|
|
"id"
|
|
],
|
|
"title": "DeviceOut",
|
|
"type": "object"
|
|
},
|
|
"DocusealBuilderTokenRequest": {
|
|
"properties": {
|
|
"drive_file_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Drive File Id"
|
|
},
|
|
"drive_file_ids": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "integer"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Drive File Ids"
|
|
},
|
|
"is_sequential": {
|
|
"default": false,
|
|
"title": "Is Sequential",
|
|
"type": "boolean"
|
|
},
|
|
"submitters": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": [],
|
|
"title": "Submitters"
|
|
},
|
|
"template_id": {
|
|
"title": "Template Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"template_id"
|
|
],
|
|
"title": "DocusealBuilderTokenRequest",
|
|
"type": "object"
|
|
},
|
|
"DocusealSubmissionRequest": {
|
|
"properties": {
|
|
"drive_file_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Drive File Id"
|
|
},
|
|
"drive_file_ids": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "integer"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Drive File Ids"
|
|
},
|
|
"is_sequential": {
|
|
"default": false,
|
|
"title": "Is Sequential",
|
|
"type": "boolean"
|
|
},
|
|
"log_only": {
|
|
"default": false,
|
|
"title": "Log Only",
|
|
"type": "boolean"
|
|
},
|
|
"submitters": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/DocusealSubmitter"
|
|
},
|
|
"title": "Submitters",
|
|
"type": "array"
|
|
},
|
|
"template_id": {
|
|
"title": "Template Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"template_id",
|
|
"submitters"
|
|
],
|
|
"title": "DocusealSubmissionRequest",
|
|
"type": "object"
|
|
},
|
|
"DocusealSubmissionResponse": {
|
|
"properties": {
|
|
"id": {
|
|
"title": "Id"
|
|
},
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
},
|
|
"submitters": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Submitters"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"status"
|
|
],
|
|
"title": "DocusealSubmissionResponse",
|
|
"type": "object"
|
|
},
|
|
"DocusealSubmitter": {
|
|
"properties": {
|
|
"email": {
|
|
"title": "Email",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name"
|
|
},
|
|
"role": {
|
|
"default": "Signer",
|
|
"title": "Role",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"email"
|
|
],
|
|
"title": "DocusealSubmitter",
|
|
"type": "object"
|
|
},
|
|
"DocusealTemplateRequest": {
|
|
"properties": {
|
|
"drive_file_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Drive File Id"
|
|
},
|
|
"drive_file_ids": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "integer"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Drive File Ids"
|
|
}
|
|
},
|
|
"title": "DocusealTemplateRequest",
|
|
"type": "object"
|
|
},
|
|
"DocusealTemplateResponse": {
|
|
"properties": {
|
|
"id": {
|
|
"title": "Id"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Envelope",
|
|
"title": "Name"
|
|
}
|
|
},
|
|
"required": [
|
|
"id"
|
|
],
|
|
"title": "DocusealTemplateResponse",
|
|
"type": "object"
|
|
},
|
|
"DocxExportOut": {
|
|
"description": "`POST /api/export-docx/` — the document returned inline, base64 encoded.",
|
|
"properties": {
|
|
"docx_content": {
|
|
"title": "Docx Content",
|
|
"type": "string"
|
|
},
|
|
"success": {
|
|
"title": "Success",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"docx_content"
|
|
],
|
|
"title": "DocxExportOut",
|
|
"type": "object"
|
|
},
|
|
"DriveActivityListOut": {
|
|
"properties": {
|
|
"activities": {
|
|
"default": [],
|
|
"items": {
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
"title": "Activities",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"title": "DriveActivityListOut",
|
|
"type": "object"
|
|
},
|
|
"DriveBreadcrumb": {
|
|
"properties": {
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name"
|
|
],
|
|
"title": "DriveBreadcrumb",
|
|
"type": "object"
|
|
},
|
|
"DriveCommentListOut": {
|
|
"properties": {
|
|
"comments": {
|
|
"default": [],
|
|
"items": {
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
"title": "Comments",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"title": "DriveCommentListOut",
|
|
"type": "object"
|
|
},
|
|
"DriveDraftListOut": {
|
|
"properties": {
|
|
"drafts": {
|
|
"default": [],
|
|
"items": {
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
"title": "Drafts",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"title": "DriveDraftListOut",
|
|
"type": "object"
|
|
},
|
|
"DriveFileDetailOut": {
|
|
"description": "`GET /api/drive/files/{file_id}` and `/info`.\n\nExtends the *list item*, not `DriveFileOut` — the detail endpoints return\nthree extra signing and versioning fields but no `versions` array, and\ninheriting one would have added `versions: null` to every response.",
|
|
"properties": {
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"display_version": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Display Version"
|
|
},
|
|
"effective_role": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Effective Role"
|
|
},
|
|
"folder_id": {
|
|
"title": "Folder Id",
|
|
"type": "integer"
|
|
},
|
|
"hash": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Hash"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"is_signed": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Is Signed"
|
|
},
|
|
"is_starred": {
|
|
"title": "Is Starred",
|
|
"type": "boolean"
|
|
},
|
|
"is_trashed": {
|
|
"title": "Is Trashed",
|
|
"type": "boolean"
|
|
},
|
|
"latest_version_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Latest Version Id"
|
|
},
|
|
"mime_type": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Mime Type"
|
|
},
|
|
"minor_version": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Minor Version"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"owner_email": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Owner Email"
|
|
},
|
|
"owner_id": {
|
|
"title": "Owner Id",
|
|
"type": "integer"
|
|
},
|
|
"owner_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Owner Name"
|
|
},
|
|
"size": {
|
|
"title": "Size",
|
|
"type": "integer"
|
|
},
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
},
|
|
"trashed_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Trashed At"
|
|
},
|
|
"updated_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Updated At"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"folder_id",
|
|
"owner_id",
|
|
"name",
|
|
"mime_type",
|
|
"size",
|
|
"latest_version_id",
|
|
"is_starred",
|
|
"is_trashed",
|
|
"created_at",
|
|
"updated_at"
|
|
],
|
|
"title": "DriveFileDetailOut",
|
|
"type": "object"
|
|
},
|
|
"DriveFileListItemOut": {
|
|
"description": "A file as it appears inside a collection response.\n\nDeliberately without `versions`. The collection endpoints do not return that\nkey, and a declared field is *added* as null rather than omitted — so\nincluding it here would change every list payload the frontend already\nconsumes. `DriveFileOut` adds it back for the endpoints that do return it.",
|
|
"properties": {
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"effective_role": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Effective Role"
|
|
},
|
|
"folder_id": {
|
|
"title": "Folder Id",
|
|
"type": "integer"
|
|
},
|
|
"hash": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Hash"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"is_starred": {
|
|
"title": "Is Starred",
|
|
"type": "boolean"
|
|
},
|
|
"is_trashed": {
|
|
"title": "Is Trashed",
|
|
"type": "boolean"
|
|
},
|
|
"latest_version_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Latest Version Id"
|
|
},
|
|
"mime_type": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Mime Type"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"owner_email": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Owner Email"
|
|
},
|
|
"owner_id": {
|
|
"title": "Owner Id",
|
|
"type": "integer"
|
|
},
|
|
"owner_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Owner Name"
|
|
},
|
|
"size": {
|
|
"title": "Size",
|
|
"type": "integer"
|
|
},
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
},
|
|
"trashed_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Trashed At"
|
|
},
|
|
"updated_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Updated At"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"folder_id",
|
|
"owner_id",
|
|
"name",
|
|
"mime_type",
|
|
"size",
|
|
"latest_version_id",
|
|
"is_starred",
|
|
"is_trashed",
|
|
"created_at",
|
|
"updated_at"
|
|
],
|
|
"title": "DriveFileListItemOut",
|
|
"type": "object"
|
|
},
|
|
"DriveFileListOut": {
|
|
"description": "`/me/recent` — files only.",
|
|
"properties": {
|
|
"files": {
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/components/schemas/DriveFileListItemOut"
|
|
},
|
|
"title": "Files",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"title": "DriveFileListOut",
|
|
"type": "object"
|
|
},
|
|
"DriveFileVersionOut": {
|
|
"properties": {
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"display_version": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Display Version"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"is_signed": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": false,
|
|
"title": "Is Signed"
|
|
},
|
|
"mime_type": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Mime Type"
|
|
},
|
|
"minor_version": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Minor Version"
|
|
},
|
|
"size": {
|
|
"title": "Size",
|
|
"type": "integer"
|
|
},
|
|
"version_number": {
|
|
"title": "Version Number",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"version_number",
|
|
"mime_type",
|
|
"size",
|
|
"created_at"
|
|
],
|
|
"title": "DriveFileVersionOut",
|
|
"type": "object"
|
|
},
|
|
"DriveFolderContentsOut": {
|
|
"description": "`GET /api/drive/folder/{folder_id}`.",
|
|
"properties": {
|
|
"breadcrumbs": {
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/components/schemas/DriveBreadcrumb"
|
|
},
|
|
"title": "Breadcrumbs",
|
|
"type": "array"
|
|
},
|
|
"files": {
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/components/schemas/DriveFileListItemOut"
|
|
},
|
|
"title": "Files",
|
|
"type": "array"
|
|
},
|
|
"folder": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/DriveFolderDetailOut"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"folders": {
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/components/schemas/DriveFolderDetailOut"
|
|
},
|
|
"title": "Folders",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"title": "DriveFolderContentsOut",
|
|
"type": "object"
|
|
},
|
|
"DriveFolderDetailOut": {
|
|
"description": "The `folder` object of a folder listing.\n\nCarries five fields `DriveFolderOut` never declared — `is_root` in\nparticular is what the frontend uses to decide whether to show a \"back\"\ncontrol, so dropping it would have been a visible regression.",
|
|
"properties": {
|
|
"color": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Color"
|
|
},
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"effective_role": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Effective Role"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"is_root": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Is Root"
|
|
},
|
|
"is_starred": {
|
|
"title": "Is Starred",
|
|
"type": "boolean"
|
|
},
|
|
"is_trashed": {
|
|
"title": "Is Trashed",
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"owner_email": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Owner Email"
|
|
},
|
|
"owner_id": {
|
|
"title": "Owner Id",
|
|
"type": "integer"
|
|
},
|
|
"owner_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Owner Name"
|
|
},
|
|
"parent_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Parent Id"
|
|
},
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
},
|
|
"trashed_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Trashed At"
|
|
},
|
|
"updated_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Updated At"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"owner_id",
|
|
"parent_id",
|
|
"name",
|
|
"color",
|
|
"is_starred",
|
|
"is_trashed",
|
|
"created_at",
|
|
"updated_at"
|
|
],
|
|
"title": "DriveFolderDetailOut",
|
|
"type": "object"
|
|
},
|
|
"DriveFolderOut": {
|
|
"properties": {
|
|
"color": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Color"
|
|
},
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"effective_role": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Effective Role"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"is_starred": {
|
|
"title": "Is Starred",
|
|
"type": "boolean"
|
|
},
|
|
"is_trashed": {
|
|
"title": "Is Trashed",
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"owner_id": {
|
|
"title": "Owner Id",
|
|
"type": "integer"
|
|
},
|
|
"parent_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Parent Id"
|
|
},
|
|
"updated_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Updated At"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"owner_id",
|
|
"parent_id",
|
|
"name",
|
|
"color",
|
|
"is_starred",
|
|
"is_trashed",
|
|
"created_at",
|
|
"updated_at"
|
|
],
|
|
"title": "DriveFolderOut",
|
|
"type": "object"
|
|
},
|
|
"DriveResourceListOut": {
|
|
"description": "`/me/starred` and `/me/trash` — files and folders.",
|
|
"properties": {
|
|
"files": {
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/components/schemas/DriveFileListItemOut"
|
|
},
|
|
"title": "Files",
|
|
"type": "array"
|
|
},
|
|
"folders": {
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/components/schemas/DriveFolderOut"
|
|
},
|
|
"title": "Folders",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"title": "DriveResourceListOut",
|
|
"type": "object"
|
|
},
|
|
"DriveRootOut": {
|
|
"properties": {
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name"
|
|
],
|
|
"title": "DriveRootOut",
|
|
"type": "object"
|
|
},
|
|
"DriveScanStatusOut": {
|
|
"properties": {
|
|
"message": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Message"
|
|
},
|
|
"status": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status"
|
|
}
|
|
},
|
|
"title": "DriveScanStatusOut",
|
|
"type": "object"
|
|
},
|
|
"DriveShareOut": {
|
|
"properties": {
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"expires_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Expires At"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"invited_email": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Invited Email"
|
|
},
|
|
"resource_id": {
|
|
"title": "Resource Id",
|
|
"type": "integer"
|
|
},
|
|
"resource_type": {
|
|
"title": "Resource Type",
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"title": "Role",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"resource_type",
|
|
"resource_id",
|
|
"role",
|
|
"invited_email",
|
|
"expires_at",
|
|
"created_at"
|
|
],
|
|
"title": "DriveShareOut",
|
|
"type": "object"
|
|
},
|
|
"DriveSharedListOut": {
|
|
"description": "`/me/shared` and `/me/shared-by-me` — adds breadcrumbs.",
|
|
"properties": {
|
|
"breadcrumbs": {
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/components/schemas/DriveBreadcrumb"
|
|
},
|
|
"title": "Breadcrumbs",
|
|
"type": "array"
|
|
},
|
|
"files": {
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/components/schemas/DriveFileListItemOut"
|
|
},
|
|
"title": "Files",
|
|
"type": "array"
|
|
},
|
|
"folders": {
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/components/schemas/DriveFolderOut"
|
|
},
|
|
"title": "Folders",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"title": "DriveSharedListOut",
|
|
"type": "object"
|
|
},
|
|
"DriveVersionListOut": {
|
|
"properties": {
|
|
"versions": {
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/components/schemas/DriveFileVersionOut"
|
|
},
|
|
"title": "Versions",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"title": "DriveVersionListOut",
|
|
"type": "object"
|
|
},
|
|
"EditorTokenOut": {
|
|
"properties": {
|
|
"token": {
|
|
"title": "Token",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"token"
|
|
],
|
|
"title": "EditorTokenOut",
|
|
"type": "object"
|
|
},
|
|
"EffectiveAccessOut": {
|
|
"description": "One access code the user holds, with every reason they hold it.\n\nAnswers \"why can this person do that\". With one role per user the question\nanswered itself. With several it does not, and support cannot read the\ndatabase.",
|
|
"properties": {
|
|
"access_code": {
|
|
"title": "Access Code",
|
|
"type": "string"
|
|
},
|
|
"granted_by": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AccessAttributionOut"
|
|
},
|
|
"title": "Granted By",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"access_code",
|
|
"granted_by"
|
|
],
|
|
"title": "EffectiveAccessOut",
|
|
"type": "object"
|
|
},
|
|
"EntitlementOut": {
|
|
"description": "What a workspace is entitled to, resolved.",
|
|
"properties": {
|
|
"access_level": {
|
|
"title": "Access Level",
|
|
"type": "string"
|
|
},
|
|
"cancel_at_period_end": {
|
|
"default": false,
|
|
"title": "Cancel At Period End",
|
|
"type": "boolean"
|
|
},
|
|
"current_period_end": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Current Period End"
|
|
},
|
|
"limits": {
|
|
"additionalProperties": {
|
|
"type": "integer"
|
|
},
|
|
"title": "Limits",
|
|
"type": "object"
|
|
},
|
|
"plan": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/PlanOut"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"status": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status"
|
|
},
|
|
"subscription_active": {
|
|
"title": "Subscription Active",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"subscription_active",
|
|
"access_level",
|
|
"limits"
|
|
],
|
|
"title": "EntitlementOut",
|
|
"type": "object"
|
|
},
|
|
"ExportDocxRequest": {
|
|
"properties": {
|
|
"filename": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "document",
|
|
"description": "The name of the exported file",
|
|
"title": "Filename"
|
|
},
|
|
"markdown_content": {
|
|
"description": "The markdown content to convert to DOCX",
|
|
"title": "Markdown Content",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"markdown_content"
|
|
],
|
|
"title": "ExportDocxRequest",
|
|
"type": "object"
|
|
},
|
|
"ExportHTMLRequest": {
|
|
"properties": {
|
|
"filename": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "document",
|
|
"description": "The name of the exported file",
|
|
"title": "Filename"
|
|
},
|
|
"project_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The ID of the project for activity logging",
|
|
"title": "Project Id"
|
|
},
|
|
"xml_content": {
|
|
"description": "The XML content to convert to HTML",
|
|
"title": "Xml Content",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"xml_content"
|
|
],
|
|
"title": "ExportHTMLRequest",
|
|
"type": "object"
|
|
},
|
|
"ExportPdfRequest": {
|
|
"properties": {
|
|
"filename": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "document",
|
|
"description": "The name of the exported file",
|
|
"title": "Filename"
|
|
},
|
|
"markdown_content": {
|
|
"description": "The markdown content to convert to PDF",
|
|
"title": "Markdown Content",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"markdown_content"
|
|
],
|
|
"title": "ExportPdfRequest",
|
|
"type": "object"
|
|
},
|
|
"ExportSimpleHTMLRequest": {
|
|
"properties": {
|
|
"markdown_content": {
|
|
"description": "The markdown content to convert to simple HTML",
|
|
"title": "Markdown Content",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"markdown_content"
|
|
],
|
|
"title": "ExportSimpleHTMLRequest",
|
|
"type": "object"
|
|
},
|
|
"ExportXMLRequest": {
|
|
"properties": {
|
|
"markdown_content": {
|
|
"description": "The markdown content to convert to XML/JATS",
|
|
"title": "Markdown Content",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"markdown_content"
|
|
],
|
|
"title": "ExportXMLRequest",
|
|
"type": "object"
|
|
},
|
|
"ExtractionRequest": {
|
|
"properties": {
|
|
"document_id": {
|
|
"title": "Document Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"document_id"
|
|
],
|
|
"title": "ExtractionRequest",
|
|
"type": "object"
|
|
},
|
|
"ExtractionResponse": {
|
|
"properties": {
|
|
"cleaned_text": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Cleaned Text"
|
|
},
|
|
"confidence_score": {
|
|
"title": "Confidence Score",
|
|
"type": "number"
|
|
},
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"document_id": {
|
|
"title": "Document Id",
|
|
"type": "integer"
|
|
},
|
|
"document_type": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Document Type"
|
|
},
|
|
"extracted_json": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Extracted Json"
|
|
},
|
|
"extraction_status": {
|
|
"title": "Extraction Status",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"raw_text": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Raw Text"
|
|
},
|
|
"updated_at": {
|
|
"format": "date-time",
|
|
"title": "Updated At",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"document_id",
|
|
"id",
|
|
"confidence_score",
|
|
"extraction_status",
|
|
"created_at",
|
|
"updated_at"
|
|
],
|
|
"title": "ExtractionResponse",
|
|
"type": "object"
|
|
},
|
|
"ForgotPasswordIn": {
|
|
"properties": {
|
|
"email": {
|
|
"format": "email",
|
|
"title": "Email",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"email"
|
|
],
|
|
"title": "ForgotPasswordIn",
|
|
"type": "object"
|
|
},
|
|
"GlobalConfigUpdate": {
|
|
"properties": {
|
|
"active_provider": {
|
|
"title": "Active Provider",
|
|
"type": "string"
|
|
},
|
|
"enabled_providers": {
|
|
"anyOf": [
|
|
{
|
|
"items": {},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Enabled Providers"
|
|
},
|
|
"global_credentials_json": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Global Credentials Json"
|
|
}
|
|
},
|
|
"required": [
|
|
"active_provider"
|
|
],
|
|
"title": "GlobalConfigUpdate",
|
|
"type": "object"
|
|
},
|
|
"GlobalConfigUpdatedOut": {
|
|
"description": "`PUT /api/signing/config/global`.",
|
|
"properties": {
|
|
"active_provider": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Active Provider"
|
|
},
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"status"
|
|
],
|
|
"title": "GlobalConfigUpdatedOut",
|
|
"type": "object"
|
|
},
|
|
"GoogleLoginIn": {
|
|
"properties": {
|
|
"credential": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Credential"
|
|
},
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
},
|
|
"token": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Token"
|
|
}
|
|
},
|
|
"title": "GoogleLoginIn",
|
|
"type": "object"
|
|
},
|
|
"GrantRoleIn": {
|
|
"properties": {
|
|
"expires_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Expires At"
|
|
},
|
|
"group_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Group Id"
|
|
},
|
|
"org_unit_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Org Unit Id"
|
|
},
|
|
"role_id": {
|
|
"format": "uuid",
|
|
"title": "Role Id",
|
|
"type": "string"
|
|
},
|
|
"user_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "User Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"role_id"
|
|
],
|
|
"title": "GrantRoleIn",
|
|
"type": "object"
|
|
},
|
|
"GroupMemberOut": {
|
|
"properties": {
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"group_id": {
|
|
"format": "uuid",
|
|
"title": "Group Id",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"user_id": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"user_id",
|
|
"group_id",
|
|
"created_at"
|
|
],
|
|
"title": "GroupMemberOut",
|
|
"type": "object"
|
|
},
|
|
"HTTPValidationError": {
|
|
"properties": {
|
|
"detail": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/ValidationError"
|
|
},
|
|
"title": "Detail",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"title": "HTTPValidationError",
|
|
"type": "object"
|
|
},
|
|
"LeadOut": {
|
|
"properties": {
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"end_date": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "End Date"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"note": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Note"
|
|
},
|
|
"org_unit_id": {
|
|
"format": "uuid",
|
|
"title": "Org Unit Id",
|
|
"type": "string"
|
|
},
|
|
"start_date": {
|
|
"format": "date",
|
|
"title": "Start Date",
|
|
"type": "string"
|
|
},
|
|
"user_id": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"org_unit_id",
|
|
"user_id",
|
|
"start_date",
|
|
"created_at"
|
|
],
|
|
"title": "LeadOut",
|
|
"type": "object"
|
|
},
|
|
"MarkedCountOut": {
|
|
"description": "`{\"marked\": n}` — bulk mark-as-read.",
|
|
"properties": {
|
|
"marked": {
|
|
"title": "Marked",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"marked"
|
|
],
|
|
"title": "MarkedCountOut",
|
|
"type": "object"
|
|
},
|
|
"MeStatsOut": {
|
|
"description": "`GET /api/me/stats`. The camelCase keys are the existing contract — the\nfrontend reads them as they are, so they are pinned rather than tidied.\nRenaming them is a frontend change, not a schema change.",
|
|
"properties": {
|
|
"joined": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Joined"
|
|
},
|
|
"subscription": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Subscription"
|
|
},
|
|
"totalFiles": {
|
|
"default": 0,
|
|
"title": "Totalfiles",
|
|
"type": "integer"
|
|
},
|
|
"totalProjects": {
|
|
"default": 0,
|
|
"title": "Totalprojects",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"title": "MeStatsOut",
|
|
"type": "object"
|
|
},
|
|
"MemberOut": {
|
|
"properties": {
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"is_primary": {
|
|
"title": "Is Primary",
|
|
"type": "boolean"
|
|
},
|
|
"org_unit_id": {
|
|
"format": "uuid",
|
|
"title": "Org Unit Id",
|
|
"type": "string"
|
|
},
|
|
"user_id": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"user_id",
|
|
"org_unit_id",
|
|
"is_primary",
|
|
"created_at"
|
|
],
|
|
"title": "MemberOut",
|
|
"type": "object"
|
|
},
|
|
"MessageOut": {
|
|
"description": "`{\"message\": \"...\"}` — the most common acknowledgement in the codebase.",
|
|
"properties": {
|
|
"message": {
|
|
"title": "Message",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"message"
|
|
],
|
|
"title": "MessageOut",
|
|
"type": "object"
|
|
},
|
|
"MetricCountOut": {
|
|
"properties": {
|
|
"recent": {
|
|
"title": "Recent",
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"title": "Total",
|
|
"type": "integer"
|
|
},
|
|
"trend": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/MetricTrendPointOut"
|
|
},
|
|
"title": "Trend",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"total",
|
|
"recent",
|
|
"trend"
|
|
],
|
|
"title": "MetricCountOut",
|
|
"type": "object"
|
|
},
|
|
"MetricTrendOnlyOut": {
|
|
"properties": {
|
|
"trend": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/MetricTrendPointOut"
|
|
},
|
|
"title": "Trend",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"trend"
|
|
],
|
|
"title": "MetricTrendOnlyOut",
|
|
"type": "object"
|
|
},
|
|
"MetricTrendPointOut": {
|
|
"properties": {
|
|
"date": {
|
|
"title": "Date",
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"title": "Value",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"date",
|
|
"value"
|
|
],
|
|
"title": "MetricTrendPointOut",
|
|
"type": "object"
|
|
},
|
|
"NotificationOut": {
|
|
"properties": {
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"is_read": {
|
|
"default": false,
|
|
"title": "Is Read",
|
|
"type": "boolean"
|
|
},
|
|
"message": {
|
|
"title": "Message",
|
|
"type": "string"
|
|
},
|
|
"notif_type": {
|
|
"title": "Notif Type",
|
|
"type": "string"
|
|
},
|
|
"resource_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Resource Id"
|
|
},
|
|
"resource_type": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Resource Type"
|
|
},
|
|
"tenant_id": {
|
|
"format": "uuid",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"title": "Title",
|
|
"type": "string"
|
|
},
|
|
"user_id": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"tenant_id",
|
|
"user_id",
|
|
"notif_type",
|
|
"title",
|
|
"message",
|
|
"created_at"
|
|
],
|
|
"title": "NotificationOut",
|
|
"type": "object"
|
|
},
|
|
"OrgStatusOut": {
|
|
"description": "Named `OrgStatusOut`, not `StatusOut`.\n\nAnother module already exports a `StatusOut`, and a duplicate schema name\nmakes openapi-typescript namespace **both** of them — which silently breaks\nthe alias the frontend already had for the original. The generated types are\na shared namespace; colliding in it is a breaking change to somebody else's\nimport.",
|
|
"properties": {
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"status"
|
|
],
|
|
"title": "OrgStatusOut",
|
|
"type": "object"
|
|
},
|
|
"OrgUnitOut": {
|
|
"properties": {
|
|
"code": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Code"
|
|
},
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"depth": {
|
|
"title": "Depth",
|
|
"type": "integer"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"is_deleted": {
|
|
"title": "Is Deleted",
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"parent_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Parent Id"
|
|
},
|
|
"sort_order": {
|
|
"title": "Sort Order",
|
|
"type": "integer"
|
|
},
|
|
"tenant_id": {
|
|
"format": "uuid",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
},
|
|
"unit_type": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Unit Type"
|
|
},
|
|
"updated_at": {
|
|
"format": "date-time",
|
|
"title": "Updated At",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"tenant_id",
|
|
"name",
|
|
"sort_order",
|
|
"depth",
|
|
"is_deleted",
|
|
"created_at",
|
|
"updated_at"
|
|
],
|
|
"title": "OrgUnitOut",
|
|
"type": "object"
|
|
},
|
|
"PageOperation": {
|
|
"properties": {
|
|
"height": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Height"
|
|
},
|
|
"page_index": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Page Index"
|
|
},
|
|
"target_index": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Target Index"
|
|
},
|
|
"type": {
|
|
"title": "Type",
|
|
"type": "string"
|
|
},
|
|
"width": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Width"
|
|
}
|
|
},
|
|
"required": [
|
|
"type"
|
|
],
|
|
"title": "PageOperation",
|
|
"type": "object"
|
|
},
|
|
"PaginatedActivityLogsOut": {
|
|
"properties": {
|
|
"items": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/ActivityLogOut"
|
|
},
|
|
"title": "Items",
|
|
"type": "array"
|
|
},
|
|
"page": {
|
|
"title": "Page",
|
|
"type": "integer"
|
|
},
|
|
"page_size": {
|
|
"title": "Page Size",
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"title": "Total",
|
|
"type": "integer"
|
|
},
|
|
"total_pages": {
|
|
"title": "Total Pages",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"items",
|
|
"total",
|
|
"page",
|
|
"page_size",
|
|
"total_pages"
|
|
],
|
|
"title": "PaginatedActivityLogsOut",
|
|
"type": "object"
|
|
},
|
|
"PaginatedUsersOut": {
|
|
"properties": {
|
|
"items": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/UserListOut"
|
|
},
|
|
"title": "Items",
|
|
"type": "array"
|
|
},
|
|
"page": {
|
|
"title": "Page",
|
|
"type": "integer"
|
|
},
|
|
"page_size": {
|
|
"title": "Page Size",
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"title": "Total",
|
|
"type": "integer"
|
|
},
|
|
"total_pages": {
|
|
"title": "Total Pages",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"items",
|
|
"total",
|
|
"page",
|
|
"page_size",
|
|
"total_pages"
|
|
],
|
|
"title": "PaginatedUsersOut",
|
|
"type": "object"
|
|
},
|
|
"Pagination": {
|
|
"properties": {
|
|
"limit": {
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
},
|
|
"offset": {
|
|
"title": "Offset",
|
|
"type": "integer"
|
|
},
|
|
"total_count": {
|
|
"title": "Total Count",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"limit",
|
|
"offset",
|
|
"total_count"
|
|
],
|
|
"title": "Pagination",
|
|
"type": "object"
|
|
},
|
|
"PdfBlockAddition": {
|
|
"properties": {
|
|
"align": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": 0,
|
|
"title": "Align"
|
|
},
|
|
"bg_color": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Bg Color"
|
|
},
|
|
"bold": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": false,
|
|
"title": "Bold"
|
|
},
|
|
"color": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "#000000",
|
|
"title": "Color"
|
|
},
|
|
"content": {
|
|
"title": "Content",
|
|
"type": "string"
|
|
},
|
|
"font": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Font"
|
|
},
|
|
"font_size": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": 14,
|
|
"title": "Font Size"
|
|
},
|
|
"height": {
|
|
"title": "Height",
|
|
"type": "number"
|
|
},
|
|
"italic": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": false,
|
|
"title": "Italic"
|
|
},
|
|
"page": {
|
|
"title": "Page",
|
|
"type": "integer"
|
|
},
|
|
"type": {
|
|
"title": "Type",
|
|
"type": "string"
|
|
},
|
|
"width": {
|
|
"title": "Width",
|
|
"type": "number"
|
|
},
|
|
"x": {
|
|
"title": "X",
|
|
"type": "number"
|
|
},
|
|
"y": {
|
|
"title": "Y",
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"page",
|
|
"x",
|
|
"y",
|
|
"width",
|
|
"height",
|
|
"content"
|
|
],
|
|
"title": "PdfBlockAddition",
|
|
"type": "object"
|
|
},
|
|
"PlanOut": {
|
|
"properties": {
|
|
"code": {
|
|
"title": "Code",
|
|
"type": "string"
|
|
},
|
|
"currency": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Currency"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"is_public": {
|
|
"title": "Is Public",
|
|
"type": "boolean"
|
|
},
|
|
"limits": {
|
|
"additionalProperties": {
|
|
"type": "integer"
|
|
},
|
|
"title": "Limits",
|
|
"type": "object"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"price_display": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Price Display"
|
|
},
|
|
"sort_order": {
|
|
"title": "Sort Order",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"code",
|
|
"name",
|
|
"is_public",
|
|
"sort_order",
|
|
"limits"
|
|
],
|
|
"title": "PlanOut",
|
|
"type": "object"
|
|
},
|
|
"PresignedUploadOut": {
|
|
"description": "`POST /api/drive/upload/presigned` — a direct-to-storage upload ticket.",
|
|
"properties": {
|
|
"content_type": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Content Type"
|
|
},
|
|
"filename": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Filename"
|
|
},
|
|
"storage_key": {
|
|
"title": "Storage Key",
|
|
"type": "string"
|
|
},
|
|
"upload_url": {
|
|
"title": "Upload Url",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"upload_url",
|
|
"storage_key"
|
|
],
|
|
"title": "PresignedUploadOut",
|
|
"type": "object"
|
|
},
|
|
"ProjectActivityOut": {
|
|
"properties": {
|
|
"activities": {
|
|
"default": [],
|
|
"items": {
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
"title": "Activities",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"title": "ProjectActivityOut",
|
|
"type": "object"
|
|
},
|
|
"ProjectCommentsOut": {
|
|
"properties": {
|
|
"comments": {
|
|
"default": [],
|
|
"items": {
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
"title": "Comments",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"title": "ProjectCommentsOut",
|
|
"type": "object"
|
|
},
|
|
"ProjectDetailOut": {
|
|
"description": "`GET /api/me/projects/{project_id}`.\n\nSix fields the endpoint returns that `ProjectOut` never declared. Applying\n`ProjectOut` directly as a `response_model` would have deleted every one of\nthem from the payload, including the document bodies the editor loads.",
|
|
"properties": {
|
|
"createdAt": {
|
|
"format": "date-time",
|
|
"title": "Createdat",
|
|
"type": "string"
|
|
},
|
|
"currentStep": {
|
|
"title": "Currentstep",
|
|
"type": "string"
|
|
},
|
|
"driveFileId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Drivefileid"
|
|
},
|
|
"fileType": {
|
|
"title": "Filetype",
|
|
"type": "string"
|
|
},
|
|
"htmlContent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Htmlcontent"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"markdownContent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Markdowncontent"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"originalFileInfo": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Originalfileinfo"
|
|
},
|
|
"outputFormat": {
|
|
"title": "Outputformat",
|
|
"type": "string"
|
|
},
|
|
"progress": {
|
|
"title": "Progress",
|
|
"type": "integer"
|
|
},
|
|
"role": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Role"
|
|
},
|
|
"sessionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Sessionid"
|
|
},
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Updatedat"
|
|
},
|
|
"xmlContent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Xmlcontent"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"status",
|
|
"fileType",
|
|
"outputFormat",
|
|
"progress",
|
|
"currentStep",
|
|
"sessionId",
|
|
"createdAt",
|
|
"updatedAt"
|
|
],
|
|
"title": "ProjectDetailOut",
|
|
"type": "object"
|
|
},
|
|
"ProjectDetailsOut": {
|
|
"description": "`GET /api/me/projects/{project_id}/details` — snake_case, assembled by the\ncontroller rather than serialised from the model.",
|
|
"properties": {
|
|
"created_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created At"
|
|
},
|
|
"current_step": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Current Step"
|
|
},
|
|
"current_version_number": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Current Version Number"
|
|
},
|
|
"drive_file_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Drive File Id"
|
|
},
|
|
"file_type": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "File Type"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ProjectOwnerOut"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"permission": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Permission"
|
|
},
|
|
"progress": {
|
|
"default": 0,
|
|
"title": "Progress",
|
|
"type": "integer"
|
|
},
|
|
"shares_count": {
|
|
"default": 0,
|
|
"title": "Shares Count",
|
|
"type": "integer"
|
|
},
|
|
"status": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status"
|
|
},
|
|
"updated_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Updated At"
|
|
},
|
|
"versions_count": {
|
|
"default": 0,
|
|
"title": "Versions Count",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name"
|
|
],
|
|
"title": "ProjectDetailsOut",
|
|
"type": "object"
|
|
},
|
|
"ProjectOut": {
|
|
"properties": {
|
|
"createdAt": {
|
|
"format": "date-time",
|
|
"title": "Createdat",
|
|
"type": "string"
|
|
},
|
|
"currentStep": {
|
|
"title": "Currentstep",
|
|
"type": "string"
|
|
},
|
|
"fileType": {
|
|
"title": "Filetype",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"outputFormat": {
|
|
"title": "Outputformat",
|
|
"type": "string"
|
|
},
|
|
"progress": {
|
|
"title": "Progress",
|
|
"type": "integer"
|
|
},
|
|
"sessionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Sessionid"
|
|
},
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Updatedat"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"status",
|
|
"fileType",
|
|
"outputFormat",
|
|
"progress",
|
|
"currentStep",
|
|
"sessionId",
|
|
"createdAt",
|
|
"updatedAt"
|
|
],
|
|
"title": "ProjectOut",
|
|
"type": "object"
|
|
},
|
|
"ProjectOwnerOut": {
|
|
"additionalProperties": true,
|
|
"description": "The `owner` object nested in a project's details.",
|
|
"properties": {},
|
|
"title": "ProjectOwnerOut",
|
|
"type": "object"
|
|
},
|
|
"RegisterIn": {
|
|
"properties": {
|
|
"designation": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 100,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Designation"
|
|
},
|
|
"email": {
|
|
"format": "email",
|
|
"title": "Email",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"minLength": 2,
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"minLength": 12,
|
|
"title": "Password",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"email",
|
|
"password",
|
|
"name"
|
|
],
|
|
"title": "RegisterIn",
|
|
"type": "object"
|
|
},
|
|
"RegisterOut": {
|
|
"properties": {
|
|
"email": {
|
|
"anyOf": [
|
|
{
|
|
"format": "email",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Email"
|
|
},
|
|
"message": {
|
|
"title": "Message",
|
|
"type": "string"
|
|
},
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
},
|
|
"user_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "User Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"message"
|
|
],
|
|
"title": "RegisterOut",
|
|
"type": "object"
|
|
},
|
|
"ReparentIn": {
|
|
"properties": {
|
|
"parent_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Parent Id"
|
|
}
|
|
},
|
|
"title": "ReparentIn",
|
|
"type": "object"
|
|
},
|
|
"ResendReminderRequest": {
|
|
"properties": {
|
|
"email": {
|
|
"title": "Email",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"email"
|
|
],
|
|
"title": "ResendReminderRequest",
|
|
"type": "object"
|
|
},
|
|
"ResetPasswordIn": {
|
|
"properties": {
|
|
"new_password": {
|
|
"minLength": 12,
|
|
"title": "New Password",
|
|
"type": "string"
|
|
},
|
|
"token": {
|
|
"title": "Token",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"token",
|
|
"new_password"
|
|
],
|
|
"title": "ResetPasswordIn",
|
|
"type": "object"
|
|
},
|
|
"ResolveDeviceLimitIn": {
|
|
"properties": {
|
|
"logout_device_id": {
|
|
"title": "Logout Device Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"logout_device_id"
|
|
],
|
|
"title": "ResolveDeviceLimitIn",
|
|
"type": "object"
|
|
},
|
|
"RoleAccessOut": {
|
|
"properties": {
|
|
"access_code": {
|
|
"title": "Access Code",
|
|
"type": "string"
|
|
},
|
|
"category": {
|
|
"title": "Category",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"parent_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Parent Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"access_code",
|
|
"category"
|
|
],
|
|
"title": "RoleAccessOut",
|
|
"type": "object"
|
|
},
|
|
"RoleAccessesOut": {
|
|
"description": "`GET /api/access/get` — the caller's roles and the codes they carry.",
|
|
"properties": {
|
|
"accesses": {
|
|
"default": [],
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"title": "Accesses",
|
|
"type": "array"
|
|
},
|
|
"role": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Role"
|
|
},
|
|
"roles": {
|
|
"default": [],
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"title": "Roles",
|
|
"type": "array"
|
|
},
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
"title": "RoleAccessesOut",
|
|
"type": "object"
|
|
},
|
|
"RoleAssignedOut": {
|
|
"description": "`POST /api/roles/assign-user`.",
|
|
"properties": {
|
|
"message": {
|
|
"title": "Message",
|
|
"type": "string"
|
|
},
|
|
"role_id": {
|
|
"title": "Role Id",
|
|
"type": "string"
|
|
},
|
|
"user_id": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"message",
|
|
"user_id",
|
|
"role_id"
|
|
],
|
|
"title": "RoleAssignedOut",
|
|
"type": "object"
|
|
},
|
|
"RoleAssignmentOut": {
|
|
"description": "One role a user holds, and how they hold it.\n\n`source` is the field that keeps the interface honest:\n\n \"primary\" the legacy `users.role_id`. Changed through\n `PATCH /api/admin/users/{id}`, **not** revocable as a grant,\n and while it is set it cannot be narrowed by anything (see\n `ScopeService._resolve`)\n \"grant\" a `user_roles` row naming this user. Added and revoked freely\n \"group\" a `user_roles` row naming a group this user belongs to. It\n confers codes; it is removed by editing the group\n\nRendering the three identically would imply that removing any of them is the\nsame action. It is not, and that is exactly where a permissions screen\nmisleads the person using it.",
|
|
"properties": {
|
|
"assigned_by_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Assigned By Id"
|
|
},
|
|
"created_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created At"
|
|
},
|
|
"expires_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Expires At"
|
|
},
|
|
"grant_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Grant Id"
|
|
},
|
|
"group_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Group Id"
|
|
},
|
|
"group_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Group Name"
|
|
},
|
|
"is_expired": {
|
|
"default": false,
|
|
"title": "Is Expired",
|
|
"type": "boolean"
|
|
},
|
|
"org_unit_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Org Unit Id"
|
|
},
|
|
"org_unit_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Org Unit Name"
|
|
},
|
|
"role_id": {
|
|
"format": "uuid",
|
|
"title": "Role Id",
|
|
"type": "string"
|
|
},
|
|
"role_name": {
|
|
"title": "Role Name",
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"enum": [
|
|
"primary",
|
|
"grant",
|
|
"group"
|
|
],
|
|
"title": "Source",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"role_id",
|
|
"role_name",
|
|
"source"
|
|
],
|
|
"title": "RoleAssignmentOut",
|
|
"type": "object"
|
|
},
|
|
"RoleCreate": {
|
|
"properties": {
|
|
"access_ids": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": [],
|
|
"title": "Access Ids"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"is_default": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": false,
|
|
"title": "Is Default"
|
|
},
|
|
"role_name": {
|
|
"maxLength": 100,
|
|
"title": "Role Name",
|
|
"type": "string"
|
|
},
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"role_name"
|
|
],
|
|
"title": "RoleCreate",
|
|
"type": "object"
|
|
},
|
|
"RoleOut": {
|
|
"properties": {
|
|
"created_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created At"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"is_default": {
|
|
"default": false,
|
|
"title": "Is Default",
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name"
|
|
],
|
|
"title": "RoleOut",
|
|
"type": "object"
|
|
},
|
|
"RolePaginatedOut": {
|
|
"properties": {
|
|
"items": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/RoleOut"
|
|
},
|
|
"title": "Items",
|
|
"type": "array"
|
|
},
|
|
"page": {
|
|
"title": "Page",
|
|
"type": "integer"
|
|
},
|
|
"page_size": {
|
|
"title": "Page Size",
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"title": "Total",
|
|
"type": "integer"
|
|
},
|
|
"total_pages": {
|
|
"title": "Total Pages",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"items",
|
|
"total",
|
|
"page",
|
|
"page_size",
|
|
"total_pages"
|
|
],
|
|
"title": "RolePaginatedOut",
|
|
"type": "object"
|
|
},
|
|
"RoleUpdate": {
|
|
"properties": {
|
|
"access_ids": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Access Ids"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"is_default": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Is Default"
|
|
},
|
|
"role_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Role Name"
|
|
}
|
|
},
|
|
"title": "RoleUpdate",
|
|
"type": "object"
|
|
},
|
|
"RoleWithAccessesOut": {
|
|
"properties": {
|
|
"accesses": {
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/components/schemas/RoleAccessOut"
|
|
},
|
|
"title": "Accesses",
|
|
"type": "array"
|
|
},
|
|
"assigned_user_count": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Assigned User Count"
|
|
},
|
|
"created_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created At"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"is_default": {
|
|
"default": false,
|
|
"title": "Is Default",
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name"
|
|
],
|
|
"title": "RoleWithAccessesOut",
|
|
"type": "object"
|
|
},
|
|
"SaveDraftsRequest": {
|
|
"properties": {
|
|
"drafts": {
|
|
"items": {
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
"title": "Drafts",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"drafts"
|
|
],
|
|
"title": "SaveDraftsRequest",
|
|
"type": "object"
|
|
},
|
|
"SaveEditsRequest": {
|
|
"properties": {
|
|
"additions": {
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/components/schemas/PdfBlockAddition"
|
|
},
|
|
"title": "Additions",
|
|
"type": "array"
|
|
},
|
|
"edits": {
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/components/schemas/BlockEdit"
|
|
},
|
|
"title": "Edits",
|
|
"type": "array"
|
|
},
|
|
"page_ops": {
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/components/schemas/PageOperation"
|
|
},
|
|
"title": "Page Ops",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"title": "SaveEditsRequest",
|
|
"type": "object"
|
|
},
|
|
"ScopedRoleOut": {
|
|
"properties": {
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"expires_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Expires At"
|
|
},
|
|
"group_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Group Id"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"org_unit_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Org Unit Id"
|
|
},
|
|
"role_id": {
|
|
"format": "uuid",
|
|
"title": "Role Id",
|
|
"type": "string"
|
|
},
|
|
"user_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "User Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"role_id",
|
|
"created_at"
|
|
],
|
|
"title": "ScopedRoleOut",
|
|
"type": "object"
|
|
},
|
|
"SelfSignRequest": {
|
|
"properties": {
|
|
"drive_file_id": {
|
|
"title": "Drive File Id",
|
|
"type": "integer"
|
|
},
|
|
"placements": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SignaturePlacement"
|
|
},
|
|
"title": "Placements",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"drive_file_id",
|
|
"placements"
|
|
],
|
|
"title": "SelfSignRequest",
|
|
"type": "object"
|
|
},
|
|
"SelfSignResponse": {
|
|
"properties": {
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"signed_file_id": {
|
|
"title": "Signed File Id",
|
|
"type": "integer"
|
|
},
|
|
"signed_file_name": {
|
|
"title": "Signed File Name",
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"status",
|
|
"signed_file_id",
|
|
"signed_file_name"
|
|
],
|
|
"title": "SelfSignResponse",
|
|
"type": "object"
|
|
},
|
|
"SendOTPRequest": {
|
|
"properties": {
|
|
"email": {
|
|
"title": "Email",
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"title": "Slug",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"slug",
|
|
"email"
|
|
],
|
|
"title": "SendOTPRequest",
|
|
"type": "object"
|
|
},
|
|
"SetLeadIn": {
|
|
"properties": {
|
|
"note": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Note"
|
|
},
|
|
"start_date": {
|
|
"format": "date",
|
|
"title": "Start Date",
|
|
"type": "string"
|
|
},
|
|
"user_id": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"user_id",
|
|
"start_date"
|
|
],
|
|
"title": "SetLeadIn",
|
|
"type": "object"
|
|
},
|
|
"SetOverrideIn": {
|
|
"properties": {
|
|
"key": {
|
|
"title": "Key",
|
|
"type": "string"
|
|
},
|
|
"note": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Why. An exception with no reason recorded becomes folklore.",
|
|
"title": "Note"
|
|
},
|
|
"value": {
|
|
"description": "-1 means unlimited",
|
|
"title": "Value",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"key",
|
|
"value"
|
|
],
|
|
"title": "SetOverrideIn",
|
|
"type": "object"
|
|
},
|
|
"SetPlanIn": {
|
|
"properties": {
|
|
"current_period_end": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Current Period End"
|
|
},
|
|
"external_ref": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "External Ref"
|
|
},
|
|
"plan_code": {
|
|
"title": "Plan Code",
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status"
|
|
}
|
|
},
|
|
"required": [
|
|
"plan_code"
|
|
],
|
|
"title": "SetPlanIn",
|
|
"type": "object"
|
|
},
|
|
"ShareMetricOut": {
|
|
"properties": {
|
|
"external": {
|
|
"title": "External",
|
|
"type": "integer"
|
|
},
|
|
"internal": {
|
|
"title": "Internal",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"internal",
|
|
"external"
|
|
],
|
|
"title": "ShareMetricOut",
|
|
"type": "object"
|
|
},
|
|
"ShareProjectRequest": {
|
|
"properties": {
|
|
"permission": {
|
|
"title": "Permission",
|
|
"type": "string"
|
|
},
|
|
"project_id": {
|
|
"title": "Project Id",
|
|
"type": "integer"
|
|
},
|
|
"user_email": {
|
|
"format": "email",
|
|
"title": "User Email",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"project_id",
|
|
"user_email",
|
|
"permission"
|
|
],
|
|
"title": "ShareProjectRequest",
|
|
"type": "object"
|
|
},
|
|
"ShareProjectResponse": {
|
|
"properties": {
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"permission": {
|
|
"title": "Permission",
|
|
"type": "string"
|
|
},
|
|
"project_id": {
|
|
"title": "Project Id",
|
|
"type": "integer"
|
|
},
|
|
"shared_with_user_email": {
|
|
"format": "email",
|
|
"title": "Shared With User Email",
|
|
"type": "string"
|
|
},
|
|
"shared_with_user_id": {
|
|
"title": "Shared With User Id",
|
|
"type": "integer"
|
|
},
|
|
"shared_with_user_name": {
|
|
"title": "Shared With User Name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"project_id",
|
|
"shared_with_user_id",
|
|
"shared_with_user_email",
|
|
"shared_with_user_name",
|
|
"permission",
|
|
"created_at"
|
|
],
|
|
"title": "ShareProjectResponse",
|
|
"type": "object"
|
|
},
|
|
"SharedProjectInfo": {
|
|
"properties": {
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"current_step": {
|
|
"title": "Current Step",
|
|
"type": "string"
|
|
},
|
|
"file_type": {
|
|
"title": "File Type",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"output_format": {
|
|
"title": "Output Format",
|
|
"type": "string"
|
|
},
|
|
"owner_email": {
|
|
"format": "email",
|
|
"title": "Owner Email",
|
|
"type": "string"
|
|
},
|
|
"owner_name": {
|
|
"title": "Owner Name",
|
|
"type": "string"
|
|
},
|
|
"permission": {
|
|
"title": "Permission",
|
|
"type": "string"
|
|
},
|
|
"progress": {
|
|
"title": "Progress",
|
|
"type": "integer"
|
|
},
|
|
"session_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Session Id"
|
|
},
|
|
"shared_at": {
|
|
"format": "date-time",
|
|
"title": "Shared At",
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"status",
|
|
"file_type",
|
|
"output_format",
|
|
"progress",
|
|
"current_step",
|
|
"session_id",
|
|
"created_at",
|
|
"owner_email",
|
|
"owner_name",
|
|
"permission",
|
|
"shared_at"
|
|
],
|
|
"title": "SharedProjectInfo",
|
|
"type": "object"
|
|
},
|
|
"SignatureImprintItem": {
|
|
"properties": {
|
|
"bbox_points": {
|
|
"items": {
|
|
"type": "number"
|
|
},
|
|
"title": "Bbox Points",
|
|
"type": "array"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"page_number": {
|
|
"title": "Page Number",
|
|
"type": "integer"
|
|
},
|
|
"signature_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Signature Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"page_number",
|
|
"bbox_points",
|
|
"signature_id"
|
|
],
|
|
"title": "SignatureImprintItem",
|
|
"type": "object"
|
|
},
|
|
"SignatureImprintsResponse": {
|
|
"properties": {
|
|
"imprints": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SignatureImprintItem"
|
|
},
|
|
"title": "Imprints",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"imprints"
|
|
],
|
|
"title": "SignatureImprintsResponse",
|
|
"type": "object"
|
|
},
|
|
"SignaturePlacement": {
|
|
"properties": {
|
|
"content_base64": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Content Base64"
|
|
},
|
|
"element_type": {
|
|
"title": "Element Type",
|
|
"type": "string"
|
|
},
|
|
"font_size": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": 14,
|
|
"title": "Font Size"
|
|
},
|
|
"height": {
|
|
"title": "Height",
|
|
"type": "number"
|
|
},
|
|
"page": {
|
|
"title": "Page",
|
|
"type": "integer"
|
|
},
|
|
"page_width_px": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Page Width Px"
|
|
},
|
|
"signature_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Signature Id"
|
|
},
|
|
"signer_designation": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Signer Designation"
|
|
},
|
|
"signer_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Signer Name"
|
|
},
|
|
"text_content": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Text Content"
|
|
},
|
|
"use_template": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": true,
|
|
"title": "Use Template"
|
|
},
|
|
"width": {
|
|
"title": "Width",
|
|
"type": "number"
|
|
},
|
|
"x": {
|
|
"title": "X",
|
|
"type": "number"
|
|
},
|
|
"y": {
|
|
"title": "Y",
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"page",
|
|
"x",
|
|
"y",
|
|
"width",
|
|
"height",
|
|
"element_type"
|
|
],
|
|
"title": "SignaturePlacement",
|
|
"type": "object"
|
|
},
|
|
"SigningConfigOut": {
|
|
"properties": {
|
|
"custom_credentials_json": {
|
|
"additionalProperties": true,
|
|
"default": {},
|
|
"title": "Custom Credentials Json",
|
|
"type": "object"
|
|
},
|
|
"custom_provider": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Custom Provider"
|
|
},
|
|
"enabled_providers": {
|
|
"default": [],
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"title": "Enabled Providers",
|
|
"type": "array"
|
|
},
|
|
"global_active_provider": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Global Active Provider"
|
|
},
|
|
"is_custom_credentials": {
|
|
"default": false,
|
|
"title": "Is Custom Credentials",
|
|
"type": "boolean"
|
|
},
|
|
"provider": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Provider"
|
|
},
|
|
"use_custom_credentials": {
|
|
"default": false,
|
|
"title": "Use Custom Credentials",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"title": "SigningConfigOut",
|
|
"type": "object"
|
|
},
|
|
"SigningHistoryItem": {
|
|
"properties": {
|
|
"completed_at": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Completed At"
|
|
},
|
|
"created_at": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created At"
|
|
},
|
|
"drive_file_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Drive File Id"
|
|
},
|
|
"file_name": {
|
|
"title": "File Name",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"ip_address": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Ip Address"
|
|
},
|
|
"signed_file_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Signed File Id"
|
|
},
|
|
"signing_metadata": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Signing Metadata"
|
|
},
|
|
"signing_type": {
|
|
"title": "Signing Type",
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
},
|
|
"user_agent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "User Agent"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"signing_type",
|
|
"status",
|
|
"file_name"
|
|
],
|
|
"title": "SigningHistoryItem",
|
|
"type": "object"
|
|
},
|
|
"SimpleMetricOut": {
|
|
"properties": {
|
|
"total": {
|
|
"title": "Total",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"total"
|
|
],
|
|
"title": "SimpleMetricOut",
|
|
"type": "object"
|
|
},
|
|
"StatusMessageOut": {
|
|
"description": "`{\"status\": \"...\", \"message\": \"...\"}`.",
|
|
"properties": {
|
|
"message": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Message"
|
|
},
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"status"
|
|
],
|
|
"title": "StatusMessageOut",
|
|
"type": "object"
|
|
},
|
|
"StatusOut": {
|
|
"description": "`{\"status\": \"ok\"}` / `{\"status\": \"success\"}`.",
|
|
"properties": {
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"status"
|
|
],
|
|
"title": "StatusOut",
|
|
"type": "object"
|
|
},
|
|
"StorageAlerts": {
|
|
"properties": {
|
|
"banner": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Banner"
|
|
},
|
|
"center_message": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Center Message"
|
|
},
|
|
"current_threshold": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Current Threshold"
|
|
},
|
|
"ring_color": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Ring Color"
|
|
},
|
|
"severity": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Severity"
|
|
}
|
|
},
|
|
"title": "StorageAlerts",
|
|
"type": "object"
|
|
},
|
|
"StorageBreakdown": {
|
|
"properties": {
|
|
"docx": {
|
|
"default": 0,
|
|
"title": "Docx",
|
|
"type": "integer"
|
|
},
|
|
"html": {
|
|
"default": 0,
|
|
"title": "Html",
|
|
"type": "integer"
|
|
},
|
|
"other": {
|
|
"default": 0,
|
|
"title": "Other",
|
|
"type": "integer"
|
|
},
|
|
"pdf": {
|
|
"default": 0,
|
|
"title": "Pdf",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"title": "StorageBreakdown",
|
|
"type": "object"
|
|
},
|
|
"StorageFileSummary": {
|
|
"description": "One row of `GET /api/storage/files`, as built by StorageService.",
|
|
"properties": {
|
|
"created_at": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created At"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"mime_type": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Mime Type"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name"
|
|
},
|
|
"size": {
|
|
"default": 0,
|
|
"title": "Size",
|
|
"type": "integer"
|
|
},
|
|
"size_formatted": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Size Formatted"
|
|
}
|
|
},
|
|
"required": [
|
|
"id"
|
|
],
|
|
"title": "StorageFileSummary",
|
|
"type": "object"
|
|
},
|
|
"StorageFilesResponse": {
|
|
"properties": {
|
|
"files": {
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/components/schemas/StorageFileSummary"
|
|
},
|
|
"title": "Files",
|
|
"type": "array"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"storage": {
|
|
"$ref": "#/components/schemas/StorageUsageDetail"
|
|
}
|
|
},
|
|
"required": [
|
|
"pagination",
|
|
"storage"
|
|
],
|
|
"title": "StorageFilesResponse",
|
|
"type": "object"
|
|
},
|
|
"StorageMetricOut": {
|
|
"properties": {
|
|
"quota_bytes": {
|
|
"title": "Quota Bytes",
|
|
"type": "integer"
|
|
},
|
|
"quota_formatted": {
|
|
"title": "Quota Formatted",
|
|
"type": "string"
|
|
},
|
|
"usage_percentage": {
|
|
"title": "Usage Percentage",
|
|
"type": "number"
|
|
},
|
|
"used_bytes": {
|
|
"title": "Used Bytes",
|
|
"type": "integer"
|
|
},
|
|
"used_formatted": {
|
|
"title": "Used Formatted",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"used_bytes",
|
|
"quota_bytes",
|
|
"usage_percentage",
|
|
"used_formatted",
|
|
"quota_formatted"
|
|
],
|
|
"title": "StorageMetricOut",
|
|
"type": "object"
|
|
},
|
|
"StorageNonceOut": {
|
|
"properties": {
|
|
"nonce": {
|
|
"title": "Nonce",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"nonce"
|
|
],
|
|
"title": "StorageNonceOut",
|
|
"type": "object"
|
|
},
|
|
"StorageUsageDetail": {
|
|
"description": "The `usage` / `storage` object, shared by both endpoints.",
|
|
"properties": {
|
|
"alerts": {
|
|
"$ref": "#/components/schemas/StorageAlerts",
|
|
"default": {}
|
|
},
|
|
"breakdown": {
|
|
"$ref": "#/components/schemas/StorageBreakdown",
|
|
"default": {
|
|
"docx": 0,
|
|
"html": 0,
|
|
"other": 0,
|
|
"pdf": 0
|
|
}
|
|
},
|
|
"file_count": {
|
|
"default": 0,
|
|
"title": "File Count",
|
|
"type": "integer"
|
|
},
|
|
"percent": {
|
|
"default": 0.0,
|
|
"title": "Percent",
|
|
"type": "number"
|
|
},
|
|
"quota_bytes": {
|
|
"default": 0,
|
|
"title": "Quota Bytes",
|
|
"type": "integer"
|
|
},
|
|
"quota_formatted": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Quota Formatted"
|
|
},
|
|
"remaining_bytes": {
|
|
"default": 0,
|
|
"title": "Remaining Bytes",
|
|
"type": "integer"
|
|
},
|
|
"remaining_formatted": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Remaining Formatted"
|
|
},
|
|
"scope": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Scope"
|
|
},
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
},
|
|
"total_bytes": {
|
|
"default": 0,
|
|
"title": "Total Bytes",
|
|
"type": "integer"
|
|
},
|
|
"total_formatted": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Total Formatted"
|
|
},
|
|
"usage_percentage": {
|
|
"default": 0.0,
|
|
"title": "Usage Percentage",
|
|
"type": "number"
|
|
},
|
|
"used_bytes": {
|
|
"default": 0,
|
|
"title": "Used Bytes",
|
|
"type": "integer"
|
|
},
|
|
"used_formatted": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Used Formatted"
|
|
},
|
|
"user_stats": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserStorageStats"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"title": "StorageUsageDetail",
|
|
"type": "object"
|
|
},
|
|
"StorageUsageResponse": {
|
|
"properties": {
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
},
|
|
"usage": {
|
|
"$ref": "#/components/schemas/StorageUsageDetail"
|
|
},
|
|
"user_id": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"user_id",
|
|
"usage"
|
|
],
|
|
"title": "StorageUsageResponse",
|
|
"type": "object"
|
|
},
|
|
"SubscriptionOut": {
|
|
"properties": {
|
|
"cancel_at_period_end": {
|
|
"title": "Cancel At Period End",
|
|
"type": "boolean"
|
|
},
|
|
"current_period_end": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Current Period End"
|
|
},
|
|
"external_ref": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "External Ref"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"plan_id": {
|
|
"format": "uuid",
|
|
"title": "Plan Id",
|
|
"type": "string"
|
|
},
|
|
"started_at": {
|
|
"format": "date-time",
|
|
"title": "Started At",
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
},
|
|
"tenant_id": {
|
|
"format": "uuid",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"tenant_id",
|
|
"plan_id",
|
|
"status",
|
|
"started_at",
|
|
"cancel_at_period_end"
|
|
],
|
|
"title": "SubscriptionOut",
|
|
"type": "object"
|
|
},
|
|
"SuccessOut": {
|
|
"description": "`{\"success\": true}`.",
|
|
"properties": {
|
|
"success": {
|
|
"title": "Success",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
],
|
|
"title": "SuccessOut",
|
|
"type": "object"
|
|
},
|
|
"SystemConfigurationIn": {
|
|
"properties": {
|
|
"bool_value": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Bool Value"
|
|
},
|
|
"config_key": {
|
|
"maxLength": 100,
|
|
"minLength": 1,
|
|
"title": "Config Key",
|
|
"type": "string"
|
|
},
|
|
"int_value": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Int Value"
|
|
},
|
|
"text_value": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Text Value"
|
|
}
|
|
},
|
|
"required": [
|
|
"config_key"
|
|
],
|
|
"title": "SystemConfigurationIn",
|
|
"type": "object"
|
|
},
|
|
"SystemConfigurationOut": {
|
|
"properties": {
|
|
"bool_value": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Bool Value"
|
|
},
|
|
"config_key": {
|
|
"title": "Config Key",
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"created_by_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created By Id"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"int_value": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Int Value"
|
|
},
|
|
"text_value": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Text Value"
|
|
},
|
|
"updated_at": {
|
|
"format": "date-time",
|
|
"title": "Updated At",
|
|
"type": "string"
|
|
},
|
|
"updated_by_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Updated By Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"config_key",
|
|
"created_at",
|
|
"updated_at"
|
|
],
|
|
"title": "SystemConfigurationOut",
|
|
"type": "object"
|
|
},
|
|
"SystemConfigurationPatchIn": {
|
|
"properties": {
|
|
"bool_value": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Bool Value"
|
|
},
|
|
"int_value": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Int Value"
|
|
},
|
|
"text_value": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Text Value"
|
|
}
|
|
},
|
|
"title": "SystemConfigurationPatchIn",
|
|
"type": "object"
|
|
},
|
|
"SystemLimitsOut": {
|
|
"properties": {
|
|
"active_tenants": {
|
|
"title": "Active Tenants",
|
|
"type": "integer"
|
|
},
|
|
"active_users": {
|
|
"title": "Active Users",
|
|
"type": "integer"
|
|
},
|
|
"allocated_tenant_user_limit": {
|
|
"title": "Allocated Tenant User Limit",
|
|
"type": "integer"
|
|
},
|
|
"available_user_slots": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Available User Slots"
|
|
},
|
|
"max_tenants": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Max Tenants"
|
|
},
|
|
"max_users": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Max Users"
|
|
}
|
|
},
|
|
"required": [
|
|
"active_tenants",
|
|
"active_users",
|
|
"allocated_tenant_user_limit"
|
|
],
|
|
"title": "SystemLimitsOut",
|
|
"type": "object"
|
|
},
|
|
"TenantConfigUpdate": {
|
|
"properties": {
|
|
"custom_credentials_json": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Custom Credentials Json"
|
|
},
|
|
"custom_provider": {
|
|
"title": "Custom Provider",
|
|
"type": "string"
|
|
},
|
|
"use_custom_credentials": {
|
|
"title": "Use Custom Credentials",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"use_custom_credentials",
|
|
"custom_provider"
|
|
],
|
|
"title": "TenantConfigUpdate",
|
|
"type": "object"
|
|
},
|
|
"TenantContactCreate": {
|
|
"properties": {
|
|
"email": {
|
|
"format": "email",
|
|
"title": "Email",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"maxLength": 255,
|
|
"title": "Name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"email"
|
|
],
|
|
"title": "TenantContactCreate",
|
|
"type": "object"
|
|
},
|
|
"TenantContactOut": {
|
|
"properties": {
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"format": "email",
|
|
"title": "Email",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"maxLength": 255,
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"tenant_id": {
|
|
"format": "uuid",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"format": "date-time",
|
|
"title": "Updated At",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"email",
|
|
"id",
|
|
"tenant_id",
|
|
"created_at",
|
|
"updated_at"
|
|
],
|
|
"title": "TenantContactOut",
|
|
"type": "object"
|
|
},
|
|
"TenantContactUpdate": {
|
|
"properties": {
|
|
"email": {
|
|
"anyOf": [
|
|
{
|
|
"format": "email",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Email"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 255,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name"
|
|
}
|
|
},
|
|
"title": "TenantContactUpdate",
|
|
"type": "object"
|
|
},
|
|
"TenantOut": {
|
|
"properties": {
|
|
"chat_token_daily_limit": {
|
|
"default": 1000000,
|
|
"title": "Chat Token Daily Limit",
|
|
"type": "integer"
|
|
},
|
|
"chat_tokens_used_today": {
|
|
"default": 0,
|
|
"title": "Chat Tokens Used Today",
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"disable_pdf_compression": {
|
|
"default": false,
|
|
"title": "Disable Pdf Compression",
|
|
"type": "boolean"
|
|
},
|
|
"envelope_last_reset_at": {
|
|
"format": "date-time",
|
|
"title": "Envelope Last Reset At",
|
|
"type": "string"
|
|
},
|
|
"envelope_limit": {
|
|
"default": -1,
|
|
"title": "Envelope Limit",
|
|
"type": "integer"
|
|
},
|
|
"envelope_reset_days": {
|
|
"anyOf": [
|
|
{
|
|
"minimum": 0.0,
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Envelope Reset Days"
|
|
},
|
|
"envelopes_count": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": 0,
|
|
"title": "Envelopes Count"
|
|
},
|
|
"envelopes_used": {
|
|
"default": 0,
|
|
"title": "Envelopes Used",
|
|
"type": "integer"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"is_active": {
|
|
"default": true,
|
|
"title": "Is Active",
|
|
"type": "boolean"
|
|
},
|
|
"is_deleted": {
|
|
"default": false,
|
|
"title": "Is Deleted",
|
|
"type": "boolean"
|
|
},
|
|
"max_users_allowed": {
|
|
"anyOf": [
|
|
{
|
|
"minimum": 0.0,
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Max Users Allowed"
|
|
},
|
|
"name": {
|
|
"maxLength": 255,
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"maxLength": 100,
|
|
"title": "Slug",
|
|
"type": "string"
|
|
},
|
|
"storage_quota_bytes": {
|
|
"default": 1073741824,
|
|
"title": "Storage Quota Bytes",
|
|
"type": "integer"
|
|
},
|
|
"updated_at": {
|
|
"format": "date-time",
|
|
"title": "Updated At",
|
|
"type": "string"
|
|
},
|
|
"used_storage_bytes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Used Storage Bytes"
|
|
},
|
|
"used_user_slots": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Used User Slots"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"slug",
|
|
"id",
|
|
"created_at",
|
|
"updated_at",
|
|
"envelope_last_reset_at"
|
|
],
|
|
"title": "TenantOut",
|
|
"type": "object"
|
|
},
|
|
"TenantSMTPConfigUpsertIn": {
|
|
"properties": {
|
|
"mail_from": {
|
|
"format": "email",
|
|
"title": "Mail From",
|
|
"type": "string"
|
|
},
|
|
"smtp_host": {
|
|
"maxLength": 255,
|
|
"minLength": 1,
|
|
"title": "Smtp Host",
|
|
"type": "string"
|
|
},
|
|
"smtp_password": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "If omitted during update, existing password is preserved. Send empty string to clear it.",
|
|
"title": "Smtp Password"
|
|
},
|
|
"smtp_port": {
|
|
"default": 587,
|
|
"maximum": 65535.0,
|
|
"minimum": 1.0,
|
|
"title": "Smtp Port",
|
|
"type": "integer"
|
|
},
|
|
"smtp_user": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 255,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Smtp User"
|
|
}
|
|
},
|
|
"required": [
|
|
"smtp_host",
|
|
"mail_from"
|
|
],
|
|
"title": "TenantSMTPConfigUpsertIn",
|
|
"type": "object"
|
|
},
|
|
"TenantSMTPConfigViewOut": {
|
|
"properties": {
|
|
"configured": {
|
|
"title": "Configured",
|
|
"type": "boolean"
|
|
},
|
|
"created_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created At"
|
|
},
|
|
"created_by_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created By Id"
|
|
},
|
|
"has_password": {
|
|
"default": false,
|
|
"title": "Has Password",
|
|
"type": "boolean"
|
|
},
|
|
"is_active": {
|
|
"default": true,
|
|
"title": "Is Active",
|
|
"type": "boolean"
|
|
},
|
|
"mail_from": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Mail From"
|
|
},
|
|
"smtp_host": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Smtp Host"
|
|
},
|
|
"smtp_port": {
|
|
"default": 587,
|
|
"title": "Smtp Port",
|
|
"type": "integer"
|
|
},
|
|
"smtp_secure": {
|
|
"default": false,
|
|
"title": "Smtp Secure",
|
|
"type": "boolean"
|
|
},
|
|
"smtp_user": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Smtp User"
|
|
},
|
|
"source": {
|
|
"enum": [
|
|
"tenant",
|
|
"fallback"
|
|
],
|
|
"title": "Source",
|
|
"type": "string"
|
|
},
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
},
|
|
"updated_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Updated At"
|
|
},
|
|
"updated_by_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Updated By Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"configured",
|
|
"source"
|
|
],
|
|
"title": "TenantSMTPConfigViewOut",
|
|
"type": "object"
|
|
},
|
|
"TenantStorageConfigUpsertIn": {
|
|
"properties": {
|
|
"b2_application_key": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "If omitted during update, existing key is preserved. Send empty string to clear it if allowed.",
|
|
"title": "B2 Application Key"
|
|
},
|
|
"b2_clean_bucket": {
|
|
"default": "clean-document-bucket",
|
|
"maxLength": 255,
|
|
"title": "B2 Clean Bucket",
|
|
"type": "string"
|
|
},
|
|
"b2_endpoint": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 512,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "B2 Endpoint"
|
|
},
|
|
"b2_key_id": {
|
|
"maxLength": 255,
|
|
"minLength": 1,
|
|
"title": "B2 Key Id",
|
|
"type": "string"
|
|
},
|
|
"b2_quarantine_bucket": {
|
|
"default": "quarantine-bucket",
|
|
"maxLength": 255,
|
|
"title": "B2 Quarantine Bucket",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"b2_key_id"
|
|
],
|
|
"title": "TenantStorageConfigUpsertIn",
|
|
"type": "object"
|
|
},
|
|
"TenantStorageConfigViewOut": {
|
|
"properties": {
|
|
"b2_clean_bucket": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "B2 Clean Bucket"
|
|
},
|
|
"b2_endpoint": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "B2 Endpoint"
|
|
},
|
|
"b2_key_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "B2 Key Id"
|
|
},
|
|
"b2_quarantine_bucket": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "B2 Quarantine Bucket"
|
|
},
|
|
"configured": {
|
|
"title": "Configured",
|
|
"type": "boolean"
|
|
},
|
|
"created_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created At"
|
|
},
|
|
"created_by_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created By Id"
|
|
},
|
|
"has_application_key": {
|
|
"default": false,
|
|
"title": "Has Application Key",
|
|
"type": "boolean"
|
|
},
|
|
"is_active": {
|
|
"default": true,
|
|
"title": "Is Active",
|
|
"type": "boolean"
|
|
},
|
|
"source": {
|
|
"enum": [
|
|
"tenant",
|
|
"fallback"
|
|
],
|
|
"title": "Source",
|
|
"type": "string"
|
|
},
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
},
|
|
"updated_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Updated At"
|
|
},
|
|
"updated_by_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Updated By Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"configured",
|
|
"source"
|
|
],
|
|
"title": "TenantStorageConfigViewOut",
|
|
"type": "object"
|
|
},
|
|
"Token": {
|
|
"properties": {
|
|
"access_token": {
|
|
"title": "Access Token",
|
|
"type": "string"
|
|
},
|
|
"refresh_token": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Refresh Token"
|
|
},
|
|
"token_type": {
|
|
"default": "bearer",
|
|
"title": "Token Type",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"access_token"
|
|
],
|
|
"title": "Token",
|
|
"type": "object"
|
|
},
|
|
"TotalMetricOut": {
|
|
"properties": {
|
|
"recent_added": {
|
|
"title": "Recent Added",
|
|
"type": "integer"
|
|
},
|
|
"recent_deleted": {
|
|
"title": "Recent Deleted",
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"title": "Total",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"total",
|
|
"recent_added",
|
|
"recent_deleted"
|
|
],
|
|
"title": "TotalMetricOut",
|
|
"type": "object"
|
|
},
|
|
"TutorialCompleteSchema": {
|
|
"properties": {
|
|
"key": {
|
|
"default": "dashboard",
|
|
"title": "Key",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"title": "TutorialCompleteSchema",
|
|
"type": "object"
|
|
},
|
|
"UnreadCountOut": {
|
|
"properties": {
|
|
"count": {
|
|
"title": "Count",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"count"
|
|
],
|
|
"title": "UnreadCountOut",
|
|
"type": "object"
|
|
},
|
|
"UpdateOrgUnitIn": {
|
|
"properties": {
|
|
"code": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 50,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Code"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 255,
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name"
|
|
},
|
|
"sort_order": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Sort Order"
|
|
},
|
|
"unit_type": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 50,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Unit Type"
|
|
}
|
|
},
|
|
"title": "UpdateOrgUnitIn",
|
|
"type": "object"
|
|
},
|
|
"UpdateProfileIn": {
|
|
"properties": {
|
|
"designation": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 100,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Designation"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 255,
|
|
"minLength": 2,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name"
|
|
},
|
|
"preferred_language": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 16,
|
|
"minLength": 2,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Preferred Language"
|
|
}
|
|
},
|
|
"title": "UpdateProfileIn",
|
|
"type": "object"
|
|
},
|
|
"UpdateProjectIn": {
|
|
"properties": {
|
|
"currentStep": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Currentstep"
|
|
},
|
|
"htmlContent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Htmlcontent"
|
|
},
|
|
"markdownContent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Markdowncontent"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name"
|
|
},
|
|
"outputFormat": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Outputformat"
|
|
},
|
|
"progress": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Progress"
|
|
},
|
|
"sessionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Sessionid"
|
|
},
|
|
"status": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status"
|
|
},
|
|
"xmlContent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Xmlcontent"
|
|
}
|
|
},
|
|
"title": "UpdateProjectIn",
|
|
"type": "object"
|
|
},
|
|
"UpdateTenantIn": {
|
|
"properties": {
|
|
"chat_token_daily_limit": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Chat Token Daily Limit"
|
|
},
|
|
"disable_pdf_compression": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Disable Pdf Compression"
|
|
},
|
|
"envelope_limit": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Envelope Limit"
|
|
},
|
|
"envelope_reset_days": {
|
|
"anyOf": [
|
|
{
|
|
"minimum": 0.0,
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Envelope Reset Days"
|
|
},
|
|
"is_active": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Is Active"
|
|
},
|
|
"max_users_allowed": {
|
|
"anyOf": [
|
|
{
|
|
"minimum": 0.0,
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Max Users Allowed"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 255,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name"
|
|
},
|
|
"slug": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 100,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Slug"
|
|
},
|
|
"storage_quota_bytes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Storage Quota Bytes"
|
|
}
|
|
},
|
|
"title": "UpdateTenantIn",
|
|
"type": "object"
|
|
},
|
|
"UpdateTenantStorageQuotaIn": {
|
|
"properties": {
|
|
"storage_quota_gb": {
|
|
"title": "Storage Quota Gb",
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"storage_quota_gb"
|
|
],
|
|
"title": "UpdateTenantStorageQuotaIn",
|
|
"type": "object"
|
|
},
|
|
"UpdateTenantTokenQuotaIn": {
|
|
"properties": {
|
|
"token_limit": {
|
|
"minimum": -1.0,
|
|
"title": "Token Limit",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"token_limit"
|
|
],
|
|
"title": "UpdateTenantTokenQuotaIn",
|
|
"type": "object"
|
|
},
|
|
"UpdateUserIn": {
|
|
"properties": {
|
|
"designation": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 100,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Designation"
|
|
},
|
|
"is_active": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Is Active"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name"
|
|
},
|
|
"password": {
|
|
"anyOf": [
|
|
{
|
|
"minLength": 12,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Password"
|
|
},
|
|
"role_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Role Id"
|
|
},
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
"title": "UpdateUserIn",
|
|
"type": "object"
|
|
},
|
|
"UpdateUserQuotaIn": {
|
|
"properties": {
|
|
"daily_credit_limit": {
|
|
"minimum": -1.0,
|
|
"title": "Daily Credit Limit",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"daily_credit_limit"
|
|
],
|
|
"title": "UpdateUserQuotaIn",
|
|
"type": "object"
|
|
},
|
|
"UserListOut": {
|
|
"properties": {
|
|
"chat_credit_daily_limit": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Chat Credit Daily Limit"
|
|
},
|
|
"chat_credits_used_today": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Chat Credits Used Today"
|
|
},
|
|
"deleted_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Deleted At"
|
|
},
|
|
"designation": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Designation"
|
|
},
|
|
"email": {
|
|
"title": "Email",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"is_active": {
|
|
"title": "Is Active",
|
|
"type": "boolean"
|
|
},
|
|
"is_deleted": {
|
|
"default": false,
|
|
"title": "Is Deleted",
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Role"
|
|
},
|
|
"role_count": {
|
|
"default": 0,
|
|
"title": "Role Count",
|
|
"type": "integer"
|
|
},
|
|
"role_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Role Id"
|
|
},
|
|
"roles": {
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/components/schemas/RoleAssignmentOut"
|
|
},
|
|
"title": "Roles",
|
|
"type": "array"
|
|
},
|
|
"subscription": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Subscription"
|
|
},
|
|
"tenant_chat_token_limit": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Chat Token Limit"
|
|
},
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
},
|
|
"tenant_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Name"
|
|
},
|
|
"tenant_total_credits_allocated": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Total Credits Allocated"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"email",
|
|
"is_active"
|
|
],
|
|
"title": "UserListOut",
|
|
"type": "object"
|
|
},
|
|
"UserOut": {
|
|
"properties": {
|
|
"accesses": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"title": "Accesses",
|
|
"type": "array"
|
|
},
|
|
"created_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created At"
|
|
},
|
|
"designation": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Designation"
|
|
},
|
|
"email": {
|
|
"format": "email",
|
|
"title": "Email",
|
|
"type": "string"
|
|
},
|
|
"has_completed_docs_tutorial": {
|
|
"default": false,
|
|
"title": "Has Completed Docs Tutorial",
|
|
"type": "boolean"
|
|
},
|
|
"has_completed_tutorial": {
|
|
"default": false,
|
|
"title": "Has Completed Tutorial",
|
|
"type": "boolean"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "integer"
|
|
},
|
|
"is_active": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": true,
|
|
"title": "Is Active"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"preferred_language": {
|
|
"default": "en",
|
|
"title": "Preferred Language",
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Role"
|
|
},
|
|
"role_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Role Id"
|
|
},
|
|
"roles": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/RoleAssignmentOut"
|
|
},
|
|
"title": "Roles",
|
|
"type": "array"
|
|
},
|
|
"subscription": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "free",
|
|
"title": "Subscription"
|
|
},
|
|
"subscription_details": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Subscription Details"
|
|
},
|
|
"tenant_envelope_limit": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Envelope Limit"
|
|
},
|
|
"tenant_envelopes_used": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Envelopes Used"
|
|
},
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
},
|
|
"terms_accepted": {
|
|
"default": false,
|
|
"title": "Terms Accepted",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"email",
|
|
"name"
|
|
],
|
|
"title": "UserOut",
|
|
"type": "object"
|
|
},
|
|
"UserSMTPCredentialsOut": {
|
|
"properties": {
|
|
"configured": {
|
|
"title": "Configured",
|
|
"type": "boolean"
|
|
},
|
|
"has_password": {
|
|
"default": false,
|
|
"title": "Has Password",
|
|
"type": "boolean"
|
|
},
|
|
"mail_from": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Mail From"
|
|
},
|
|
"smtp_host": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Smtp Host"
|
|
},
|
|
"smtp_port": {
|
|
"default": 587,
|
|
"title": "Smtp Port",
|
|
"type": "integer"
|
|
},
|
|
"smtp_user": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Smtp User"
|
|
},
|
|
"source": {
|
|
"enum": [
|
|
"user",
|
|
"tenant",
|
|
"fallback"
|
|
],
|
|
"title": "Source",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"configured",
|
|
"source"
|
|
],
|
|
"title": "UserSMTPCredentialsOut",
|
|
"type": "object"
|
|
},
|
|
"UserSMTPCredentialsPatchIn": {
|
|
"properties": {
|
|
"mail_from": {
|
|
"anyOf": [
|
|
{
|
|
"format": "email",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Mail From"
|
|
},
|
|
"smtp_password": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "If omitted during update, existing password is preserved. Send empty string to clear it.",
|
|
"title": "Smtp Password"
|
|
},
|
|
"smtp_user": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 255,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Smtp User"
|
|
}
|
|
},
|
|
"title": "UserSMTPCredentialsPatchIn",
|
|
"type": "object"
|
|
},
|
|
"UserStorageStats": {
|
|
"properties": {
|
|
"breakdown": {
|
|
"$ref": "#/components/schemas/StorageBreakdown",
|
|
"default": {
|
|
"docx": 0,
|
|
"html": 0,
|
|
"other": 0,
|
|
"pdf": 0
|
|
}
|
|
},
|
|
"file_count": {
|
|
"default": 0,
|
|
"title": "File Count",
|
|
"type": "integer"
|
|
},
|
|
"percent": {
|
|
"default": 0.0,
|
|
"title": "Percent",
|
|
"type": "number"
|
|
},
|
|
"used_bytes": {
|
|
"default": 0,
|
|
"title": "Used Bytes",
|
|
"type": "integer"
|
|
},
|
|
"used_formatted": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Used Formatted"
|
|
}
|
|
},
|
|
"title": "UserStorageStats",
|
|
"type": "object"
|
|
},
|
|
"ValidationError": {
|
|
"properties": {
|
|
"loc": {
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "integer"
|
|
}
|
|
]
|
|
},
|
|
"title": "Location",
|
|
"type": "array"
|
|
},
|
|
"msg": {
|
|
"title": "Message",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"title": "Error Type",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"loc",
|
|
"msg",
|
|
"type"
|
|
],
|
|
"title": "ValidationError",
|
|
"type": "object"
|
|
},
|
|
"VerificationResponse": {
|
|
"properties": {
|
|
"details": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Details"
|
|
},
|
|
"message": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Message"
|
|
},
|
|
"signature_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Signature Id"
|
|
},
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"status"
|
|
],
|
|
"title": "VerificationResponse",
|
|
"type": "object"
|
|
},
|
|
"VerifyOTPRequest": {
|
|
"properties": {
|
|
"email": {
|
|
"title": "Email",
|
|
"type": "string"
|
|
},
|
|
"otp": {
|
|
"title": "Otp",
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"title": "Slug",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"slug",
|
|
"email",
|
|
"otp"
|
|
],
|
|
"title": "VerifyOTPRequest",
|
|
"type": "object"
|
|
},
|
|
"VersionCreateIn": {
|
|
"properties": {
|
|
"changes_description": {
|
|
"default": "Updated version",
|
|
"maxLength": 1000,
|
|
"minLength": 1,
|
|
"title": "Changes Description",
|
|
"type": "string"
|
|
},
|
|
"html_content": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 10485760,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Html Content"
|
|
},
|
|
"markdown_content": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 10485760,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Markdown Content"
|
|
},
|
|
"session_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Session Id"
|
|
},
|
|
"xml_content": {
|
|
"anyOf": [
|
|
{
|
|
"maxLength": 10485760,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Xml Content"
|
|
}
|
|
},
|
|
"title": "VersionCreateIn",
|
|
"type": "object"
|
|
},
|
|
"VersionUpdateIn": {
|
|
"properties": {
|
|
"changes_description": {
|
|
"maxLength": 1000,
|
|
"minLength": 1,
|
|
"title": "Changes Description",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"changes_description"
|
|
],
|
|
"title": "VersionUpdateIn",
|
|
"type": "object"
|
|
}
|
|
},
|
|
"securitySchemes": {
|
|
"OAuth2PasswordBearer": {
|
|
"flows": {
|
|
"password": {
|
|
"scopes": {},
|
|
"tokenUrl": "/auth/login"
|
|
}
|
|
},
|
|
"type": "oauth2"
|
|
}
|
|
}
|
|
},
|
|
"info": {
|
|
"description": "An interactive API and UI to process PDFs into JATS XML.",
|
|
"title": "DocQube Document Processing Pipeline API",
|
|
"version": "2.0.0"
|
|
},
|
|
"openapi": "3.1.0",
|
|
"paths": {
|
|
"/api/1-process-document/": {
|
|
"post": {
|
|
"operationId": "upload_api_1_process_document__post",
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_upload_api_1_process_document__post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Upload",
|
|
"tags": [
|
|
"Process Task"
|
|
]
|
|
}
|
|
},
|
|
"/api/2-convert-to-xml/": {
|
|
"post": {
|
|
"operationId": "convert_to_xml_api_2_convert_to_xml__post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"title": "Payload",
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Convert To Xml",
|
|
"tags": [
|
|
"Process Task"
|
|
]
|
|
}
|
|
},
|
|
"/api/access/all": {
|
|
"get": {
|
|
"description": "Get all available access codes in the platform.\nTypically used for role management UI.",
|
|
"operationId": "get_all_system_accesses_api_access_all_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AccessOut"
|
|
},
|
|
"title": "Response Get All System Accesses Api Access All Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get All System Accesses",
|
|
"tags": [
|
|
"Access"
|
|
]
|
|
}
|
|
},
|
|
"/api/access/get": {
|
|
"get": {
|
|
"description": "Get current user's access codes.\n\nThis endpoint is called by the frontend to determine which UI elements\nto show/hide based on the user's permissions.\n\nReturns:\n {\n \"accesses\": [\"project.create\", \"drive.file.upload\", ...],\n \"role\": \"superadmin\" | \"tenant_admin\" | null,\n \"roles\": [\"tenant_admin\", \"approver\"]\n }\n\n`role` is the **primary** role and is unchanged. `roles` is every role the\ncaller holds — primary, granted, and through a group — because a user may\nhold several and a single name cannot say so.",
|
|
"operationId": "get_user_accesses_api_access_get_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RoleAccessesOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get User Accesses",
|
|
"tags": [
|
|
"Access"
|
|
]
|
|
}
|
|
},
|
|
"/api/activity-logs": {
|
|
"get": {
|
|
"operationId": "get_activity_logs_api_activity_logs_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "page",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 1,
|
|
"minimum": 1,
|
|
"title": "Page",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "page_size",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 20,
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"title": "Page Size",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "user_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "User Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "module",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Module"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "action",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Action"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "status",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "target_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Target Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "target_name",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Target Name"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "target_type",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Target Type"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "date_from",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Date From"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "date_to",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Date To"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "search",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Search"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaginatedActivityLogsOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Activity Logs",
|
|
"tags": [
|
|
"Activity Logs"
|
|
]
|
|
}
|
|
},
|
|
"/api/activity-logs/me": {
|
|
"get": {
|
|
"operationId": "get_my_activity_logs_api_activity_logs_me_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "page",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 1,
|
|
"minimum": 1,
|
|
"title": "Page",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "page_size",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 20,
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"title": "Page Size",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "module",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Module"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "action",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Action"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "status",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "target_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Target Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "target_name",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Target Name"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "target_type",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Target Type"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "date_from",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Date From"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "date_to",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Date To"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "search",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Search"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaginatedActivityLogsOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get My Activity Logs",
|
|
"tags": [
|
|
"Activity Logs"
|
|
]
|
|
}
|
|
},
|
|
"/api/activity-logs/users/search": {
|
|
"get": {
|
|
"operationId": "search_activity_log_users_route_api_activity_logs_users_search_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "q",
|
|
"required": true,
|
|
"schema": {
|
|
"minLength": 1,
|
|
"title": "Q",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 10,
|
|
"maximum": 50,
|
|
"minimum": 1,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/ActivityLogUserOption"
|
|
},
|
|
"title": "Response Search Activity Log Users Route Api Activity Logs Users Search Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Search Activity Log Users Route",
|
|
"tags": [
|
|
"Activity Logs"
|
|
]
|
|
}
|
|
},
|
|
"/api/admin/configurations": {
|
|
"get": {
|
|
"operationId": "list_configurations_api_admin_configurations_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SystemConfigurationOut"
|
|
},
|
|
"title": "Response List Configurations Api Admin Configurations Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Configurations",
|
|
"tags": [
|
|
"System Configurations"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "create_configuration_api_admin_configurations_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemConfigurationIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemConfigurationOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create Configuration",
|
|
"tags": [
|
|
"System Configurations"
|
|
]
|
|
}
|
|
},
|
|
"/api/admin/configurations/limits/snapshot": {
|
|
"get": {
|
|
"operationId": "get_limits_snapshot_api_admin_configurations_limits_snapshot_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemLimitsOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Limits Snapshot",
|
|
"tags": [
|
|
"System Configurations"
|
|
]
|
|
}
|
|
},
|
|
"/api/admin/configurations/{config_key}": {
|
|
"delete": {
|
|
"operationId": "delete_configuration_api_admin_configurations__config_key__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "config_key",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Config Key",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Delete Configuration",
|
|
"tags": [
|
|
"System Configurations"
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "get_configuration_api_admin_configurations__config_key__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "config_key",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Config Key",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemConfigurationOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Configuration",
|
|
"tags": [
|
|
"System Configurations"
|
|
]
|
|
},
|
|
"patch": {
|
|
"operationId": "update_configuration_api_admin_configurations__config_key__patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "config_key",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Config Key",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemConfigurationPatchIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemConfigurationOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update Configuration",
|
|
"tags": [
|
|
"System Configurations"
|
|
]
|
|
}
|
|
},
|
|
"/api/admin/dashboard-metrics": {
|
|
"get": {
|
|
"operationId": "get_dashboard_metrics_api_admin_dashboard_metrics_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "granularity",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "weekly",
|
|
"enum": [
|
|
"weekly",
|
|
"monthly",
|
|
"yearly"
|
|
],
|
|
"title": "Granularity",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AdminDashboardMetricsOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Dashboard Metrics",
|
|
"tags": [
|
|
"Admin Dashboard"
|
|
]
|
|
}
|
|
},
|
|
"/api/admin/dashboard-metrics/trends/{metric}": {
|
|
"get": {
|
|
"operationId": "get_dashboard_metric_trend_api_admin_dashboard_metrics_trends__metric__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "metric",
|
|
"required": true,
|
|
"schema": {
|
|
"enum": [
|
|
"signatures",
|
|
"uploads"
|
|
],
|
|
"title": "Metric",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "granularity",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "weekly",
|
|
"enum": [
|
|
"weekly",
|
|
"monthly",
|
|
"yearly"
|
|
],
|
|
"title": "Granularity",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MetricTrendOnlyOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Dashboard Metric Trend",
|
|
"tags": [
|
|
"Admin Dashboard"
|
|
]
|
|
}
|
|
},
|
|
"/api/admin/users": {
|
|
"get": {
|
|
"description": "List all users with pagination, search, and optional tenant filter.",
|
|
"operationId": "list_all_users_api_admin_users_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "page",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 1,
|
|
"minimum": 1,
|
|
"title": "Page",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "page_size",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 20,
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"title": "Page Size",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "search",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Search"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "include_deleted",
|
|
"required": false,
|
|
"schema": {
|
|
"default": false,
|
|
"title": "Include Deleted",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "only_deleted",
|
|
"required": false,
|
|
"schema": {
|
|
"default": false,
|
|
"title": "Only Deleted",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaginatedUsersOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List All Users",
|
|
"tags": [
|
|
"Admin Users"
|
|
]
|
|
}
|
|
},
|
|
"/api/admin/users/bulk/distribute-credits-equally": {
|
|
"post": {
|
|
"description": "Distribute the tenant's total credit limit equally among all active users.",
|
|
"operationId": "distribute_credits_equally_api_admin_users_bulk_distribute_credits_equally_post",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Distribute Credits Equally",
|
|
"tags": [
|
|
"Admin Users"
|
|
]
|
|
}
|
|
},
|
|
"/api/admin/users/summary/limits": {
|
|
"get": {
|
|
"description": "Get global user limits snapshot for administration UI.",
|
|
"operationId": "get_user_management_limits_api_admin_users_summary_limits_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemLimitsOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get User Management Limits",
|
|
"tags": [
|
|
"Admin Users"
|
|
]
|
|
}
|
|
},
|
|
"/api/admin/users/{user_id}": {
|
|
"delete": {
|
|
"operationId": "soft_delete_user_api_admin_users__user_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "user_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MessageOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Soft Delete User",
|
|
"tags": [
|
|
"Admin Users"
|
|
]
|
|
},
|
|
"get": {
|
|
"description": "Get a single user by ID.",
|
|
"operationId": "get_user_api_admin_users__user_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "user_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserListOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get User",
|
|
"tags": [
|
|
"Admin Users"
|
|
]
|
|
},
|
|
"patch": {
|
|
"description": "Update a user's name, active status, role, tenant, or password.",
|
|
"operationId": "update_user_api_admin_users__user_id__patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "user_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateUserIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserListOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update User",
|
|
"tags": [
|
|
"Admin Users"
|
|
]
|
|
}
|
|
},
|
|
"/api/admin/users/{user_id}/effective-access": {
|
|
"get": {
|
|
"description": "Every access code this user holds, and which role confers each one.\n\n\"Why can this person do that\" answered itself while a user had one role.\nWith several it does not, and the alternative is reading the database — so\nthis exists before the interface that makes several roles easy to create.\n\nDescendant codes are attributed to the role holding their parent, because\nthat is the row an administrator would edit to take the code away.",
|
|
"operationId": "user_effective_access_api_admin_users__user_id__effective_access_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "user_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/EffectiveAccessOut"
|
|
},
|
|
"title": "Response User Effective Access Api Admin Users User Id Effective Access Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "User Effective Access",
|
|
"tags": [
|
|
"Admin Users"
|
|
]
|
|
}
|
|
},
|
|
"/api/admin/users/{user_id}/restore": {
|
|
"post": {
|
|
"operationId": "restore_user_api_admin_users__user_id__restore_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "user_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserListOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Restore User",
|
|
"tags": [
|
|
"Admin Users"
|
|
]
|
|
}
|
|
},
|
|
"/api/admin/users/{user_id}/roles": {
|
|
"get": {
|
|
"description": "Every role this user holds: primary, granted, and through a group.",
|
|
"operationId": "list_user_roles_api_admin_users__user_id__roles_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "user_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"description": "Include grants that have lapsed. They confer nothing; they are shown so an administrator can see that a temporary grant ended rather than wondering where it went.",
|
|
"in": "query",
|
|
"name": "include_expired",
|
|
"required": false,
|
|
"schema": {
|
|
"default": false,
|
|
"description": "Include grants that have lapsed. They confer nothing; they are shown so an administrator can see that a temporary grant ended rather than wondering where it went.",
|
|
"title": "Include Expired",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/RoleAssignmentOut"
|
|
},
|
|
"title": "Response List User Roles Api Admin Users User Id Roles Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List User Roles",
|
|
"tags": [
|
|
"Admin Users"
|
|
]
|
|
},
|
|
"post": {
|
|
"description": "Grant this user an additional role.\n\n`org_unit_id` omitted means **tenant-wide**, which is the authority a\nprimary role already carries and the case the organisation tree could not\nexpress.\n\nDoes **not** touch `users.role_id`. The primary role is left exactly as it\nwas, so nothing an administrator has already set is silently replaced.",
|
|
"operationId": "add_user_role_api_admin_users__user_id__roles_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "user_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AddUserRoleIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RoleAssignmentOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Add User Role",
|
|
"tags": [
|
|
"Admin Users"
|
|
]
|
|
}
|
|
},
|
|
"/api/admin/users/{user_id}/roles/{grant_id}": {
|
|
"delete": {
|
|
"description": "Revoke one granted role.\n\nThe **primary** role is not revocable here — it has no `grant_id`, and it is\nchanged through `PATCH /api/admin/users/{id}`. Offering a Remove button that\nsilently did nothing to it would be the worst of both.\n\nA grant reaching this user **through a group** is likewise not revocable\nhere: it belongs to the group, and removing it from one member would mean\nediting the group for everybody.",
|
|
"operationId": "remove_user_role_api_admin_users__user_id__roles__grant_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "user_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "path",
|
|
"name": "grant_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Grant Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MessageOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Remove User Role",
|
|
"tags": [
|
|
"Admin Users"
|
|
]
|
|
}
|
|
},
|
|
"/api/auth/accept-terms": {
|
|
"post": {
|
|
"operationId": "accept_terms_api_auth_accept_terms_post",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StatusMessageOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Accept Terms",
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/auth/devices": {
|
|
"get": {
|
|
"operationId": "get_user_devices_api_auth_devices_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/DeviceOut"
|
|
},
|
|
"title": "Response Get User Devices Api Auth Devices Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get User Devices",
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/auth/devices/{device_id}": {
|
|
"delete": {
|
|
"operationId": "logout_device_api_auth_devices__device_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "device_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Device Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Logout Device",
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/auth/editor-token": {
|
|
"get": {
|
|
"operationId": "get_editor_token_api_auth_editor_token_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/EditorTokenOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Editor Token",
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/auth/forgot-password": {
|
|
"post": {
|
|
"operationId": "forgot_password_api_auth_forgot_password_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ForgotPasswordIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MessageOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Forgot Password",
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/auth/google": {
|
|
"post": {
|
|
"operationId": "google_login_api_auth_google_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GoogleLoginIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Token"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Google Login",
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/auth/login": {
|
|
"post": {
|
|
"operationId": "login_api_auth_login_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_login_api_auth_login_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Token"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Login",
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/auth/logout": {
|
|
"post": {
|
|
"operationId": "logout_api_auth_logout_post",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Logout",
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/auth/me": {
|
|
"get": {
|
|
"operationId": "verify_auth_api_auth_me_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Verify Auth",
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/auth/refresh": {
|
|
"post": {
|
|
"operationId": "refresh_token_api_auth_refresh_post",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Token"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Refresh Token",
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/auth/register": {
|
|
"post": {
|
|
"operationId": "register_api_auth_register_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RegisterIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RegisterOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Register",
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/auth/reset-password": {
|
|
"post": {
|
|
"operationId": "reset_password_api_auth_reset_password_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ResetPasswordIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Reset Password",
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/auth/resolve-device-limit": {
|
|
"post": {
|
|
"operationId": "resolve_device_limit_api_auth_resolve_device_limit_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ResolveDeviceLimitIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Resolve Device Limit",
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/auth/session/events": {
|
|
"get": {
|
|
"description": "SSE Endpoint for real-time session and device revocation events.\nFrontend can listen to this to instantly log out when their session is revoked.",
|
|
"operationId": "session_events_api_auth_session_events_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Session Events",
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/auth/verify": {
|
|
"get": {
|
|
"operationId": "verify_auth_api_auth_verify_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Verify Auth",
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/billing/me": {
|
|
"get": {
|
|
"description": "What this caller's workspace is entitled to.\n\nNot gated on an admin code: a user asking what their own workspace includes\nis asking what they bought.",
|
|
"operationId": "my_entitlement_api_billing_me_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/EntitlementOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "My Entitlement",
|
|
"tags": [
|
|
"Billing"
|
|
]
|
|
}
|
|
},
|
|
"/api/billing/plans": {
|
|
"get": {
|
|
"description": "The public catalogue.\n\n**Deliberately unauthenticated.** It is what the pricing page shows to a\nvisitor who has not signed up yet, and requiring a token would defeat the\npurpose. It exposes only what is already printed on that page — names,\nprices and limits — and no tenant is named.\n\nThis is the endpoint that closes the original gap: the page advertised four\npriced plans and the backend had never heard of a plan.",
|
|
"operationId": "list_plans_api_billing_plans_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/PlanOut"
|
|
},
|
|
"title": "Response List Plans Api Billing Plans Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "List Plans",
|
|
"tags": [
|
|
"Billing"
|
|
]
|
|
}
|
|
},
|
|
"/api/billing/tenants/{tenant_id}/overrides": {
|
|
"put": {
|
|
"description": "The negotiated exception — \"Elite, but 500 GB, because the contract says so\".\n\nStored as its own row rather than by editing the plan, so the plan stays\nhonest and the exception stays visible at renewal. `note` is not optional in\nspirit: an exception with no reason recorded becomes folklore.",
|
|
"operationId": "set_override_api_billing_tenants__tenant_id__overrides_put",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "tenant_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SetOverrideIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/EntitlementOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Set Override",
|
|
"tags": [
|
|
"Billing"
|
|
]
|
|
}
|
|
},
|
|
"/api/billing/tenants/{tenant_id}/subscription": {
|
|
"get": {
|
|
"operationId": "get_tenant_subscription_api_billing_tenants__tenant_id__subscription_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "tenant_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SubscriptionOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Tenant Subscription",
|
|
"tags": [
|
|
"Billing"
|
|
]
|
|
},
|
|
"put": {
|
|
"description": "Move a tenant onto a plan.\n\nA superadmin decision. A tenant admin moving themselves onto Elite would be\na pricing decision made by the person who benefits from it.",
|
|
"operationId": "set_tenant_plan_api_billing_tenants__tenant_id__subscription_put",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "tenant_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SetPlanIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SubscriptionOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Set Tenant Plan",
|
|
"tags": [
|
|
"Billing"
|
|
]
|
|
}
|
|
},
|
|
"/api/celery/convert-direct": {
|
|
"post": {
|
|
"description": "Synchronous PDF conversion via Stirling. Returns the converted file directly\nwithout creating any project record or background task.",
|
|
"operationId": "convert_direct_api_celery_convert_direct_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_convert_direct_api_celery_convert_direct_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Convert Direct",
|
|
"tags": [
|
|
"Process Task"
|
|
]
|
|
}
|
|
},
|
|
"/api/celery/convert-pdf2docx": {
|
|
"post": {
|
|
"description": "Test endpoint: PDF → DOCX using pdf2docx library directly.\nNo Stirling, no B2, no Celery — just local conversion.",
|
|
"operationId": "convert_pdf2docx_api_celery_convert_pdf2docx_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_convert_pdf2docx_api_celery_convert_pdf2docx_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Convert Pdf2Docx",
|
|
"tags": [
|
|
"Process Task"
|
|
]
|
|
}
|
|
},
|
|
"/api/celery/convert-to-xml": {
|
|
"post": {
|
|
"operationId": "convert_to_xml_api_celery_convert_to_xml_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"title": "Payload",
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Convert To Xml",
|
|
"tags": [
|
|
"Process Task"
|
|
]
|
|
}
|
|
},
|
|
"/api/celery/from-drive/{file_id}": {
|
|
"post": {
|
|
"operationId": "process_from_drive_api_celery_from_drive__file_id__post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Process From Drive",
|
|
"tags": [
|
|
"Process Task"
|
|
]
|
|
}
|
|
},
|
|
"/api/celery/health": {
|
|
"get": {
|
|
"operationId": "health_api_celery_health_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CeleryHealthOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Health",
|
|
"tags": [
|
|
"Process Task"
|
|
]
|
|
}
|
|
},
|
|
"/api/celery/task/{task_id}": {
|
|
"delete": {
|
|
"operationId": "cancel_task_api_celery_task__task_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "task_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Task Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Cancel Task",
|
|
"tags": [
|
|
"Process Task"
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "task_status_api_celery_task__task_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "task_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Task Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Task Status",
|
|
"tags": [
|
|
"Process Task"
|
|
]
|
|
}
|
|
},
|
|
"/api/celery/upload": {
|
|
"post": {
|
|
"operationId": "upload_api_celery_upload_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_upload_api_celery_upload_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Upload",
|
|
"tags": [
|
|
"Process Task"
|
|
]
|
|
}
|
|
},
|
|
"/api/chatbot/chat": {
|
|
"post": {
|
|
"operationId": "chat_api_chatbot_chat_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ChatRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Chat",
|
|
"tags": [
|
|
"chatbot"
|
|
]
|
|
}
|
|
},
|
|
"/api/chatbot/chat/stream": {
|
|
"post": {
|
|
"operationId": "chat_stream_api_chatbot_chat_stream_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ChatRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Chat Stream",
|
|
"tags": [
|
|
"chatbot"
|
|
]
|
|
}
|
|
},
|
|
"/api/chatbot/documents": {
|
|
"get": {
|
|
"operationId": "list_documents_api_chatbot_documents_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/ChatDocumentOut"
|
|
},
|
|
"title": "Response List Documents Api Chatbot Documents Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Documents",
|
|
"tags": [
|
|
"chatbot"
|
|
]
|
|
}
|
|
},
|
|
"/api/chatbot/documents/{doc_id}": {
|
|
"delete": {
|
|
"operationId": "delete_document_api_chatbot_documents__doc_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "doc_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Doc Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StatusOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Delete Document",
|
|
"tags": [
|
|
"chatbot"
|
|
]
|
|
}
|
|
},
|
|
"/api/chatbot/history/{doc_id}": {
|
|
"get": {
|
|
"operationId": "get_history_api_chatbot_history__doc_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "doc_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Doc Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get History",
|
|
"tags": [
|
|
"chatbot"
|
|
]
|
|
}
|
|
},
|
|
"/api/chatbot/ingest-drive": {
|
|
"post": {
|
|
"operationId": "ingest_drive_file_api_chatbot_ingest_drive_post",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Ingest Drive File",
|
|
"tags": [
|
|
"chatbot"
|
|
]
|
|
}
|
|
},
|
|
"/api/chatbot/quota/{user_id}": {
|
|
"patch": {
|
|
"operationId": "update_user_quota_api_chatbot_quota__user_id__patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "user_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "User Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateUserQuotaIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ChatUsageOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update User Quota",
|
|
"tags": [
|
|
"chatbot"
|
|
]
|
|
}
|
|
},
|
|
"/api/chatbot/upload": {
|
|
"post": {
|
|
"operationId": "upload_document_api_chatbot_upload_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_upload_document_api_chatbot_upload_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Upload Document",
|
|
"tags": [
|
|
"chatbot"
|
|
]
|
|
}
|
|
},
|
|
"/api/chatbot/usage": {
|
|
"get": {
|
|
"operationId": "get_usage_api_chatbot_usage_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ChatUsageOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Usage",
|
|
"tags": [
|
|
"chatbot"
|
|
]
|
|
}
|
|
},
|
|
"/api/collaboration/{file_id}/messages": {
|
|
"get": {
|
|
"description": "Return the last *limit* chat messages for a file.\n\nOnly users with at least **viewer** access can retrieve messages.",
|
|
"operationId": "get_messages_api_collaboration__file_id__messages_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 50,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Messages",
|
|
"tags": [
|
|
"Collaboration Chat"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/comments/{comment_id}": {
|
|
"delete": {
|
|
"operationId": "delete_file_comment_api_drive_comments__comment_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "comment_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Comment Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Delete File Comment",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/comments/{comment_id}/resolve": {
|
|
"patch": {
|
|
"operationId": "resolve_comment_api_drive_comments__comment_id__resolve_patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "comment_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Comment Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Resolve Comment",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/email-resource": {
|
|
"post": {
|
|
"operationId": "email_resource_api_drive_email_resource_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_email_resource_api_drive_email_resource_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Email Resource",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/create": {
|
|
"post": {
|
|
"operationId": "create_file_api_drive_files_create_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_create_file_api_drive_files_create_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create File",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/upload": {
|
|
"post": {
|
|
"operationId": "upload_file_legacy_api_drive_files_upload_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_upload_file_legacy_api_drive_files_upload_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Upload File Legacy",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}": {
|
|
"delete": {
|
|
"operationId": "delete_file_api_drive_files__file_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Delete File",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "get_file_info_api_drive_files__file_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DriveFileDetailOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get File Info",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
},
|
|
"patch": {
|
|
"operationId": "update_file_api_drive_files__file_id__patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_update_file_api_drive_files__file_id__patch"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update File",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}/activities": {
|
|
"get": {
|
|
"operationId": "get_file_activity_api_drive_files__file_id__activities_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 50,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DriveActivityListOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get File Activity",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}/comments": {
|
|
"get": {
|
|
"operationId": "list_file_comments_api_drive_files__file_id__comments_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DriveCommentListOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List File Comments",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "create_file_comment_api_drive_files__file_id__comments_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateCommentRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create File Comment",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}/content": {
|
|
"patch": {
|
|
"description": "Save updated HTML/text content for a file (used by the editor to persist comment highlights).",
|
|
"operationId": "update_file_content_api_drive_files__file_id__content_patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update File Content",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}/copy": {
|
|
"post": {
|
|
"operationId": "copy_file_api_drive_files__file_id__copy_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_copy_file_api_drive_files__file_id__copy_post"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Copy File",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}/download": {
|
|
"get": {
|
|
"operationId": "download_file_api_drive_files__file_id__download_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Download File",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}/drafts": {
|
|
"get": {
|
|
"operationId": "get_file_drafts_api_drive_files__file_id__drafts_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DriveDraftListOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get File Drafts",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "save_file_drafts_api_drive_files__file_id__drafts_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SaveDraftsRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Save File Drafts",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}/info": {
|
|
"get": {
|
|
"operationId": "get_file_info_api_drive_files__file_id__info_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DriveFileDetailOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get File Info",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}/permanent": {
|
|
"delete": {
|
|
"operationId": "permanent_delete_file_api_drive_files__file_id__permanent_delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Permanent Delete File",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}/restore": {
|
|
"post": {
|
|
"operationId": "restore_file_api_drive_files__file_id__restore_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_restore_file_api_drive_files__file_id__restore_post"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Restore File",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}/shares": {
|
|
"get": {
|
|
"operationId": "list_file_shares_api_drive_files__file_id__shares_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/DriveShareOut"
|
|
},
|
|
"title": "Response List File Shares Api Drive Files File Id Shares Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List File Shares",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "create_file_share_api_drive_files__file_id__shares_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_create_file_share_api_drive_files__file_id__shares_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create File Share",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}/star": {
|
|
"patch": {
|
|
"operationId": "star_file_api_drive_files__file_id__star_patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_star_file_api_drive_files__file_id__star_patch"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Star File",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}/stream": {
|
|
"get": {
|
|
"operationId": "stream_file_api_drive_files__file_id__stream_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Stream File",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}/versions": {
|
|
"get": {
|
|
"operationId": "get_file_versions_api_drive_files__file_id__versions_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DriveVersionListOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get File Versions",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}/versions/{version_id}/download": {
|
|
"get": {
|
|
"operationId": "download_file_version_api_drive_files__file_id__versions__version_id__download_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "path",
|
|
"name": "version_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Download File Version",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}/versions/{version_id}/restore": {
|
|
"post": {
|
|
"operationId": "restore_file_version_api_drive_files__file_id__versions__version_id__restore_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "path",
|
|
"name": "version_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Restore File Version",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}/versions/{version_id}/stream": {
|
|
"get": {
|
|
"operationId": "stream_file_version_api_drive_files__file_id__versions__version_id__stream_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "path",
|
|
"name": "version_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Stream File Version",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/files/{file_id}/view": {
|
|
"get": {
|
|
"operationId": "view_file_api_drive_files__file_id__view_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "View File",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/folder/{folder_id}": {
|
|
"get": {
|
|
"operationId": "open_folder_api_drive_folder__folder_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "folder_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Folder Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DriveFolderContentsOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Open Folder",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/folders": {
|
|
"post": {
|
|
"operationId": "create_folder_api_drive_folders_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_create_folder_api_drive_folders_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create Folder",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/folders/{folder_id}": {
|
|
"delete": {
|
|
"operationId": "delete_folder_api_drive_folders__folder_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "folder_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Folder Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Delete Folder",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
},
|
|
"patch": {
|
|
"operationId": "update_folder_api_drive_folders__folder_id__patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "folder_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Folder Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_update_folder_api_drive_folders__folder_id__patch"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update Folder",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/folders/{folder_id}/permanent": {
|
|
"delete": {
|
|
"operationId": "permanent_delete_folder_api_drive_folders__folder_id__permanent_delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "folder_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Folder Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Permanent Delete Folder",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/folders/{folder_id}/restore": {
|
|
"post": {
|
|
"operationId": "restore_folder_api_drive_folders__folder_id__restore_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "folder_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Folder Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_restore_folder_api_drive_folders__folder_id__restore_post"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Restore Folder",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/folders/{folder_id}/shares": {
|
|
"get": {
|
|
"operationId": "list_folder_shares_api_drive_folders__folder_id__shares_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "folder_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Folder Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/DriveShareOut"
|
|
},
|
|
"title": "Response List Folder Shares Api Drive Folders Folder Id Shares Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Folder Shares",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "create_folder_share_api_drive_folders__folder_id__shares_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "folder_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Folder Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_create_folder_share_api_drive_folders__folder_id__shares_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create Folder Share",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/folders/{folder_id}/star": {
|
|
"patch": {
|
|
"operationId": "star_folder_api_drive_folders__folder_id__star_patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "folder_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Folder Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_star_folder_api_drive_folders__folder_id__star_patch"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Star Folder",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/me/recent": {
|
|
"get": {
|
|
"operationId": "get_recent_files_api_drive_me_recent_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 50,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DriveFileListOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Recent Files",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/me/search": {
|
|
"get": {
|
|
"operationId": "search_drive_api_drive_me_search_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "q",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Q",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 20,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Search Drive",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/me/shared": {
|
|
"get": {
|
|
"operationId": "get_shared_with_me_api_drive_me_shared_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DriveSharedListOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Shared With Me",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/me/shared-by-me": {
|
|
"get": {
|
|
"operationId": "get_shared_by_me_api_drive_me_shared_by_me_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DriveSharedListOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Shared By Me",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/me/starred": {
|
|
"get": {
|
|
"operationId": "get_starred_api_drive_me_starred_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DriveResourceListOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Starred",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/me/trash": {
|
|
"get": {
|
|
"operationId": "get_trash_api_drive_me_trash_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DriveResourceListOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Trash",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/permanent/{resource_id}": {
|
|
"delete": {
|
|
"operationId": "permanent_delete_generic_api_drive_permanent__resource_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "resource_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Resource Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Permanent Delete Generic",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/restore/{resource_id}": {
|
|
"post": {
|
|
"operationId": "restore_resource_generic_api_drive_restore__resource_id__post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "resource_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Resource Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_restore_resource_generic_api_drive_restore__resource_id__post"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Restore Resource Generic",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/root": {
|
|
"get": {
|
|
"operationId": "get_root_api_drive_root_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DriveRootOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Root",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/scan/check": {
|
|
"post": {
|
|
"description": "Scan a file for malware without persisting it.",
|
|
"operationId": "pre_scan_file_api_drive_scan_check_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_pre_scan_file_api_drive_scan_check_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Pre Scan File",
|
|
"tags": [
|
|
"ClamAV Scan"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/scan/status": {
|
|
"get": {
|
|
"description": "Check if the ClamAV daemon is reachable.",
|
|
"operationId": "get_clamav_status_api_drive_scan_status_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DriveScanStatusOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Clamav Status",
|
|
"tags": [
|
|
"ClamAV Scan"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/share": {
|
|
"post": {
|
|
"operationId": "share_resource_generic_api_drive_share_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_share_resource_generic_api_drive_share_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Share Resource Generic",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/share/link": {
|
|
"post": {
|
|
"operationId": "create_share_link_api_drive_share_link_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_create_share_link_api_drive_share_link_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create Share Link",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/share/link/{share_id}": {
|
|
"delete": {
|
|
"operationId": "revoke_share_link_api_drive_share_link__share_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "share_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Share Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Revoke Share Link",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/share/links": {
|
|
"get": {
|
|
"operationId": "list_share_links_api_drive_share_links_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "resource_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Resource Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "resource_type",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Resource Type",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Share Links",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/shares/{share_id}": {
|
|
"delete": {
|
|
"operationId": "delete_share_api_drive_shares__share_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "share_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Share Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Delete Share",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
},
|
|
"patch": {
|
|
"operationId": "update_share_api_drive_shares__share_id__patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "share_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Share Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_update_share_api_drive_shares__share_id__patch"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update Share",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/star": {
|
|
"post": {
|
|
"operationId": "star_resource_generic_api_drive_star_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_star_resource_generic_api_drive_star_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Star Resource Generic",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/star/{resource_id}": {
|
|
"delete": {
|
|
"operationId": "unstar_resource_generic_api_drive_star__resource_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "resource_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Resource Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_unstar_resource_generic_api_drive_star__resource_id__delete"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Unstar Resource Generic",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/trash/{resource_id}": {
|
|
"post": {
|
|
"operationId": "trash_resource_generic_api_drive_trash__resource_id__post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "resource_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Resource Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Trash Resource Generic",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/upload": {
|
|
"post": {
|
|
"operationId": "upload_file_api_drive_upload_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_upload_file_api_drive_upload_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Upload File",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/upload/callback": {
|
|
"post": {
|
|
"operationId": "upload_callback_api_drive_upload_callback_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_upload_callback_api_drive_upload_callback_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Upload Callback",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/drive/upload/presigned": {
|
|
"post": {
|
|
"operationId": "generate_upload_url_api_drive_upload_presigned_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_generate_upload_url_api_drive_upload_presigned_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PresignedUploadOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Generate Upload Url",
|
|
"tags": [
|
|
"Drive"
|
|
]
|
|
}
|
|
},
|
|
"/api/export-docx/": {
|
|
"post": {
|
|
"operationId": "export_docx_api_export_docx__post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ExportDocxRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DocxExportOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Export Docx",
|
|
"tags": [
|
|
"Export"
|
|
]
|
|
}
|
|
},
|
|
"/api/export-html/": {
|
|
"post": {
|
|
"operationId": "export_html_api_export_html__post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ExportHTMLRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Export Html",
|
|
"tags": [
|
|
"Export"
|
|
]
|
|
}
|
|
},
|
|
"/api/export-pdf/": {
|
|
"post": {
|
|
"operationId": "export_pdf_api_export_pdf__post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ExportPdfRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Export Pdf",
|
|
"tags": [
|
|
"Export"
|
|
]
|
|
}
|
|
},
|
|
"/api/export-simple-html/": {
|
|
"post": {
|
|
"operationId": "export_simple_html_api_export_simple_html__post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ExportSimpleHTMLRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Export Simple Html",
|
|
"tags": [
|
|
"Export"
|
|
]
|
|
}
|
|
},
|
|
"/api/export-xml/": {
|
|
"post": {
|
|
"operationId": "convert_to_xml_api_export_xml__post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ExportXMLRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Convert To Xml",
|
|
"tags": [
|
|
"Export"
|
|
]
|
|
}
|
|
},
|
|
"/api/extract": {
|
|
"post": {
|
|
"description": "On-demand document extraction endpoint.\nLoads models only when called and unloads after.",
|
|
"operationId": "extract_api_extract_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_extract_api_extract_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Extract"
|
|
}
|
|
},
|
|
"/api/extractions/extract": {
|
|
"post": {
|
|
"operationId": "start_extraction_api_extractions_extract_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ExtractionRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ExtractionResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Start Extraction",
|
|
"tags": [
|
|
"Extraction"
|
|
]
|
|
}
|
|
},
|
|
"/api/extractions/{document_id}": {
|
|
"get": {
|
|
"operationId": "get_extraction_status_api_extractions__document_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "document_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Document Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ExtractionResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Extraction Status",
|
|
"tags": [
|
|
"Extraction"
|
|
]
|
|
}
|
|
},
|
|
"/api/health": {
|
|
"get": {
|
|
"operationId": "health_check_api_health_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Health Check"
|
|
}
|
|
},
|
|
"/api/me/account": {
|
|
"delete": {
|
|
"operationId": "delete_account_api_me_account_delete",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Delete Account",
|
|
"tags": [
|
|
"User Profile"
|
|
]
|
|
}
|
|
},
|
|
"/api/me/api-key": {
|
|
"post": {
|
|
"operationId": "update_api_key_api_me_api_key_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"title": "Payload",
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StatusOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update Api Key",
|
|
"tags": [
|
|
"User Profile"
|
|
]
|
|
}
|
|
},
|
|
"/api/me/api-key/status": {
|
|
"get": {
|
|
"operationId": "get_api_key_status_api_me_api_key_status_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ApiKeyStatusOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Api Key Status",
|
|
"tags": [
|
|
"User Profile"
|
|
]
|
|
}
|
|
},
|
|
"/api/me/password": {
|
|
"post": {
|
|
"operationId": "change_password_api_me_password_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ChangePasswordIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Change Password",
|
|
"tags": [
|
|
"User Profile"
|
|
]
|
|
}
|
|
},
|
|
"/api/me/profile": {
|
|
"get": {
|
|
"operationId": "get_profile_api_me_profile_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Profile",
|
|
"tags": [
|
|
"User Profile"
|
|
]
|
|
},
|
|
"patch": {
|
|
"operationId": "update_profile_api_me_profile_patch",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateProfileIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update Profile",
|
|
"tags": [
|
|
"User Profile"
|
|
]
|
|
}
|
|
},
|
|
"/api/me/projects": {
|
|
"get": {
|
|
"operationId": "list_projects_api_me_projects_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/ProjectOut"
|
|
},
|
|
"title": "Response List Projects Api Me Projects Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Projects",
|
|
"tags": [
|
|
"Projects"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "create_project_api_me_projects_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateProjectIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ProjectOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create Project",
|
|
"tags": [
|
|
"Projects"
|
|
]
|
|
}
|
|
},
|
|
"/api/me/projects/": {
|
|
"post": {
|
|
"operationId": "create_project_api_me_projects__post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateProjectIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ProjectOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create Project",
|
|
"tags": [
|
|
"Projects"
|
|
]
|
|
}
|
|
},
|
|
"/api/me/projects/{project_id}": {
|
|
"delete": {
|
|
"operationId": "delete_project_api_me_projects__project_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MessageOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Delete Project",
|
|
"tags": [
|
|
"Projects"
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "get_project_api_me_projects__project_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ProjectDetailOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Project",
|
|
"tags": [
|
|
"Projects"
|
|
]
|
|
},
|
|
"patch": {
|
|
"operationId": "update_project_api_me_projects__project_id__patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateProjectIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update Project",
|
|
"tags": [
|
|
"Projects"
|
|
]
|
|
}
|
|
},
|
|
"/api/me/projects/{project_id}/activity": {
|
|
"get": {
|
|
"operationId": "get_project_activity_api_me_projects__project_id__activity_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 50,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ProjectActivityOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Project Activity",
|
|
"tags": [
|
|
"Project Details"
|
|
]
|
|
}
|
|
},
|
|
"/api/me/projects/{project_id}/details": {
|
|
"get": {
|
|
"operationId": "get_project_details_api_me_projects__project_id__details_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ProjectDetailsOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Project Details",
|
|
"tags": [
|
|
"Project Details"
|
|
]
|
|
}
|
|
},
|
|
"/api/me/smtp-credentials": {
|
|
"get": {
|
|
"operationId": "get_smtp_credentials_api_me_smtp_credentials_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserSMTPCredentialsOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Smtp Credentials",
|
|
"tags": [
|
|
"User Profile"
|
|
]
|
|
},
|
|
"patch": {
|
|
"operationId": "update_smtp_credentials_api_me_smtp_credentials_patch",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserSMTPCredentialsPatchIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserSMTPCredentialsOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update Smtp Credentials",
|
|
"tags": [
|
|
"User Profile"
|
|
]
|
|
}
|
|
},
|
|
"/api/me/stats": {
|
|
"get": {
|
|
"operationId": "get_stats_api_me_stats_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MeStatsOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Stats",
|
|
"tags": [
|
|
"User Profile"
|
|
]
|
|
}
|
|
},
|
|
"/api/me/storage-nonce": {
|
|
"get": {
|
|
"description": "Returns a deterministic, user-specific nonce for client-side encryption.\nCombined with APP_SECRET to ensure it's not guessing-prone.",
|
|
"operationId": "get_storage_nonce_api_me_storage_nonce_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StorageNonceOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Storage Nonce",
|
|
"tags": [
|
|
"User Profile"
|
|
]
|
|
}
|
|
},
|
|
"/api/me/tutorial-complete": {
|
|
"post": {
|
|
"operationId": "complete_tutorial_api_me_tutorial_complete_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TutorialCompleteSchema"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Complete Tutorial",
|
|
"tags": [
|
|
"User Profile"
|
|
]
|
|
}
|
|
},
|
|
"/api/me/tutorial/finish": {
|
|
"post": {
|
|
"description": "A specific, robust endpoint to mark tutorials as finished.\nAutomatically handles both dashboard and docs depending on the key.",
|
|
"operationId": "finish_tutorial_api_me_tutorial_finish_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/TutorialCompleteSchema"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Payload"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Finish Tutorial",
|
|
"tags": [
|
|
"User Profile"
|
|
]
|
|
}
|
|
},
|
|
"/api/notifications": {
|
|
"delete": {
|
|
"description": "Delete all notifications for the current user.",
|
|
"operationId": "delete_all_api_notifications_delete",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeletedCountOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Delete All",
|
|
"tags": [
|
|
"Notifications"
|
|
]
|
|
},
|
|
"get": {
|
|
"description": "Return up to `limit` notifications for the current user (newest first).",
|
|
"operationId": "list_notifications_api_notifications_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 50,
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/NotificationOut"
|
|
},
|
|
"title": "Response List Notifications Api Notifications Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Notifications",
|
|
"tags": [
|
|
"Notifications"
|
|
]
|
|
}
|
|
},
|
|
"/api/notifications/read-all": {
|
|
"patch": {
|
|
"description": "Mark all notifications for the current user as read.",
|
|
"operationId": "mark_all_read_api_notifications_read_all_patch",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MarkedCountOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Mark All Read",
|
|
"tags": [
|
|
"Notifications"
|
|
]
|
|
}
|
|
},
|
|
"/api/notifications/unread-count": {
|
|
"get": {
|
|
"description": "Return the number of unread notifications.",
|
|
"operationId": "unread_count_api_notifications_unread_count_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnreadCountOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Unread Count",
|
|
"tags": [
|
|
"Notifications"
|
|
]
|
|
}
|
|
},
|
|
"/api/notifications/{notif_id}": {
|
|
"delete": {
|
|
"description": "Delete a single notification.",
|
|
"operationId": "delete_notification_api_notifications__notif_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "notif_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Notif Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StatusOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Delete Notification",
|
|
"tags": [
|
|
"Notifications"
|
|
]
|
|
}
|
|
},
|
|
"/api/notifications/{notif_id}/read": {
|
|
"patch": {
|
|
"description": "Mark a single notification as read.",
|
|
"operationId": "mark_read_api_notifications__notif_id__read_patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "notif_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Notif Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Mark Read",
|
|
"tags": [
|
|
"Notifications"
|
|
]
|
|
}
|
|
},
|
|
"/api/org/access-history": {
|
|
"get": {
|
|
"description": "Who was granted what, when, and by whom.\n\nThe question a security questionnaire actually asks is \"who had access in\nMarch\", and this is how it is answered: the events are append-only, so the\nstate at any past moment is a replay rather than a stored snapshot. That\nneeds no extra storage and cannot drift from the events it summarises.\n\nFiltering on `org_unit_id` matches the JSON payload rather than a column,\nbecause the log is generic and shared with every other module. That is a\nsequential scan over this tenant's access rows — acceptable, because this\nendpoint is used rarely and by a human.",
|
|
"operationId": "access_history_api_org_access_history_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "target_user_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Target User Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "org_unit_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Org Unit Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "since",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Since"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "until",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Until"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 200,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AccessEventOut"
|
|
},
|
|
"title": "Response Access History Api Org Access History Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Access History",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
}
|
|
},
|
|
"/api/org/authority/{access_code}": {
|
|
"get": {
|
|
"description": "Where the caller holds one access code.\n\nDeliberately ungated and self-only: it reports the caller's own authority,\nwhich they can already determine by trying things. It exists so the frontend\ncan grey out what will fail rather than letting the user find out with a 403,\nand so that \"why can I not see this?\" has an answer that does not require\nreading the database.",
|
|
"operationId": "my_authority_api_org_authority__access_code__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "access_code",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Access Code",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AuthorityOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "My Authority",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
}
|
|
},
|
|
"/api/org/grants": {
|
|
"post": {
|
|
"description": "Grant a role to a user or a group, at a unit or tenant-wide.\n\nThe body of this used to live here. It now lives in `GrantService`, because\n`/api/admin/users/{id}/roles` needs the same delegation check, the same\ntenant validation and the same audit write — and a second copy of a\npermission check is a second chance to omit the one that stops a scoped\nmanager granting themselves the whole tenant.",
|
|
"operationId": "grant_role_api_org_grants_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GrantRoleIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ScopedRoleOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Grant Role",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
}
|
|
},
|
|
"/api/org/grants/{grant_id}": {
|
|
"delete": {
|
|
"operationId": "revoke_grant_api_org_grants__grant_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "grant_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Grant Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OrgStatusOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Revoke Grant",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
}
|
|
},
|
|
"/api/org/groups": {
|
|
"get": {
|
|
"operationId": "list_groups_api_org_groups_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AccessGroupOut"
|
|
},
|
|
"title": "Response List Groups Api Org Groups Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Groups",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "create_group_api_org_groups_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateAccessGroupIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AccessGroupOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create Group",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
}
|
|
},
|
|
"/api/org/groups/{group_id}": {
|
|
"delete": {
|
|
"description": "Deleting a group takes its grants with it (ON DELETE CASCADE).\n\nDeliberate: a grant whose principal no longer exists is a row nobody can\nsee, revoke or audit, and it must not keep applying.",
|
|
"operationId": "delete_group_api_org_groups__group_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "group_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Group Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OrgStatusOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Delete Group",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
}
|
|
},
|
|
"/api/org/groups/{group_id}/members": {
|
|
"get": {
|
|
"operationId": "list_group_members_api_org_groups__group_id__members_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "group_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Group Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/GroupMemberOut"
|
|
},
|
|
"title": "Response List Group Members Api Org Groups Group Id Members Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Group Members",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "add_group_member_api_org_groups__group_id__members_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "group_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Group Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AddGroupMemberIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GroupMemberOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Add Group Member",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
}
|
|
},
|
|
"/api/org/groups/{group_id}/members/{target_user_id}": {
|
|
"delete": {
|
|
"operationId": "remove_group_member_api_org_groups__group_id__members__target_user_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "group_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Group Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "path",
|
|
"name": "target_user_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Target User Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OrgStatusOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Remove Group Member",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
}
|
|
},
|
|
"/api/org/units": {
|
|
"get": {
|
|
"operationId": "list_units_api_org_units_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/OrgUnitOut"
|
|
},
|
|
"title": "Response List Units Api Org Units Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Units",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "create_unit_api_org_units_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateOrgUnitIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OrgUnitOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create Unit",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
}
|
|
},
|
|
"/api/org/units/{unit_id}": {
|
|
"delete": {
|
|
"operationId": "delete_unit_api_org_units__unit_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "unit_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Unit Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OrgUnitOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Delete Unit",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "get_unit_api_org_units__unit_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "unit_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Unit Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OrgUnitOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Unit",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
},
|
|
"patch": {
|
|
"operationId": "update_unit_api_org_units__unit_id__patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "unit_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Unit Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateOrgUnitIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OrgUnitOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update Unit",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
}
|
|
},
|
|
"/api/org/units/{unit_id}/grants": {
|
|
"get": {
|
|
"description": "Roles granted **at** this unit.\n\nDeliberately not \"roles effective here\": a grant on an ancestor also applies\nto this unit through subtree inheritance, and rolling those in would make\nthe list look like something you could revoke from here. You cannot — you\nrevoke it where it was granted. Showing only what was granted at this node\nkeeps the display and the action in agreement.\n\nThe other direction, \"everything this user holds\", is\n`/org/users/{id}/roles`.",
|
|
"operationId": "grants_at_unit_api_org_units__unit_id__grants_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "unit_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Unit Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/ScopedRoleOut"
|
|
},
|
|
"title": "Response Grants At Unit Api Org Units Unit Id Grants Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Grants At Unit",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
}
|
|
},
|
|
"/api/org/units/{unit_id}/leads": {
|
|
"get": {
|
|
"operationId": "lead_history_api_org_units__unit_id__leads_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "unit_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Unit Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/LeadOut"
|
|
},
|
|
"title": "Response Lead History Api Org Units Unit Id Leads Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Lead History",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "set_lead_api_org_units__unit_id__leads_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "unit_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Unit Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SetLeadIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LeadOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Set Lead",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
}
|
|
},
|
|
"/api/org/units/{unit_id}/members": {
|
|
"get": {
|
|
"operationId": "list_members_api_org_units__unit_id__members_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "unit_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Unit Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/MemberOut"
|
|
},
|
|
"title": "Response List Members Api Org Units Unit Id Members Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Members",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "add_member_api_org_units__unit_id__members_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "unit_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Unit Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AddMemberIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MemberOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Add Member",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
}
|
|
},
|
|
"/api/org/units/{unit_id}/members/{target_user_id}": {
|
|
"delete": {
|
|
"operationId": "remove_member_api_org_units__unit_id__members__target_user_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "unit_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Unit Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "path",
|
|
"name": "target_user_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Target User Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OrgStatusOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Remove Member",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
}
|
|
},
|
|
"/api/org/units/{unit_id}/parent": {
|
|
"patch": {
|
|
"operationId": "reparent_unit_api_org_units__unit_id__parent_patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "unit_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Unit Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ReparentIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OrgUnitOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Reparent Unit",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
}
|
|
},
|
|
"/api/org/users/{target_user_id}/roles": {
|
|
"get": {
|
|
"operationId": "list_grants_api_org_users__target_user_id__roles_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "target_user_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Target User Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/ScopedRoleOut"
|
|
},
|
|
"title": "Response List Grants Api Org Users Target User Id Roles Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Grants",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
}
|
|
},
|
|
"/api/org/users/{target_user_id}/units": {
|
|
"get": {
|
|
"operationId": "units_for_user_api_org_users__target_user_id__units_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "target_user_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Target User Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/MemberOut"
|
|
},
|
|
"title": "Response Units For User Api Org Users Target User Id Units Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Units For User",
|
|
"tags": [
|
|
"Organisation"
|
|
]
|
|
}
|
|
},
|
|
"/api/pdf/extract-blocks/{file_id}": {
|
|
"get": {
|
|
"description": "Extract text/image blocks using PyMuPDF (extraction only — no Stirling call).\n\nAlso attaches `locked_regions` per page so the frontend knows which\nareas are part of a signature imprint and must not be edited.",
|
|
"operationId": "extract_blocks_route_api_pdf_extract_blocks__file_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Extract Blocks Route",
|
|
"tags": [
|
|
"Stirling Editor"
|
|
]
|
|
}
|
|
},
|
|
"/api/pdf/save-blocks/{file_id}": {
|
|
"post": {
|
|
"description": "Apply edits via Stirling-PDF REST API and persist the result as a new version.\n\nPipeline (inside apply_edits):\n 1. Stirling /redact — wipe original content\n 2. PyMuPDF overlay — draw replacement text\n 3. Stirling /overlay — composite onto base\n 4. PyMuPDF — insert replacement images",
|
|
"operationId": "save_blocks_route_api_pdf_save_blocks__file_id__post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SaveEditsRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Save Blocks Route",
|
|
"tags": [
|
|
"Stirling Editor"
|
|
]
|
|
}
|
|
},
|
|
"/api/projects/comments/{comment_id}": {
|
|
"delete": {
|
|
"operationId": "delete_project_comment_api_projects_comments__comment_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "comment_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Comment Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Delete Project Comment",
|
|
"tags": [
|
|
"Project Comments"
|
|
]
|
|
}
|
|
},
|
|
"/api/projects/{project_id}/comments": {
|
|
"get": {
|
|
"operationId": "list_project_comments_api_projects__project_id__comments_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ProjectCommentsOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Project Comments",
|
|
"tags": [
|
|
"Project Comments"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "create_project_comment_api_projects__project_id__comments_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_create_project_comment_api_projects__project_id__comments_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create Project Comment",
|
|
"tags": [
|
|
"Project Comments"
|
|
]
|
|
}
|
|
},
|
|
"/api/projects/{project_id}/versions": {
|
|
"get": {
|
|
"operationId": "list_versions_api_projects__project_id__versions_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Versions",
|
|
"tags": [
|
|
"Version Control"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "create_version_api_projects__project_id__versions_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VersionCreateIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create Version",
|
|
"tags": [
|
|
"Version Control"
|
|
]
|
|
}
|
|
},
|
|
"/api/projects/{project_id}/versions/{version_id}": {
|
|
"delete": {
|
|
"operationId": "delete_version_api_projects__project_id__versions__version_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "path",
|
|
"name": "version_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Delete Version",
|
|
"tags": [
|
|
"Version Control"
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "get_version_api_projects__project_id__versions__version_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "path",
|
|
"name": "version_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Version",
|
|
"tags": [
|
|
"Version Control"
|
|
]
|
|
},
|
|
"patch": {
|
|
"operationId": "update_version_description_api_projects__project_id__versions__version_id__patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "path",
|
|
"name": "version_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VersionUpdateIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update Version Description",
|
|
"tags": [
|
|
"Version Control"
|
|
]
|
|
}
|
|
},
|
|
"/api/projects/{project_id}/versions/{version_id}/restore": {
|
|
"post": {
|
|
"operationId": "restore_version_api_projects__project_id__versions__version_id__restore_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "path",
|
|
"name": "version_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Restore Version",
|
|
"tags": [
|
|
"Version Control"
|
|
]
|
|
}
|
|
},
|
|
"/api/roles": {
|
|
"get": {
|
|
"description": "Get paginated list of roles with optional search.\n\nRequired access: admin.role.read | superadmin.role.read\n\nSuperadmins see roles across all tenants by default, or a single\ntenant when `?tenant_id=<uuid>` is provided. Tenant admins are\nalways scoped to their own tenant regardless of the query param.",
|
|
"operationId": "list_roles_paginated_api_roles_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "page",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 1,
|
|
"minimum": 1,
|
|
"title": "Page",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "page_size",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 10,
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"title": "Page Size",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "search",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Search"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RolePaginatedOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Roles Paginated",
|
|
"tags": [
|
|
"Roles"
|
|
]
|
|
}
|
|
},
|
|
"/api/roles/": {
|
|
"get": {
|
|
"description": "Get all roles.\n\nRequired access: admin.role.read | superadmin.role.read\n\nSuperadmins see roles across all tenants by default, or a single\ntenant when `?tenant_id=<uuid>` is provided. Tenant admins are\nalways scoped to their own tenant regardless of the query param.",
|
|
"operationId": "get_all_roles_api_roles__get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/RoleOut"
|
|
},
|
|
"title": "Response Get All Roles Api Roles Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get All Roles",
|
|
"tags": [
|
|
"Roles"
|
|
]
|
|
},
|
|
"post": {
|
|
"description": "Create a new role.\n\nRequired access: admin.role.create | superadmin.role.create\n\n- **role_name**: Name of the role\n- **description**: Optional description\n- **access_ids**: List of access IDs to assign\n- **tenant_id**: Tenant ID (for tenant-specific roles)",
|
|
"operationId": "create_role_api_roles__post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RoleCreate"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RoleOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create Role",
|
|
"tags": [
|
|
"Roles"
|
|
]
|
|
}
|
|
},
|
|
"/api/roles/assign-user": {
|
|
"post": {
|
|
"description": "Assign a role to a user.",
|
|
"operationId": "assign_role_to_user_api_roles_assign_user_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssignUserRoleIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RoleAssignedOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Assign Role To User",
|
|
"tags": [
|
|
"Roles"
|
|
]
|
|
}
|
|
},
|
|
"/api/roles/tenant/{tenant_id}": {
|
|
"get": {
|
|
"description": "Get all roles for a specific tenant.\n\nThe tenant is named by the caller, so a tenant administrator must not be\nable to name somebody else's.",
|
|
"operationId": "get_roles_by_tenant_api_roles_tenant__tenant_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "tenant_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/RoleOut"
|
|
},
|
|
"title": "Response Get Roles By Tenant Api Roles Tenant Tenant Id Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Roles By Tenant",
|
|
"tags": [
|
|
"Roles"
|
|
]
|
|
}
|
|
},
|
|
"/api/roles/{role_id}": {
|
|
"delete": {
|
|
"description": "Delete a role.\n\nRequired access: admin.role.update | superadmin.role.delete\n\n**Refuses with 409 while the role is still held**, unless `?force=true`.\n\nDeleting a role has always taken authority away silently: `user_roles.role_id`\nis `ON DELETE CASCADE`, so every grant of it disappears, and `users.role_id`\nis `ON DELETE SET NULL`, so every holder loses their primary role. Neither\nleaves a trace and neither was ever counted for the operator. With one role\nper user that was survivable; with roles granted in several places it is\nnot, because the operator can no longer hold the affected set in their head.\n\nThe cascade behaviour is unchanged. Only the silence is.",
|
|
"operationId": "delete_role_api_roles__role_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "role_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Role Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"description": "Delete even though the role is still held. Required once anybody holds it, so the removal of their authority is a decision rather than a side effect.",
|
|
"in": "query",
|
|
"name": "force",
|
|
"required": false,
|
|
"schema": {
|
|
"default": false,
|
|
"description": "Delete even though the role is still held. Required once anybody holds it, so the removal of their authority is a decision rather than a side effect.",
|
|
"title": "Force",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MessageOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Delete Role",
|
|
"tags": [
|
|
"Roles"
|
|
]
|
|
},
|
|
"get": {
|
|
"description": "Get a specific role by ID.\n\nRequired access: admin.role.read | superadmin.role.read",
|
|
"operationId": "get_role_api_roles__role_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "role_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Role Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RoleOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Role",
|
|
"tags": [
|
|
"Roles"
|
|
]
|
|
},
|
|
"patch": {
|
|
"description": "Update a role's details and accesses.\n\nRequired access: admin.role.update | superadmin.role.update\n\n- **role_name**: New role name (optional)\n- **description**: New description (optional)\n- **access_ids**: New list of access IDs (optional)",
|
|
"operationId": "update_role_api_roles__role_id__patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "role_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Role Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RoleUpdate"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RoleOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update Role",
|
|
"tags": [
|
|
"Roles"
|
|
]
|
|
}
|
|
},
|
|
"/api/roles/{role_id}/details": {
|
|
"get": {
|
|
"description": "Get a role with all assigned access codes.\n\nRequired access: admin.role.read | superadmin.role.read\n\nAlso reports how many principals hold it, so the editing screen can say what\na change affects. Counted here and not on the list endpoints, which render\nup to a hundred roles.",
|
|
"operationId": "get_role_with_accesses_api_roles__role_id__details_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "role_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Role Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RoleWithAccessesOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Role With Accesses",
|
|
"tags": [
|
|
"Roles"
|
|
]
|
|
}
|
|
},
|
|
"/api/s/{token}": {
|
|
"get": {
|
|
"operationId": "get_share_metadata_api_s__token__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "token",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Token",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Share Metadata",
|
|
"tags": [
|
|
"Public Share"
|
|
]
|
|
}
|
|
},
|
|
"/api/s/{token}/download": {
|
|
"get": {
|
|
"operationId": "download_file_by_token_api_s__token__download_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "token",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Token",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Download File By Token",
|
|
"tags": [
|
|
"Public Share"
|
|
]
|
|
}
|
|
},
|
|
"/api/s/{token}/view": {
|
|
"get": {
|
|
"operationId": "view_file_by_token_api_s__token__view_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "token",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Token",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "View File By Token",
|
|
"tags": [
|
|
"Public Share"
|
|
]
|
|
}
|
|
},
|
|
"/api/serve-image/{session_id}/{filename}": {
|
|
"get": {
|
|
"description": "Alias for serving images extracted during document processing.",
|
|
"operationId": "serve_image_api_serve_image__session_id___filename__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "session_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Session Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "path",
|
|
"name": "filename",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Filename",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Serve Image"
|
|
}
|
|
},
|
|
"/api/sharing/": {
|
|
"post": {
|
|
"operationId": "share_project_api_sharing__post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ShareProjectRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ShareProjectResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Share Project",
|
|
"tags": [
|
|
"Project Sharing"
|
|
]
|
|
}
|
|
},
|
|
"/api/sharing/shared-with-me": {
|
|
"get": {
|
|
"operationId": "shared_with_me_api_sharing_shared_with_me_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SharedProjectInfo"
|
|
},
|
|
"title": "Response Shared With Me Api Sharing Shared With Me Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Shared With Me",
|
|
"tags": [
|
|
"Project Sharing"
|
|
]
|
|
}
|
|
},
|
|
"/api/sharing/{project_id}/shares": {
|
|
"get": {
|
|
"operationId": "list_project_shares_api_sharing__project_id__shares_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/ShareProjectResponse"
|
|
},
|
|
"title": "Response List Project Shares Api Sharing Project Id Shares Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Project Shares",
|
|
"tags": [
|
|
"Project Sharing"
|
|
]
|
|
}
|
|
},
|
|
"/api/sharing/{share_id}": {
|
|
"delete": {
|
|
"operationId": "remove_share_api_sharing__share_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "share_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Share Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Remove Share",
|
|
"tags": [
|
|
"Project Sharing"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/builder-token": {
|
|
"post": {
|
|
"description": "Generate a JWT token for the Builder component, or editor URL for Zoho Sign.",
|
|
"operationId": "get_builder_token_api_signing_builder_token_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DocusealBuilderTokenRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Builder Token",
|
|
"tags": [
|
|
"Signing"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/config/global": {
|
|
"get": {
|
|
"description": "Super Admin gets the global signature config.",
|
|
"operationId": "get_global_config_api_signing_config_global_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Global Config",
|
|
"tags": [
|
|
"Signing Config"
|
|
]
|
|
},
|
|
"put": {
|
|
"description": "Super Admin updates the global signature config.",
|
|
"operationId": "update_global_config_api_signing_config_global_put",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GlobalConfigUpdate"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GlobalConfigUpdatedOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update Global Config",
|
|
"tags": [
|
|
"Signing Config"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/config/tenant": {
|
|
"get": {
|
|
"description": "Tenant Admin gets their specific config and the global default.",
|
|
"operationId": "get_tenant_config_api_signing_config_tenant_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SigningConfigOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Tenant Config",
|
|
"tags": [
|
|
"Signing Config"
|
|
]
|
|
},
|
|
"put": {
|
|
"description": "Tenant Admin updates their specific config.",
|
|
"operationId": "update_tenant_config_api_signing_config_tenant_put",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantConfigUpdate"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StatusOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update Tenant Config",
|
|
"tags": [
|
|
"Signing Config"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/docuseal/webhook": {
|
|
"post": {
|
|
"description": "Webhook endpoint for Docuseal to notify when signing is complete.",
|
|
"operationId": "docuseal_webhook_api_signing_docuseal_webhook_post",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Docuseal Webhook",
|
|
"tags": [
|
|
"Signing"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/files/{file_id}/imprints": {
|
|
"get": {
|
|
"description": "Fetch signature imprints for a specific file.",
|
|
"operationId": "get_file_imprints_api_signing_files__file_id__imprints_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SignatureImprintsResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get File Imprints",
|
|
"tags": [
|
|
"Signing"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/history": {
|
|
"get": {
|
|
"description": "Get signing history for the current user.",
|
|
"operationId": "get_signing_history_api_signing_history_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SigningHistoryItem"
|
|
},
|
|
"title": "Response Get Signing History Api Signing History Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Signing History",
|
|
"tags": [
|
|
"Signing"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/ocr": {
|
|
"post": {
|
|
"description": "Internal OCR endpoint — called by the Windows host to leverage\nTesseract installed inside the Docker container.",
|
|
"operationId": "ocr_endpoint_api_signing_ocr_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_ocr_endpoint_api_signing_ocr_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Ocr Endpoint",
|
|
"tags": [
|
|
"Signing"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/requests/{request_id}/audit-trail": {
|
|
"get": {
|
|
"description": "Download the audit trail certificate directly from S3.",
|
|
"operationId": "download_audit_trail_api_signing_requests__request_id__audit_trail_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "request_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Request Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Download Audit Trail",
|
|
"tags": [
|
|
"Signing"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/requests/{request_id}/cancel": {
|
|
"post": {
|
|
"operationId": "cancel_signing_request_api_signing_requests__request_id__cancel_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "request_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Request Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"title": "Response Cancel Signing Request Api Signing Requests Request Id Cancel Post",
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Cancel Signing Request",
|
|
"tags": [
|
|
"Signing"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/requests/{request_id}/mark-sent": {
|
|
"put": {
|
|
"operationId": "mark_request_sent_api_signing_requests__request_id__mark_sent_put",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "request_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Request Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"title": "Response Mark Request Sent Api Signing Requests Request Id Mark Sent Put",
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Mark Request Sent",
|
|
"tags": [
|
|
"Signing"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/requests/{request_id}/remind": {
|
|
"post": {
|
|
"operationId": "resend_signing_reminder_api_signing_requests__request_id__remind_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "request_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Request Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ResendReminderRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"title": "Response Resend Signing Reminder Api Signing Requests Request Id Remind Post",
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Resend Signing Reminder",
|
|
"tags": [
|
|
"Signing"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/self-sign": {
|
|
"post": {
|
|
"description": "Sign a PDF document with placed signature/date/text elements.",
|
|
"operationId": "self_sign_api_signing_self_sign_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SelfSignRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SelfSignResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Self Sign",
|
|
"tags": [
|
|
"Signing"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/send-otp": {
|
|
"post": {
|
|
"operationId": "send_docuseal_otp_api_signing_send_otp_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SendOTPRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"title": "Response Send Docuseal Otp Api Signing Send Otp Post",
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Send Docuseal Otp",
|
|
"tags": [
|
|
"Signing"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/submit": {
|
|
"post": {
|
|
"description": "Create a submission to send the document for signing.",
|
|
"operationId": "create_submission_api_signing_submit_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DocusealSubmissionRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DocusealSubmissionResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create Submission",
|
|
"tags": [
|
|
"Signing"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/template": {
|
|
"post": {
|
|
"description": "Create a signing template from an existing DriveFile or multiple files.",
|
|
"operationId": "create_template_api_signing_template_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DocusealTemplateRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DocusealTemplateResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create Template",
|
|
"tags": [
|
|
"Signing"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/verify": {
|
|
"post": {
|
|
"description": "Verify a signature by either scanning a document for DocQube signature blocks\nor looking up a specific Signature ID.",
|
|
"operationId": "verify_signature_api_signing_verify_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_verify_signature_api_signing_verify_post"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VerificationResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Verify Signature",
|
|
"tags": [
|
|
"Signing"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/verify-otp": {
|
|
"post": {
|
|
"operationId": "verify_docuseal_otp_api_signing_verify_otp_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VerifyOTPRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"title": "Response Verify Docuseal Otp Api Signing Verify Otp Post",
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Verify Docuseal Otp",
|
|
"tags": [
|
|
"Signing"
|
|
]
|
|
}
|
|
},
|
|
"/api/signing/zohosign/webhook": {
|
|
"post": {
|
|
"description": "Webhook endpoint for Zoho Sign to notify when signing is complete.",
|
|
"operationId": "zohosign_webhook_api_signing_zohosign_webhook_post",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "secret",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Secret"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Zohosign Webhook",
|
|
"tags": [
|
|
"Signing"
|
|
]
|
|
}
|
|
},
|
|
"/api/speech/transcribe": {
|
|
"post": {
|
|
"operationId": "transcribe_audio_api_speech_transcribe_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_transcribe_audio_api_speech_transcribe_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Transcribe Audio",
|
|
"tags": [
|
|
"Speech"
|
|
]
|
|
}
|
|
},
|
|
"/api/sso/login": {
|
|
"post": {
|
|
"description": "Endpoint for SaaS to initiate a login session for a user.\nVerified via HMAC signature.",
|
|
"operationId": "sso_login_api_sso_login_post",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Sso Login",
|
|
"tags": [
|
|
"SSO"
|
|
]
|
|
}
|
|
},
|
|
"/api/sso/provision": {
|
|
"post": {
|
|
"description": "Receive tenant provisioning/update events from SaaS and sync the mapped\nDocQube tenant, including max_users_allowed.",
|
|
"operationId": "provision_tenant_api_sso_provision_post",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Provision Tenant",
|
|
"tags": [
|
|
"SSO"
|
|
]
|
|
}
|
|
},
|
|
"/api/sso/sync-permissions": {
|
|
"post": {
|
|
"description": "Return all permission nodes defined in DocQube to the SaaS platform.",
|
|
"operationId": "sync_permissions_api_sso_sync_permissions_post",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Sync Permissions",
|
|
"tags": [
|
|
"SSO"
|
|
]
|
|
}
|
|
},
|
|
"/api/storage/files": {
|
|
"get": {
|
|
"operationId": "list_files_api_storage_files_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 50,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "offset",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 0,
|
|
"title": "Offset",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StorageFilesResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Files",
|
|
"tags": [
|
|
"Storage"
|
|
]
|
|
}
|
|
},
|
|
"/api/storage/files/{file_id}": {
|
|
"delete": {
|
|
"operationId": "delete_file_api_storage_files__file_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "file_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "File Id",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SuccessOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Delete File",
|
|
"tags": [
|
|
"Storage"
|
|
]
|
|
}
|
|
},
|
|
"/api/storage/upload": {
|
|
"post": {
|
|
"operationId": "upload_file_api_storage_upload_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_upload_file_api_storage_upload_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Upload File",
|
|
"tags": [
|
|
"Storage"
|
|
]
|
|
}
|
|
},
|
|
"/api/storage/usage": {
|
|
"get": {
|
|
"operationId": "get_usage_api_storage_usage_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StorageUsageResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Usage",
|
|
"tags": [
|
|
"Storage"
|
|
]
|
|
}
|
|
},
|
|
"/api/storage_drive/{key}": {
|
|
"get": {
|
|
"operationId": "serve_storage_file_api_storage_drive__key__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "key",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Key",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Serve Storage File"
|
|
}
|
|
},
|
|
"/api/task-status/{task_id}": {
|
|
"get": {
|
|
"operationId": "task_status_api_task_status__task_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "task_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Task Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Task Status",
|
|
"tags": [
|
|
"Process Task"
|
|
]
|
|
}
|
|
},
|
|
"/api/task/{task_id}": {
|
|
"delete": {
|
|
"operationId": "cancel_task_api_task__task_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "task_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Task Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Cancel Task",
|
|
"tags": [
|
|
"Process Task"
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "task_status_api_task__task_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "task_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Task Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Task Status",
|
|
"tags": [
|
|
"Process Task"
|
|
]
|
|
}
|
|
},
|
|
"/api/tenant/contacts": {
|
|
"get": {
|
|
"description": "Get all global contacts for the tenant.",
|
|
"operationId": "get_contacts_api_tenant_contacts_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/TenantContactOut"
|
|
},
|
|
"title": "Response Get Contacts Api Tenant Contacts Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Contacts",
|
|
"tags": [
|
|
"Tenant Contacts"
|
|
]
|
|
},
|
|
"post": {
|
|
"description": "Create a new global contact for the tenant.",
|
|
"operationId": "create_contact_api_tenant_contacts_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantContactCreate"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantContactOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create Contact",
|
|
"tags": [
|
|
"Tenant Contacts"
|
|
]
|
|
}
|
|
},
|
|
"/api/tenant/contacts/{contact_id}": {
|
|
"delete": {
|
|
"description": "Delete a global contact.",
|
|
"operationId": "delete_contact_api_tenant_contacts__contact_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "contact_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Contact Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Delete Contact",
|
|
"tags": [
|
|
"Tenant Contacts"
|
|
]
|
|
},
|
|
"put": {
|
|
"description": "Update an existing global contact for the tenant.",
|
|
"operationId": "update_contact_api_tenant_contacts__contact_id__put",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "contact_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Contact Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantContactUpdate"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantContactOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update Contact",
|
|
"tags": [
|
|
"Tenant Contacts"
|
|
]
|
|
}
|
|
},
|
|
"/api/tenants": {
|
|
"get": {
|
|
"operationId": "list_tenants_api_tenants_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "skip",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 0,
|
|
"title": "Skip",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 100,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/TenantOut"
|
|
},
|
|
"title": "Response List Tenants Api Tenants Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Tenants",
|
|
"tags": [
|
|
"Tenants"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "create_tenant_api_tenants_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateTenantIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Create Tenant",
|
|
"tags": [
|
|
"Tenants"
|
|
]
|
|
}
|
|
},
|
|
"/api/tenants/me/chat-token-quota": {
|
|
"patch": {
|
|
"operationId": "update_my_tenant_chat_token_quota_api_tenants_me_chat_token_quota_patch",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateTenantTokenQuotaIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update My Tenant Chat Token Quota",
|
|
"tags": [
|
|
"Tenants"
|
|
]
|
|
}
|
|
},
|
|
"/api/tenants/me/compression": {
|
|
"patch": {
|
|
"operationId": "update_my_tenant_compression_api_tenants_me_compression_patch",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_update_my_tenant_compression_api_tenants_me_compression_patch"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update My Tenant Compression",
|
|
"tags": [
|
|
"Tenants"
|
|
]
|
|
}
|
|
},
|
|
"/api/tenants/me/details": {
|
|
"get": {
|
|
"operationId": "get_my_tenant_api_tenants_me_details_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get My Tenant",
|
|
"tags": [
|
|
"Tenants"
|
|
]
|
|
}
|
|
},
|
|
"/api/tenants/me/smtp-settings": {
|
|
"delete": {
|
|
"operationId": "clear_my_tenant_smtp_settings_api_tenants_me_smtp_settings_delete",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MessageOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Clear My Tenant Smtp Settings",
|
|
"tags": [
|
|
"Tenants"
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "get_my_tenant_smtp_settings_api_tenants_me_smtp_settings_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantSMTPConfigViewOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get My Tenant Smtp Settings",
|
|
"tags": [
|
|
"Tenants"
|
|
]
|
|
},
|
|
"put": {
|
|
"operationId": "upsert_my_tenant_smtp_settings_api_tenants_me_smtp_settings_put",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantSMTPConfigUpsertIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantSMTPConfigViewOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Upsert My Tenant Smtp Settings",
|
|
"tags": [
|
|
"Tenants"
|
|
]
|
|
}
|
|
},
|
|
"/api/tenants/me/storage-quota": {
|
|
"patch": {
|
|
"operationId": "update_my_tenant_storage_quota_api_tenants_me_storage_quota_patch",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateTenantStorageQuotaIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update My Tenant Storage Quota",
|
|
"tags": [
|
|
"Tenants"
|
|
]
|
|
}
|
|
},
|
|
"/api/tenants/me/storage-settings": {
|
|
"delete": {
|
|
"operationId": "clear_my_tenant_storage_settings_api_tenants_me_storage_settings_delete",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MessageOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Clear My Tenant Storage Settings",
|
|
"tags": [
|
|
"Tenants"
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "get_my_tenant_storage_settings_api_tenants_me_storage_settings_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantStorageConfigViewOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get My Tenant Storage Settings",
|
|
"tags": [
|
|
"Tenants"
|
|
]
|
|
},
|
|
"put": {
|
|
"operationId": "upsert_my_tenant_storage_settings_api_tenants_me_storage_settings_put",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantStorageConfigUpsertIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantStorageConfigViewOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Upsert My Tenant Storage Settings",
|
|
"tags": [
|
|
"Tenants"
|
|
]
|
|
}
|
|
},
|
|
"/api/tenants/{tenant_id}": {
|
|
"delete": {
|
|
"operationId": "deactivate_tenant_api_tenants__tenant_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "tenant_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Deactivate Tenant",
|
|
"tags": [
|
|
"Tenants"
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "get_tenant_api_tenants__tenant_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "tenant_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Get Tenant",
|
|
"tags": [
|
|
"Tenants"
|
|
]
|
|
},
|
|
"patch": {
|
|
"operationId": "update_tenant_api_tenants__tenant_id__patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "tenant_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateTenantIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update Tenant",
|
|
"tags": [
|
|
"Tenants"
|
|
]
|
|
}
|
|
},
|
|
"/api/tenants/{tenant_id}/chat-token-quota": {
|
|
"patch": {
|
|
"operationId": "update_tenant_chat_token_quota_api_tenants__tenant_id__chat_token_quota_patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "tenant_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateTenantTokenQuotaIn"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TenantOut"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Update Tenant Chat Token Quota",
|
|
"tags": [
|
|
"Tenants"
|
|
]
|
|
}
|
|
},
|
|
"/api/tenants/{tenant_id}/users": {
|
|
"get": {
|
|
"operationId": "list_tenant_users_api_tenants__tenant_id__users_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "tenant_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/UserOut"
|
|
},
|
|
"title": "Response List Tenant Users Api Tenants Tenant Id Users Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "List Tenant Users",
|
|
"tags": [
|
|
"Tenants"
|
|
]
|
|
}
|
|
},
|
|
"/api/users/search": {
|
|
"get": {
|
|
"description": "Search users by name or email, within the caller's own tenant.\n\nPreviously unscoped: any authenticated user could enumerate every user of\nevery tenant, complete with email addresses, roles and access codes. A\ncaller with no tenant is a superadmin under today's model and still\nsearches across tenants.",
|
|
"operationId": "search_users_api_users_search_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "q",
|
|
"required": true,
|
|
"schema": {
|
|
"minLength": 1,
|
|
"title": "Q",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 10,
|
|
"maximum": 50,
|
|
"minimum": 1,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/UserOut"
|
|
},
|
|
"title": "Response Search Users Api Users Search Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"OAuth2PasswordBearer": []
|
|
}
|
|
],
|
|
"summary": "Search Users",
|
|
"tags": [
|
|
"Users"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|