# info.description
Backend API for the intelligent patent drafting platform.

# paths./api/health/.get.description
Returns 200 when the API process is running.

# paths./api/messaging/health/.get.description
Reports RabbitMQ reachability and outbox backlog. Does not gate Core API readiness.

# paths./api/messaging/metrics/.get.description
Text exposition of outbox/inbox/domain messaging gauges.

# paths./api/ready/.get.description
Returns 200 when PostgreSQL and Redis are reachable. RabbitMQ outages are reported separately via /api/messaging/health/.

# paths./api/v1/conversations/.post.summary
Create a conversation and first assistant response

# paths./api/v1/conversations/{conversation_id}/stream/.get.description
Base API view for endpoints that return StreamingHttpResponse (SSE).

# paths./api/v1/conversations/{conversation_id}/stream/.get.summary
Stream conversation events for a turn (SSE)

# paths./api/v1/conversations/suggest/.post.summary
Suggest conversation prompts while typing

# paths./api/v1/invention-cases/{invention_case_id}/context-questions/.get.summary
Get open context questions for an invention case

# paths./api/v1/invention-cases/{invention_case_id}/draft-documents/{doc.post.summary
Force-unlock an incomplete generation lock

# paths./api/v1/invention-cases/{invention_case_id}/draft-documents/{doc.post.summary
Lock draft for generation (Owner/Admin foundations)

# paths./api/v1/invention-cases/{invention_case_id}/draft-documents/{doc.post.summary
Unlock draft after generation (Owner/Admin foundations)

# paths./api/v1/invention-cases/{invention_case_id}/draft-documents/ensu.post.summary
Ensure patent application draft with template sections

# paths./api/v1/invention-cases/{invention_case_id}/drafting/.get.summary
Get current drafting projection for an invention case

# paths./api/v1/invention-cases/{invention_case_id}/drafting/generate/.post.summary
Start patent draft generation for an invention case

# paths./api/v1/invention-cases/{invention_case_id}/prior-art/.get.summary
Get current prior-art projection for an invention case

# paths./api/v1/invention-cases/{invention_case_id}/prior-art/runs/.get.summary
List prior-art runs for an invention case

# paths./api/v1/invention-cases/{invention_case_id}/prior-art/runs/{run_.get.summary
Get bounded sanitized prior-art search references

# paths./api/v1/invention-cases/{invention_case_id}/prior-art/search/.post.summary
Start prior-art search for an invention case

# paths./api/v1/invention-cases/{invention_case_id}/progress/.get.summary
Get invention case modular progress summary

# paths./api/v1/invention-cases/{invention_case_id}/source-documents/.get.summary
List source documents for an invention case

# paths./api/v1/invention-cases/{invention_case_id}/source-documents/.get.parameters[].description
A page number within the paginated result set.

# paths./api/v1/invention-cases/{invention_case_id}/source-documents/.post.summary
Upload 1-N source documents and enqueue extraction

# paths./api/v1/invention-cases/{invention_case_id}/source-documents/{so.get.summary
Download or preview a source document file

# paths./api/v1/invention-cases/{invention_case_id}/start-context-extrac.post.summary
Start context extraction for an invention case

# paths./api/v1/invention-cases/{invention_case_id}/workflow/.get.description
Canonical case modular workflow projection.

# paths./api/v1/invention-cases/{invention_case_id}/workflow-events/.get.description
Base API view for endpoints that return StreamingHttpResponse (SSE).

# paths./api/v1/invention-cases/{invention_case_id}/workflow-state/.get.summary
Get case workflow state projection for the workflow UI

# paths./api/v1/invention-cases/{invention_case_id}/workspace-navigation.get.summary
Get case workspace navigation projection

# paths./api/v1/workflow-runs/{workflow_run_id}/events/.get.description
Base API view for endpoints that return StreamingHttpResponse (SSE).

# paths./api/v1/workspaces/.get.parameters[].description
A page number within the paginated result set.

# paths./api/v1/workspaces/.post.summary
Create a personal or organization workspace

# paths./api/v1/workspaces/{workspace_id}/members/.get.parameters[].description
A page number within the paginated result set.

# components.schemas.ClaimsDraftExecutionStatusEnum.description
* `pending` - Pending
* `queued` - Queued
* `running` - Running
* `completed` - Completed
* `failed` - Failed

# components.schemas.ContextExtractionRunStatusEnum.description
* `pending` - Pending
* `queued` - Queued
* `questions_required` - Questions required
* `ready` - Ready
* `failed` - Failed

# components.schemas.ContextQuestionRoundStatusEnum.description
* `open` - Open
* `answered` - Answered
* `closed` - Closed
* `cancelled` - Cancelled

# components.schemas.ConversationDetailStatusEnum.description
* `active` - Active
* `completed` - Completed
* `failed` - Failed

# components.schemas.DocumentTypeEnum.description
* `invention_description` - Invention Description
* `drawing` - Drawing
* `technical_note` - Technical Note
* `component_list` - Component List
* `test_result` - Test Result
* `prior_art_material` - Prior Art Material
* `other` - Other

# components.schemas.ExtractionStatusEnum.description
* `pending` - Pending
* `queued` - Queued
* `completed` - Completed
* `failed` - Failed
* `needs_review` - Needs Review

# components.schemas.HealthResponse.properties.status.description
Always 'ok' when the API process is alive.

# components.schemas.QuestionTypeEnum.description
* `single_choice` - Single choice
* `multi_choice` - Multi choice
* `single_choice_with_other` - Single choice with other
* `free_text` - Free text

# components.schemas.RatingEnum.description
* `positive` - positive
* `negative` - negative

# components.schemas.ReadyOkResponse.properties.status.description
Always 'ok' when all dependencies are available.

# components.schemas.ReadyUnavailableResponse.properties.status.description
Always 'unavailable' when a dependency check fails.

# components.schemas.ReadyUnavailableResponse.properties.errors.description
Error messages keyed by dependency name.

# components.schemas.RoleEnum.description
* `user` - User
* `assistant` - Assistant

# components.schemas.RoleNameCadEnum.description
* `owner` - Owner
* `admin` - Admin
* `member` - Member
* `viewer` - Viewer

# components.schemas.RoleNameFa2Enum.description
* `admin` - admin
* `member` - member
* `viewer` - viewer

# components.schemas.SeverityEnum.description
* `blocking` - Blocking
* `recommended` - Recommended
* `optional` - Optional

# components.schemas.SourceEnum.description
* `discover` - Discover
* `case_sidebar` - Case sidebar

# components.schemas.Status3beEnum.description
* `active` - Active
* `paused` - Paused
* `blocked` - Blocked
* `archived` - Archived
* `locked` - Locked

# components.schemas.Status769Enum.description
* `pending` - Pending
* `queued` - Queued
* `completed` - Completed
* `failed` - Failed
* `needs_review` - Needs Review

# components.schemas.StatusC71Enum.description
* `pending` - Pending
* `queued` - Queued
* `completed` - Completed
* `failed` - Failed

# components.schemas.StatusF0eEnum.description
* `invited` - Invited
* `active` - Active
* `suspended` - Suspended
* `removed` - Removed

# components.schemas.TriggerSourceEnum.description
* `user_action` - User action
* `system` - System
* `admin` - Admin
* `test` - Test

# components.schemas.UploadStatusEnum.description
* `pending` - Pending
* `stored` - Stored
* `failed` - Failed

# components.schemas.WorkflowRunDetailStatusEnum.description
* `pending` - Pending
* `running` - Running
* `waiting_for_input` - Waiting for input
* `blocked` - Blocked
* `completed` - Completed
* `failed` - Failed
* `cancelled` - Cancelled

# components.schemas.WorkflowStepRunStatusEnum.description
* `pending` - Pending
* `running` - Running
* `waiting_for_input` - Waiting for input
* `blocked` - Blocked
* `completed` - Completed
* `failed` - Failed
* `cancelled` - Cancelled
* `skipped` - Skipped

# components.schemas.WorkspaceMemberUpdateStatusEnum.description
* `active` - active
* `suspended` - suspended

# components.schemas.WorkspaceTypeEnum.description
* `personal` - Personal
* `organization` - Organization