# @gpt-platform/client

> TypeScript SDK for GPT Platform - document extraction, AI agents, and workspace management.
> Version: 1.1
> NOTICE: GPT Integrators — Internal Use Only. This SDK is published for use by GPT Integrators during platform testing and buildout. It is not offered for general public access at this time and is not ready for public release. Do not redistribute, share credentials, or build production integrations against this package outside of authorized GPT Integrator engagements.

## Installation

```bash
npm install @gpt-platform/client
```

## Setup

```typescript
import { GptClient } from '@gpt-platform/client';

const client = new GptClient({
  baseUrl: 'https://api.example.com',
  apiKey: 'sk_app_xxx',      // x-application-key header
  token: 'user-jwt-here',    // Authorization: Bearer header
});
```

## Access-grant

- `getAccess-grants()` - /access-grants operation on access-grant resource
- `getAccess-grantsById()` - /access-grants/:id operation on access-grant resource
- `postAccess-grants()` - /access-grants operation on access-grant resource
- `patchAccess-grantsById()` - /access-grants/:id operation on access-grant resource
- `deleteAccess-grantsById()` - /access-grants/:id operation on access-grant resource

## Access-log

- `getAccess-logs()` - /access-logs operation on access-log resource
- `getAccess-logsById()` - /access-logs/:id operation on access-log resource

## Agent-deployment

- `getAgent-deployments()` - /agent-deployments operation on agent-deployment resource
- `getAgent-deploymentsById()` - /agent-deployments/:id operation on agent-deployment resource
- `postAgent-deployments()` - /agent-deployments operation on agent-deployment resource
- `patchAgent-deploymentsById()` - /agent-deployments/:id operation on agent-deployment resource
- `patchAgent-deploymentsByIdAccept-update()` - Accept an available version update
- `deleteAgent-deploymentsById()` - /agent-deployments/:id operation on agent-deployment resource

## Agent-execution

- `getAgent-executions()` - /agent-executions operation on agent-execution resource
- `getAgent-executionsById()` - /agent-executions/:id operation on agent-execution resource
- `patchAgent-executionsByIdCancel()` - /agent-executions/:id/cancel operation on agent-execution resource
- `patchAgent-executionsByIdResume()` - /agent-executions/:id/resume operation on agent-execution resource

## Agent-soul

- `getAgent-souls()` - /agent-souls operation on agent-soul resource
- `getAgent-soulsById()` - /agent-souls/:id operation on agent-soul resource
- `postAgent-souls()` - /agent-souls operation on agent-soul resource
- `patchAgent-soulsById()` - /agent-souls/:id operation on agent-soul resource
- `deleteAgent-soulsById()` - /agent-souls/:id operation on agent-soul resource

## Agent-stats

- `getAgentsByIdStats()` - /agents/:id/stats operation on agent-stats resource

## Agent-test-result

- `postAgent-test-results()` - Run an agent version against a document and return the test result

## Agent-training-stats

- `getAgentsByIdTraining-stats()` - /agents/:id/training-stats operation on agent-training-stats resource

## Agent-usage

- `getAgentsByIdUsage()` - /agents/:id/usage operation on agent-usage resource
- `getAgentsUsage()` - Batch read usage for all accessible agents

## Agent-version

- `getAgent-versions()` - List AgentVersions, optionally filtered to a specific agent
- `getAgent-versionsById()` - Fetch a single AgentVersion by ID
- `getAgent-versionsByIdMetrics()` - Get performance metrics for this version
- `getAgent-versionsByIdRevisions()` - List all revisions for a specific AgentVersion, sorted by revision number descending
- `postAgent-versions()` - Create a new AgentVersion snapshot
- `postAgent-versionsByIdAdd-system-field()` - Add a predefined system field to this version's output_schema
- `postAgent-versionsByIdRemove-system-field()` - Remove a system field from this version's output_schema
- `postAgent-versionsByIdSet-system-fields()` - Set which system fields are included in this version's output_schema (batch operation)
- `patchAgent-versionsById()` - Update an AgentVersion's prompt template or changes summary
- `deleteAgent-versionsById()` - Delete an AgentVersion

## Agent-version-comparison

- `postAgent-version-comparisons()` - Compare two agent versions and return the differences

## Agent-version-revision

- `getAgent-version-revisions()` - /agent-version-revisions operation on agent-version-revision resource
- `getAgent-version-revisionsById()` - /agent-version-revisions/:id operation on agent-version-revision resource

## AI Agents

- `getAgents()` - List all agents accessible in the current workspace
- `getAgentsBy-slugBySlug()` - Look up an agent by its system_slug
- `getAgentsById()` - Fetch a single agent by ID
- `getAgentsByIdSchema-versions()` - List all schema versions for this agent
- `getAgentsByIdTraining-examples()` - List training examples for this agent
- `postAgents()` - Create a new agent
- `postAgentsByIdAnalyze-training()` - Analyze training examples for conflicts, coverage, and quality
- `postAgentsByIdClone()` - Clone the agent to a new one with a new name
- `postAgentsByIdExport()` - Export agent configuration and training examples
- `postAgentsByIdPublish-version()` - Create a new immutable version from current agent state
- `postAgentsByIdRestore-version()` - Restore the agent to a previously used version by activating it
- `postAgentsByIdSchema-versions()` - Create a new schema version for this agent
- `postAgentsByIdSchema-versionsByVersionIdActivate()` - Activate a specific schema version
- `postAgentsByIdTeach()` - Submit human corrections to improve agent training
- `postAgentsByIdTest()` - Run the agent against sample input
- `postAgentsByIdValidate()` - Validate sample output against agent schema
- `postAgentsClone-for-workspace()` - Clone a system agent for workspace-specific customization
- `postAgentsImport()` - Import an agent from a JSON payload produced by `:export`
- `patchAgentsById()` - Update agent metadata such as name, description, vertical, tags, and instructions
- `patchAgentsByIdSchema-versionsByVersionId()` - Update a schema version without creating a new version
- `deleteAgentsById()` - Permanently delete an agent and cascade-destroy all associated data
- `deleteAgentsByIdTraining-examplesByExampleId()` - Delete a training example belonging to this agent

## Amendment-request

- `getAmendment-requests()` - /amendment-requests operation on amendment-request resource
- `getAmendment-requestsById()` - /amendment-requests/:id operation on amendment-request resource
- `postAmendment-requests()` - /amendment-requests operation on amendment-request resource
- `patchAmendment-requestsByIdApply()` - Mark an approved amendment as applied.
- `patchAmendment-requestsByIdApprove()` - Approve an amendment request.
- `patchAmendment-requestsByIdDeny()` - Deny an amendment request with a reason.
- `patchAmendment-requestsByIdReview()` - Begin reviewing an amendment request.

## Api-key

- `getApi-keys()` - List or fetch API keys
- `getApi-keysActive()` - List only active API keys
- `getApi-keysById()` - List or fetch API keys
- `getApi-keysStats()` - Get API keys with usage statistics for a tenant
- `postApi-keys()` - Create a new API key for the authenticated actor
- `patchApi-keysById()` - Update mutable API key properties: name, scopes, rate limit, and credit limit
- `patchApi-keysByIdReset-period()` - Reset budget period (for testing or manual reset)
- `patchApi-keysByIdRevoke()` - Revoke an API key, setting its status to :revoked and recording the revocation
timestamp
- `patchApi-keysByIdRotate()` - Rotate an API key by generating a new token while preserving the key's id,
metadata, and configuration
- `patchApi-keysByIdSet-budget()` - Set or remove credit budget for this API key
- `deleteApi-keysById()` - Permanently delete an API key record

## Applications

- `getApplications()` - /applications operation on application resource
- `getApplicationsBy-slugBySlug()` - Fetch a single application by its unique slug
- `getApplicationsById()` - /applications/:id operation on application resource
- `getApplicationsCurrent()` - Get the current application based on x-application-key header context
- `getApplicationsMe()` - Get the current application based on x-application-key header context
- `postApplications()` - Register a new ISV application on the platform
- `postApplicationsProvision()` - Atomic provisioning surface for ISV onboarding
- `patchApplicationsById()` - Update application configuration including branding, email settings, capability
flags, workspace mode, execution limits, and compliance tags
- `patchApplicationsByIdAllocate-credits()` - Allocate credits to the account associated with this Application
- `patchApplicationsByIdCompliance-tags()` - Update the compliance tags for an application (GDPR, HIPAA, SOC2, PCI-DSS, etc.)
- `patchApplicationsByIdGrant-credits()` - Allocates promotional credits to a specific tenant on behalf of the application
- `deleteApplicationsById()` - Permanently delete an application and all associated data

## Audit-chain-entry

- `getAudit-chain-entries()` - /audit-chain-entries operation on audit-chain-entry resource
- `getAudit-chain-entriesById()` - /audit-chain-entries/:id operation on audit-chain-entry resource

## Audit-log

- `getAudit-logs()` - List audit log entries
- `getAudit-logsActivity()` - Fetch a scoped, paginated activity feed for a tenant; optionally filter by workspace_id, activity_type, date range, or actor
- `getAudit-logsCount-by-action()` - Return a per-action count for a tenant's audit logs
- `postAudit-logsExport()` - Enqueue a bulk export job for audit logs

## Billing

- `postPayments()` - Process a payment

## Brand-identity

- `getBrand-identities()` - /brand-identities operation on brand-identity resource
- `getBrand-identitiesBy-tenantByTenantId()` - /brand-identities/by-tenant/:tenant_id operation on brand-identity resource
- `getBrand-identitiesBy-workspaceByWorkspaceId()` - /brand-identities/by-workspace/:workspace_id operation on brand-identity resource
- `getBrand-identitiesById()` - /brand-identities/:id operation on brand-identity resource
- `getBrand-identitiesDefaultTenantByTenantId()` - /brand-identities/default/tenant/:tenant_id operation on brand-identity resource
- `getBrand-identitiesDefaultWorkspaceByWorkspaceId()` - /brand-identities/default/workspace/:workspace_id operation on brand-identity resource
- `postBrand-identities()` - /brand-identities operation on brand-identity resource
- `patchBrand-identitiesById()` - /brand-identities/:id operation on brand-identity resource
- `patchBrand-identitiesByIdSet-default()` - /brand-identities/:id/set-default operation on brand-identity resource
- `patchBrand-identitiesByIdUnset-default()` - /brand-identities/:id/unset-default operation on brand-identity resource
- `deleteBrand-identitiesById()` - /brand-identities/:id operation on brand-identity resource

## Breach-incident

- `getBreach-incidents()` - /breach-incidents operation on breach-incident resource
- `getBreach-incidentsById()` - /breach-incidents/:id operation on breach-incident resource
- `postBreach-incidents()` - Report a new data breach or security incident
- `patchBreach-incidentsByIdStatus()` - Advance a breach incident through its lifecycle (identified → investigating → notifying → resolved / false_positive) and record officer notification and remediation notes.

## Breach-notification

- `getBreach-notifications()` - /breach-notifications operation on breach-notification resource
- `getBreach-notificationsById()` - /breach-notifications/:id operation on breach-notification resource

## Breach-notification-artifact

- `getBreach-notification-artifacts()` - /breach-notification-artifacts operation on breach-notification-artifact resource
- `getBreach-notification-artifactsById()` - /breach-notification-artifacts/:id operation on breach-notification-artifact resource
- `postBreach-notification-artifacts()` - /breach-notification-artifacts operation on breach-notification-artifact resource
- `patchBreach-notification-artifactsById()` - /breach-notification-artifacts/:id operation on breach-notification-artifact resource
- `patchBreach-notification-artifactsByIdSend()` - Mark artifact as sent and publish BreachNotificationReadyToSend event for Communication domain dispatch.

## Bulk-dismissal-result

- `postWorkspacesByWorkspaceIdExtractionDocumentsDismiss-all-trained()` - /workspaces/:workspace_id/extraction/documents/dismiss-all-trained operation on bulk-dismissal-result resource

## Bulk-reprocess-result

- `postExtractionDocumentsBulk-reprocess()` - /extraction/documents/bulk-reprocess operation on bulk-reprocess-result resource

## Business-associate-agreement

- `getBusiness-associate-agreements()` - /business-associate-agreements operation on business-associate-agreement resource
- `getBusiness-associate-agreementsById()` - /business-associate-agreements/:id operation on business-associate-agreement resource
- `postBusiness-associate-agreements()` - /business-associate-agreements operation on business-associate-agreement resource
- `patchBusiness-associate-agreementsById()` - /business-associate-agreements/:id operation on business-associate-agreement resource
- `patchBusiness-associate-agreementsByIdSign()` - /business-associate-agreements/:id/sign operation on business-associate-agreement resource
- `patchBusiness-associate-agreementsByIdTerminate()` - /business-associate-agreements/:id/terminate operation on business-associate-agreement resource

## Campaign

- `getEmail-marketingCampaignsById()` - /email-marketing/campaigns/:id operation on campaign resource
- `getEmail-marketingCampaignsWorkspaceByWorkspaceId()` - /email-marketing/campaigns/workspace/:workspace_id operation on campaign resource
- `postEmail-marketingCampaigns()` - /email-marketing/campaigns operation on campaign resource
- `postEmail-marketingCampaignsByIdAnalyze()` - Run post-campaign AI analysis with insights and recommendations
- `postEmail-marketingCampaignsByIdCreate-followup()` - Create a re-engagement campaign for non-engaged recipients
- `postEmail-marketingCampaignsByIdExport()` - Export campaign data (recipients, results, or tracking) as CSV
- `postEmail-marketingCampaignsByIdGenerate-emails()` - /email-marketing/campaigns/:id/generate-emails operation on campaign resource
- `postEmail-marketingCampaignsByIdImport-recipients()` - /email-marketing/campaigns/:id/import-recipients operation on campaign resource
- `postEmail-marketingCampaignsByIdOptimize-send-times()` - Predict optimal send times per recipient using AI
- `postEmail-marketingCampaignsByIdOptimize-subjects()` - Generate A/B test subject line variants using AI
- `postEmail-marketingCampaignsByIdSend()` - Triggers batch sending for approved emails
- `patchEmail-marketingCampaignsById()` - /email-marketing/campaigns/:id operation on campaign resource
- `deleteEmail-marketingCampaignsById()` - /email-marketing/campaigns/:id operation on campaign resource

## Case

- `getCases()` - /cases operation on case resource
- `getCasesAttention()` - Workspace-scoped read of open Cases ordered for attention
- `getCasesAttention-summary()` - Returns a workspace-scoped count summary:
%{open, sla_overdue, sla_within_24h, sla_within_7d}
- `getCasesById()` - /cases/:id operation on case resource
- `postCases()` - /cases operation on case resource
- `patchCasesById()` - /cases/:id operation on case resource
- `patchCasesByIdAssign-owner()` - Assign a case owner.
- `patchCasesByIdClose()` - Close a case (terminal state).
- `patchCasesByIdDecide()` - Record a decision on the Case
- `patchCasesByIdReopen()` - Reopen a decided case back to under_review.
- `patchCasesByIdTransition-state()` - Transition the case state along the state machine.
- `deleteCasesById()` - /cases/:id operation on case resource

## Case-document-link

- `getCase-document-links()` - /case-document-links operation on case-document-link resource
- `getCase-document-linksById()` - /case-document-links/:id operation on case-document-link resource
- `postCase-document-links()` - /case-document-links operation on case-document-link resource
- `deleteCase-document-linksById()` - /case-document-links/:id operation on case-document-link resource

## Case-entity-link

- `getCase-entity-links()` - /case-entity-links operation on case-entity-link resource
- `getCase-entity-linksById()` - /case-entity-links/:id operation on case-entity-link resource
- `postCase-entity-links()` - /case-entity-links operation on case-entity-link resource
- `deleteCase-entity-linksById()` - /case-entity-links/:id operation on case-entity-link resource

## Case-pipeline-link

- `getCase-pipeline-links()` - /case-pipeline-links operation on case-pipeline-link resource
- `getCase-pipeline-linksById()` - /case-pipeline-links/:id operation on case-pipeline-link resource

## Case-type

- `getCase-types()` - /case-types operation on case-type resource
- `getCase-typesById()` - /case-types/:id operation on case-type resource
- `postCase-types()` - /case-types operation on case-type resource
- `patchCase-typesById()` - /case-types/:id operation on case-type resource
- `patchCase-typesByIdActivate()` - Mark the CaseType as active.
- `patchCase-typesByIdDeactivate()` - Mark the CaseType as inactive.
- `deleteCase-typesById()` - /case-types/:id operation on case-type resource

## Catalog-option-type

- `getCatalogOption-typesApplicationByApplicationId()` - List all option types for an application ordered by position
- `getCatalogOption-typesById()` - /catalog/option-types/:id operation on catalog-option-type resource
- `postCatalogOption-types()` - Create an option type (e.g., Size, Color) for an application; shared across all tenants
- `patchCatalogOption-typesById()` - Update the name, slug, or display position of an option type
- `deleteCatalogOption-typesById()` - Permanently delete an option type and all its values; cascades to variant_option_values

## Catalog-option-value

- `getCatalogOption-valuesById()` - /catalog/option-values/:id operation on catalog-option-value resource
- `getCatalogOption-valuesOption-typeByOptionTypeId()` - List all values for an option type ordered by position
- `postCatalogOption-values()` - Create a specific option value (e.g., 'Large', 'Red') within an option type
- `patchCatalogOption-valuesById()` - Update the name, slug, position, or metadata of an option value
- `deleteCatalogOption-valuesById()` - Permanently delete an option value; removes associated variant_option_values

## Catalog-price-list

- `getCatalogPrice-listsApplicationByApplicationId()` - List all price lists for an application, ordered by priority
- `getCatalogPrice-listsById()` - /catalog/price-lists/:id operation on catalog-price-list resource
- `postCatalogPrice-lists()` - Create a named price list for an application with a strategy (fixed, percentage_discount, or tiered)
- `patchCatalogPrice-listsById()` - Update price list metadata, strategy, or validity period
- `deleteCatalogPrice-listsById()` - Permanently delete a price list and all its entries

## Catalog-price-list-entry

- `getCatalogPrice-list-entriesPrice-listByPriceListId()` - List all entries in a price list
- `postCatalogPrice-list-entries()` - Add a pricing entry to a price list for a product or variant; supply a fixed price, modifier, or tiered structure
- `patchCatalogPrice-list-entriesById()` - Update the price, modifier, tiers, or floor price for an existing entry
- `deleteCatalogPrice-list-entriesById()` - Permanently delete a price list entry

## Catalog-product

- `getCatalogProductsById()` - /catalog/products/:id operation on catalog-product resource
- `getCatalogProductsWorkspaceByWorkspaceId()` - List all active (non-deleted) products in a workspace
- `postCatalogProducts()` - Create a new catalog product in a workspace; triggers search indexing and enqueues embedding generation
- `patchCatalogProductsById()` - Update a product's attributes; triggers search re-indexing and embedding refresh
- `deleteCatalogProductsById()` - Soft-delete a product by stamping deleted_at; excluded from all future reads

## Catalog-product-variant

- `getCatalogProduct-variantsById()` - /catalog/product-variants/:id operation on catalog-product-variant resource
- `getCatalogProduct-variantsProductByProductId()` - List all active variants for a given product, sorted by position
- `postCatalogProduct-variants()` - Create a product variant (SKU, price override, option values); enforces max_variants_per_product quota
- `patchCatalogProduct-variantsById()` - Update a variant's SKU, pricing, properties, or media
- `deleteCatalogProduct-variantsById()` - Soft-delete a variant by setting deleted_at; excluded from future reads

## Catalog-taxonomy

- `getCatalogTaxonomiesApplicationByApplicationId()` - List active taxonomies for an application
- `getCatalogTaxonomiesById()` - /catalog/taxonomies/:id operation on catalog-taxonomy resource
- `postCatalogTaxonomies()` - Create a new taxonomy (classification axis) for an application; enforces max_taxonomies quota
- `patchCatalogTaxonomiesById()` - Update taxonomy metadata (name, slug, hierarchy settings)
- `deleteCatalogTaxonomiesById()` - Soft-delete a taxonomy by setting deleted_at; cascades to exclude nodes from future reads

## Catalog-taxonomy-node

- `getCatalogTaxonomy-nodesById()` - /catalog/taxonomy-nodes/:id operation on catalog-taxonomy-node resource
- `getCatalogTaxonomy-nodesTaxonomyByTaxonomyId()` - List all active nodes in a taxonomy
- `postCatalogTaxonomy-nodes()` - Create a taxonomy node (category) at the given position in the tree; validates hierarchy depth
- `patchCatalogTaxonomy-nodesById()` - Update a node's name, slug, position, or parent; re-validates tree depth
- `deleteCatalogTaxonomy-nodesById()` - Soft-delete a taxonomy node by stamping deleted_at; child nodes are not auto-deleted

## Catalog-view

- `getCatalogViewsById()` - /catalog/views/:id operation on catalog-view resource
- `getCatalogViewsWorkspaceByWorkspaceId()` - List all catalog views in a workspace
- `postCatalogViews()` - Create a catalog view (named product lens) in a workspace; enforces max_catalog_views quota
- `patchCatalogViewsById()` - Update view metadata, filtering rules, or pricing association
- `deleteCatalogViewsById()` - Permanently delete a catalog view and its rules and overrides

## Cde-scope-report

- `getCde-scope-reports()` - /cde-scope-reports operation on cde-scope-report resource
- `getCde-scope-reportsById()` - /cde-scope-reports/:id operation on cde-scope-report resource
- `postCde-scope-reports()` - Generate a PCI-DSS Cardholder Data Environment scope report for a workspace, classifying it as in-scope, out-of-scope, or connected based on ScanResult data
- `deleteCde-scope-reportsById()` - /cde-scope-reports/:id operation on cde-scope-report resource

## Chat-ai-message

- `getAiMessages()` - /ai/messages operation on chat-ai-message resource
- `getAiMessagesById()` - /ai/messages/:id operation on chat-ai-message resource
- `postAiMessages()` - Append a new message turn (system, user, or assistant) to a Conversation
- `deleteAiMessagesById()` - /ai/messages/:id operation on chat-ai-message resource

## Chat-conversation

- `getAiConversations()` - /ai/conversations operation on chat-conversation resource
- `getAiConversationsById()` - /ai/conversations/:id operation on chat-conversation resource
- `postAiConversations()` - Start a new AI conversation session with optional structured context data (e.g., prediction results to discuss)
- `patchAiConversationsById()` - Update the conversation title or replace the context data map
- `deleteAiConversationsById()` - /ai/conversations/:id operation on chat-conversation resource

## Chat-message

- `getMessages()` - /messages operation on chat-message resource
- `getMessagesById()` - /messages/:id operation on chat-message resource
- `getMessagesSearch()` - Full-text search messages by substring match on content
- `getMessagesSemantic-search()` - Vector similarity search across messages using a generated embedding of the query string
- `getThreadsByIdMessages()` - /threads/:id/messages operation on chat-message resource
- `postMessages()` - Add a new message turn to a thread
- `patchMessagesById()` - Edit a message's content, role, or metadata
- `deleteMessagesById()` - /messages/:id operation on chat-message resource

## Chat-message-feedback

- `getMessage-feedback()` - /message-feedback operation on chat-message-feedback resource
- `postMessage-feedback()` - Submit or update thumbs up/down feedback on a message

## Chat-thread

- `getThreads()` - /threads operation on chat-thread resource
- `getThreadsById()` - /threads/:id operation on chat-thread resource
- `getThreadsMine()` - List only the calling user's threads within their current workspace
- `getThreadsSearch()` - Full-text search threads by title or context summary within the actor's accessible workspace
- `postThreads()` - Create a new conversation thread scoped to a tenant, workspace, and user
- `postThreadsActive()` - Return the current user's active thread for their workspace, creating a new one if none exists or the existing thread has expired (>24h inactive)
- `postThreadsByIdComplete()` - Trigger AI inference on an existing thread without providing new user message content
- `postThreadsByIdExport()` - Export thread with messages to JSON, Markdown, or plain text format
- `postThreadsByIdFork()` - Fork a thread by cloning it with all its messages
- `postThreadsByIdMessages()` - Submit a user message to a thread and receive the AI response synchronously
- `postThreadsByIdSummarize()` - Generate a 2-3 sentence LLM summary of the thread's message history and persist it as `context_summary`
- `patchThreadsById()` - Update the thread's title or context summary
- `patchThreadsByIdArchive()` - Archive a thread by setting `archived_at` to the current timestamp
- `patchThreadsByIdMetadata()` - Merge the provided metadata map into the thread's existing metadata (shallow merge via Map.merge/2)
- `patchThreadsByIdUnarchive()` - Restore an archived thread by clearing `archived_at`, making it visible in the default thread list again.
- `deleteThreadsById()` - /threads/:id operation on chat-thread resource

## Chat-thread-stats

- `getThreadsStats()` - Return platform-wide chat statistics including total threads, total messages, threads active in the last 24h and 7d, message distribution by role, and top 10 workspaces by thread count

## Chat-thread-workspace-stats

- `getThreadsWorkspace-stats()` - Return aggregated chat statistics for the actor's current workspace: total threads, total messages, activity counts for 24h and 7d windows, and message distribution by role

## Claimed-domain

- `getClaimed-domains()` - /claimed-domains operation on claimed-domain resource
- `getClaimed-domainsById()` - /claimed-domains/:id operation on claimed-domain resource
- `postClaimed-domains()` - /claimed-domains operation on claimed-domain resource
- `patchClaimed-domainsById()` - /claimed-domains/:id operation on claimed-domain resource
- `patchClaimed-domainsByIdRevoke()` - /claimed-domains/:id/revoke operation on claimed-domain resource
- `patchClaimed-domainsByIdVerify()` - /claimed-domains/:id/verify operation on claimed-domain resource
- `deleteClaimed-domainsById()` - /claimed-domains/:id operation on claimed-domain resource

## Clinical-client-goal

- `getClinicalClient-goals()` - /clinical/client-goals operation on clinical-client-goal resource
- `getClinicalClient-goalsArchived()` - /clinical/client-goals/archived operation on clinical-client-goal resource
- `getClinicalClient-goalsById()` - /clinical/client-goals/:id operation on clinical-client-goal resource
- `getClinicalPatientsByIdGoals()` - /clinical/patients/:id/goals operation on clinical-client-goal resource
- `postClinicalClient-goals()` - /clinical/client-goals operation on clinical-client-goal resource
- `postClinicalClient-goalsFrom-template()` - /clinical/client-goals/from-template operation on clinical-client-goal resource
- `patchClinicalClient-goalsById()` - /clinical/client-goals/:id operation on clinical-client-goal resource
- `patchClinicalClient-goalsByIdApprove()` - Clinician approves a draft or unreviewed goal
- `patchClinicalClient-goalsByIdArchive()` - /clinical/client-goals/:id/archive operation on clinical-client-goal resource
- `patchClinicalClient-goalsByIdReject()` - Clinician rejects a draft or unreviewed goal
- `patchClinicalClient-goalsByIdRestore()` - /clinical/client-goals/:id/restore operation on clinical-client-goal resource
- `deleteClinicalClient-goalsByIdPermanent()` - /clinical/client-goals/:id/permanent operation on clinical-client-goal resource

## Clinical-client-medication

- `getClinicalClient-medications()` - /clinical/client-medications operation on clinical-client-medication resource
- `getClinicalClient-medicationsArchived()` - /clinical/client-medications/archived operation on clinical-client-medication resource
- `getClinicalClient-medicationsById()` - /clinical/client-medications/:id operation on clinical-client-medication resource
- `getClinicalPatientsByIdMedications()` - /clinical/patients/:id/medications operation on clinical-client-medication resource
- `postClinicalClient-medications()` - /clinical/client-medications operation on clinical-client-medication resource
- `postClinicalClient-medicationsBulk()` - Create multiple medications in a single request (e.g., from an EHR import)
- `patchClinicalClient-medicationsById()` - /clinical/client-medications/:id operation on clinical-client-medication resource
- `patchClinicalClient-medicationsByIdArchive()` - /clinical/client-medications/:id/archive operation on clinical-client-medication resource
- `patchClinicalClient-medicationsByIdRestore()` - /clinical/client-medications/:id/restore operation on clinical-client-medication resource
- `deleteClinicalClient-medicationsByIdPermanent()` - /clinical/client-medications/:id/permanent operation on clinical-client-medication resource

## Clinical-client-resource-assignment

- `getClinicalClient-resource-assignments()` - /clinical/client-resource-assignments operation on clinical-client-resource-assignment resource
- `getClinicalClient-resource-assignmentsArchived()` - /clinical/client-resource-assignments/archived operation on clinical-client-resource-assignment resource
- `getClinicalClient-resource-assignmentsById()` - /clinical/client-resource-assignments/:id operation on clinical-client-resource-assignment resource
- `getClinicalPatientsByIdResourceAssignments()` - /clinical/patients/:id/resource_assignments operation on clinical-client-resource-assignment resource
- `postClinicalClient-resource-assignments()` - /clinical/client-resource-assignments operation on clinical-client-resource-assignment resource
- `patchClinicalClient-resource-assignmentsById()` - /clinical/client-resource-assignments/:id operation on clinical-client-resource-assignment resource
- `patchClinicalClient-resource-assignmentsByIdArchive()` - /clinical/client-resource-assignments/:id/archive operation on clinical-client-resource-assignment resource
- `patchClinicalClient-resource-assignmentsByIdRestore()` - /clinical/client-resource-assignments/:id/restore operation on clinical-client-resource-assignment resource
- `deleteClinicalClient-resource-assignmentsByIdPermanent()` - /clinical/client-resource-assignments/:id/permanent operation on clinical-client-resource-assignment resource

## Clinical-client-supplement

- `getClinicalClient-supplements()` - /clinical/client-supplements operation on clinical-client-supplement resource
- `getClinicalClient-supplementsArchived()` - /clinical/client-supplements/archived operation on clinical-client-supplement resource
- `getClinicalClient-supplementsById()` - /clinical/client-supplements/:id operation on clinical-client-supplement resource
- `getClinicalPatientsByIdSupplements()` - /clinical/patients/:id/supplements operation on clinical-client-supplement resource
- `postClinicalClient-supplements()` - /clinical/client-supplements operation on clinical-client-supplement resource
- `postClinicalClient-supplementsBulk()` - Create multiple supplements in a single request (e.g., from a treatment plan)
- `patchClinicalClient-supplementsById()` - /clinical/client-supplements/:id operation on clinical-client-supplement resource
- `patchClinicalClient-supplementsByIdArchive()` - /clinical/client-supplements/:id/archive operation on clinical-client-supplement resource
- `patchClinicalClient-supplementsByIdRestore()` - /clinical/client-supplements/:id/restore operation on clinical-client-supplement resource
- `deleteClinicalClient-supplementsByIdPermanent()` - /clinical/client-supplements/:id/permanent operation on clinical-client-supplement resource

## Clinical-delivery

- `getClinicalDeliveries()` - /clinical/deliveries operation on clinical-delivery resource
- `getClinicalDeliveriesBy-session()` - /clinical/deliveries/by-session operation on clinical-delivery resource
- `getClinicalDeliveriesById()` - /clinical/deliveries/:id operation on clinical-delivery resource
- `postClinicalDeliveries()` - /clinical/deliveries operation on clinical-delivery resource
- `patchClinicalDeliveriesById()` - /clinical/deliveries/:id operation on clinical-delivery resource

## Clinical-document

- `getClinicalDocuments()` - /clinical/documents operation on clinical-document resource
- `getClinicalDocumentsById()` - /clinical/documents/:id operation on clinical-document resource
- `getClinicalDocumentsPatientsByIdDocuments()` - /clinical/documents/patients/:id/documents operation on clinical-document resource
- `postClinicalDocuments()` - /clinical/documents operation on clinical-document resource
- `patchClinicalDocumentsById()` - /clinical/documents/:id operation on clinical-document resource
- `patchClinicalDocumentsByIdTransition-status()` - Transition extraction_status (used by worker and admin).
- `deleteClinicalDocumentsById()` - /clinical/documents/:id operation on clinical-document resource

## Clinical-goal-association

- `getClinicalGoal-associations()` - /clinical/goal-associations operation on clinical-goal-association resource
- `getClinicalGoal-associationsById()` - /clinical/goal-associations/:id operation on clinical-goal-association resource
- `postClinicalGoal-associations()` - /clinical/goal-associations operation on clinical-goal-association resource
- `deleteClinicalGoal-associationsById()` - /clinical/goal-associations/:id operation on clinical-goal-association resource

## Clinical-goal-template

- `getClinicalGoal-templates()` - /clinical/goal-templates operation on clinical-goal-template resource
- `getClinicalGoal-templatesArchived()` - /clinical/goal-templates/archived operation on clinical-goal-template resource
- `getClinicalGoal-templatesById()` - /clinical/goal-templates/:id operation on clinical-goal-template resource
- `getClinicalGoal-templatesCatalog()` - /clinical/goal-templates/catalog operation on clinical-goal-template resource
- `getClinicalGoal-templatesCatalogArchived()` - /clinical/goal-templates/catalog/archived operation on clinical-goal-template resource
- `getClinicalGoal-templatesCatalogById()` - /clinical/goal-templates/catalog/:id operation on clinical-goal-template resource
- `getClinicalGoal-templatesMine()` - /clinical/goal-templates/mine operation on clinical-goal-template resource
- `postClinicalGoal-templates()` - /clinical/goal-templates operation on clinical-goal-template resource
- `postClinicalGoal-templatesCatalog()` - /clinical/goal-templates/catalog operation on clinical-goal-template resource
- `postClinicalGoal-templatesFrom-existing()` - /clinical/goal-templates/from-existing operation on clinical-goal-template resource
- `patchClinicalGoal-templatesById()` - /clinical/goal-templates/:id operation on clinical-goal-template resource
- `patchClinicalGoal-templatesByIdArchive()` - /clinical/goal-templates/:id/archive operation on clinical-goal-template resource
- `patchClinicalGoal-templatesByIdRestore()` - /clinical/goal-templates/:id/restore operation on clinical-goal-template resource
- `patchClinicalGoal-templatesCatalogById()` - /clinical/goal-templates/catalog/:id operation on clinical-goal-template resource
- `patchClinicalGoal-templatesCatalogByIdArchive()` - /clinical/goal-templates/catalog/:id/archive operation on clinical-goal-template resource
- `patchClinicalGoal-templatesCatalogByIdRestore()` - /clinical/goal-templates/catalog/:id/restore operation on clinical-goal-template resource
- `deleteClinicalGoal-templatesByIdPermanent()` - /clinical/goal-templates/:id/permanent operation on clinical-goal-template resource
- `deleteClinicalGoal-templatesCatalogByIdPermanent()` - /clinical/goal-templates/catalog/:id/permanent operation on clinical-goal-template resource

## Clinical-goal-template-category

- `getClinicalGoal-templatesCategories()` - /clinical/goal-templates/categories operation on clinical-goal-template-category resource
- `getClinicalGoal-templatesCategoriesCatalog()` - /clinical/goal-templates/categories/catalog operation on clinical-goal-template-category resource

## Clinical-goal-template-collection

- `getClinicalGoal-template-collections()` - List template collections for a workspace
- `getClinicalGoal-template-collectionsById()` - /clinical/goal-template-collections/:id operation on clinical-goal-template-collection resource
- `postClinicalGoal-template-collections()` - /clinical/goal-template-collections operation on clinical-goal-template-collection resource
- `patchClinicalGoal-template-collectionsById()` - /clinical/goal-template-collections/:id operation on clinical-goal-template-collection resource
- `deleteClinicalGoal-template-collectionsById()` - /clinical/goal-template-collections/:id operation on clinical-goal-template-collection resource

## Clinical-goal-template-collection-membership

- `getClinicalGoal-template-collection-membershipsById()` - /clinical/goal-template-collection-memberships/:id operation on clinical-goal-template-collection-membership resource
- `getClinicalGoal-template-collection-membershipsCollectionByCollectionId()` - List templates in a collection
- `postClinicalGoal-template-collection-memberships()` - /clinical/goal-template-collection-memberships operation on clinical-goal-template-collection-membership resource
- `patchClinicalGoal-template-collection-membershipsById()` - /clinical/goal-template-collection-memberships/:id operation on clinical-goal-template-collection-membership resource
- `deleteClinicalGoal-template-collection-membershipsById()` - /clinical/goal-template-collection-memberships/:id operation on clinical-goal-template-collection-membership resource

## Clinical-health-metric

- `getClinicalHealth-metrics()` - /clinical/health-metrics operation on clinical-health-metric resource
- `getClinicalHealth-metricsArchived()` - /clinical/health-metrics/archived operation on clinical-health-metric resource
- `getClinicalHealth-metricsBy-session()` - /clinical/health-metrics/by-session operation on clinical-health-metric resource
- `getClinicalHealth-metricsBy-type()` - /clinical/health-metrics/by-type operation on clinical-health-metric resource
- `getClinicalHealth-metricsById()` - /clinical/health-metrics/:id operation on clinical-health-metric resource
- `getClinicalPatientsByIdHealthMetrics()` - /clinical/patients/:id/health_metrics operation on clinical-health-metric resource
- `postClinicalHealth-metrics()` - /clinical/health-metrics operation on clinical-health-metric resource
- `patchClinicalHealth-metricsById()` - /clinical/health-metrics/:id operation on clinical-health-metric resource
- `patchClinicalHealth-metricsByIdArchive()` - /clinical/health-metrics/:id/archive operation on clinical-health-metric resource
- `patchClinicalHealth-metricsByIdRestore()` - /clinical/health-metrics/:id/restore operation on clinical-health-metric resource
- `deleteClinicalHealth-metricsByIdPermanent()` - /clinical/health-metrics/:id/permanent operation on clinical-health-metric resource

## Clinical-insurance-authorization

- `getClinicalInsurance-authorizations()` - /clinical/insurance-authorizations operation on clinical-insurance-authorization resource
- `getClinicalInsurance-authorizationsBy-workspace()` - /clinical/insurance-authorizations/by-workspace operation on clinical-insurance-authorization resource
- `getClinicalInsurance-authorizationsById()` - /clinical/insurance-authorizations/:id operation on clinical-insurance-authorization resource
- `getClinicalInsurance-authorizationsExpiring()` - /clinical/insurance-authorizations/expiring operation on clinical-insurance-authorization resource
- `postClinicalInsurance-authorizations()` - /clinical/insurance-authorizations operation on clinical-insurance-authorization resource
- `patchClinicalInsurance-authorizationsById()` - /clinical/insurance-authorizations/:id operation on clinical-insurance-authorization resource
- `patchClinicalInsurance-authorizationsByIdIncrement()` - Increment used_units by a given amount
- `deleteClinicalInsurance-authorizationsById()` - /clinical/insurance-authorizations/:id operation on clinical-insurance-authorization resource

## Clinical-intake-target

- `getClinicalIntake-targets()` - /clinical/intake-targets operation on clinical-intake-target resource
- `getClinicalIntake-targetsActiveByPatientId()` - /clinical/intake-targets/active/:patient_id operation on clinical-intake-target resource
- `getClinicalIntake-targetsArchived()` - /clinical/intake-targets/archived operation on clinical-intake-target resource
- `getClinicalIntake-targetsBy-workspace()` - /clinical/intake-targets/by-workspace operation on clinical-intake-target resource
- `getClinicalIntake-targetsById()` - /clinical/intake-targets/:id operation on clinical-intake-target resource
- `postClinicalIntake-targets()` - /clinical/intake-targets operation on clinical-intake-target resource
- `patchClinicalIntake-targetsById()` - /clinical/intake-targets/:id operation on clinical-intake-target resource
- `patchClinicalIntake-targetsByIdArchive()` - /clinical/intake-targets/:id/archive operation on clinical-intake-target resource
- `patchClinicalIntake-targetsByIdRestore()` - /clinical/intake-targets/:id/restore operation on clinical-intake-target resource
- `deleteClinicalIntake-targetsByIdPermanent()` - /clinical/intake-targets/:id/permanent operation on clinical-intake-target resource

## Clinical-meal-plan

- `getClinicalMeal-plans()` - /clinical/meal-plans operation on clinical-meal-plan resource
- `getClinicalMeal-plansArchived()` - /clinical/meal-plans/archived operation on clinical-meal-plan resource
- `getClinicalMeal-plansBy-meal-schedule()` - /clinical/meal-plans/by-meal-schedule operation on clinical-meal-plan resource
- `getClinicalMeal-plansBy-patient()` - /clinical/meal-plans/by-patient operation on clinical-meal-plan resource
- `getClinicalMeal-plansBy-workspace()` - /clinical/meal-plans/by-workspace operation on clinical-meal-plan resource
- `getClinicalMeal-plansById()` - /clinical/meal-plans/:id operation on clinical-meal-plan resource
- `getClinicalSessionsByIdMealPlans()` - /clinical/sessions/:id/meal_plans operation on clinical-meal-plan resource
- `postClinicalMeal-plans()` - /clinical/meal-plans operation on clinical-meal-plan resource
- `patchClinicalMeal-plansById()` - /clinical/meal-plans/:id operation on clinical-meal-plan resource
- `patchClinicalMeal-plansByIdApprove()` - /clinical/meal-plans/:id/approve operation on clinical-meal-plan resource
- `patchClinicalMeal-plansByIdArchive()` - /clinical/meal-plans/:id/archive operation on clinical-meal-plan resource
- `patchClinicalMeal-plansByIdRestore()` - /clinical/meal-plans/:id/restore operation on clinical-meal-plan resource
- `deleteClinicalMeal-plansByIdPermanent()` - /clinical/meal-plans/:id/permanent operation on clinical-meal-plan resource

## Clinical-note

- `getClinicalNotes()` - /clinical/notes operation on clinical-note resource
- `getClinicalNotesArchived()` - /clinical/notes/archived operation on clinical-note resource
- `getClinicalNotesBy-patient()` - /clinical/notes/by-patient operation on clinical-note resource
- `getClinicalNotesBy-workspace()` - /clinical/notes/by-workspace operation on clinical-note resource
- `getClinicalNotesById()` - /clinical/notes/:id operation on clinical-note resource
- `getClinicalSessionsByIdSessionNotes()` - /clinical/sessions/:id/session_notes operation on clinical-note resource
- `postClinicalNotes()` - /clinical/notes operation on clinical-note resource
- `patchClinicalNotesById()` - /clinical/notes/:id operation on clinical-note resource
- `patchClinicalNotesByIdApprove()` - RD approves the clinical note
- `patchClinicalNotesByIdArchive()` - /clinical/notes/:id/archive operation on clinical-note resource
- `patchClinicalNotesByIdReject()` - RD rejects the clinical note.
- `patchClinicalNotesByIdRestore()` - /clinical/notes/:id/restore operation on clinical-note resource
- `deleteClinicalNotesByIdPermanent()` - /clinical/notes/:id/permanent operation on clinical-note resource

## Clinical-note-template

- `getClinicalNote-templates()` - /clinical/note-templates operation on clinical-note-template resource
- `getClinicalNote-templatesArchived()` - /clinical/note-templates/archived operation on clinical-note-template resource
- `getClinicalNote-templatesById()` - /clinical/note-templates/:id operation on clinical-note-template resource
- `getClinicalNote-templatesCatalog()` - /clinical/note-templates/catalog operation on clinical-note-template resource
- `getClinicalNote-templatesCatalogArchived()` - /clinical/note-templates/catalog/archived operation on clinical-note-template resource
- `getClinicalNote-templatesCatalogById()` - /clinical/note-templates/catalog/:id operation on clinical-note-template resource
- `getClinicalNote-templatesMine()` - /clinical/note-templates/mine operation on clinical-note-template resource
- `postClinicalNote-templates()` - /clinical/note-templates operation on clinical-note-template resource
- `postClinicalNote-templatesCatalog()` - /clinical/note-templates/catalog operation on clinical-note-template resource
- `postClinicalNote-templatesFrom-existing()` - /clinical/note-templates/from-existing operation on clinical-note-template resource
- `patchClinicalNote-templatesById()` - /clinical/note-templates/:id operation on clinical-note-template resource
- `patchClinicalNote-templatesByIdArchive()` - /clinical/note-templates/:id/archive operation on clinical-note-template resource
- `patchClinicalNote-templatesByIdRestore()` - /clinical/note-templates/:id/restore operation on clinical-note-template resource
- `patchClinicalNote-templatesCatalogById()` - /clinical/note-templates/catalog/:id operation on clinical-note-template resource
- `patchClinicalNote-templatesCatalogByIdArchive()` - /clinical/note-templates/catalog/:id/archive operation on clinical-note-template resource
- `patchClinicalNote-templatesCatalogByIdRestore()` - /clinical/note-templates/catalog/:id/restore operation on clinical-note-template resource
- `deleteClinicalNote-templatesByIdPermanent()` - /clinical/note-templates/:id/permanent operation on clinical-note-template resource
- `deleteClinicalNote-templatesCatalogByIdPermanent()` - /clinical/note-templates/catalog/:id/permanent operation on clinical-note-template resource

## Clinical-note-version

- `getClinicalNotesByNoteIdVersions()` - /clinical/notes/:note_id/versions operation on clinical-note-version resource
- `getClinicalNotesByNoteIdVersionsById()` - /clinical/notes/:note_id/versions/:id operation on clinical-note-version resource

## Clinical-patient

- `getClinicalPatients()` - /clinical/patients operation on clinical-patient resource
- `getClinicalPatientsById()` - /clinical/patients/:id operation on clinical-patient resource
- `postClinicalPatients()` - /clinical/patients operation on clinical-patient resource
- `patchClinicalPatientsById()` - /clinical/patients/:id operation on clinical-patient resource
- `deleteClinicalPatientsById()` - /clinical/patients/:id operation on clinical-patient resource

## Clinical-patient-insurance

- `getClinicalPatient-insurance()` - /clinical/patient-insurance operation on clinical-patient-insurance resource
- `getClinicalPatient-insuranceBy-workspace()` - /clinical/patient-insurance/by-workspace operation on clinical-patient-insurance resource
- `getClinicalPatient-insuranceById()` - /clinical/patient-insurance/:id operation on clinical-patient-insurance resource
- `getClinicalPatientsByIdInsuranceRecords()` - /clinical/patients/:id/insurance_records operation on clinical-patient-insurance resource
- `postClinicalPatient-insurance()` - /clinical/patient-insurance operation on clinical-patient-insurance resource
- `patchClinicalPatient-insuranceById()` - /clinical/patient-insurance/:id operation on clinical-patient-insurance resource
- `deleteClinicalPatient-insuranceById()` - /clinical/patient-insurance/:id operation on clinical-patient-insurance resource

## Clinical-practice-resource

- `getClinicalPractice-resources()` - /clinical/practice-resources operation on clinical-practice-resource resource
- `getClinicalPractice-resourcesArchived()` - /clinical/practice-resources/archived operation on clinical-practice-resource resource
- `getClinicalPractice-resourcesById()` - /clinical/practice-resources/:id operation on clinical-practice-resource resource
- `getClinicalPractice-resourcesCatalog()` - /clinical/practice-resources/catalog operation on clinical-practice-resource resource
- `getClinicalPractice-resourcesCatalogArchived()` - /clinical/practice-resources/catalog/archived operation on clinical-practice-resource resource
- `getClinicalPractice-resourcesCatalogById()` - /clinical/practice-resources/catalog/:id operation on clinical-practice-resource resource
- `postClinicalPractice-resources()` - /clinical/practice-resources operation on clinical-practice-resource resource
- `postClinicalPractice-resourcesCatalog()` - /clinical/practice-resources/catalog operation on clinical-practice-resource resource
- `patchClinicalPractice-resourcesById()` - /clinical/practice-resources/:id operation on clinical-practice-resource resource
- `patchClinicalPractice-resourcesByIdArchive()` - /clinical/practice-resources/:id/archive operation on clinical-practice-resource resource
- `patchClinicalPractice-resourcesByIdRestore()` - /clinical/practice-resources/:id/restore operation on clinical-practice-resource resource
- `patchClinicalPractice-resourcesCatalogById()` - /clinical/practice-resources/catalog/:id operation on clinical-practice-resource resource
- `patchClinicalPractice-resourcesCatalogByIdArchive()` - /clinical/practice-resources/catalog/:id/archive operation on clinical-practice-resource resource
- `patchClinicalPractice-resourcesCatalogByIdRestore()` - /clinical/practice-resources/catalog/:id/restore operation on clinical-practice-resource resource
- `deleteClinicalPractice-resourcesByIdPermanent()` - /clinical/practice-resources/:id/permanent operation on clinical-practice-resource resource
- `deleteClinicalPractice-resourcesCatalogByIdPermanent()` - /clinical/practice-resources/catalog/:id/permanent operation on clinical-practice-resource resource

## Clinical-practice-resource-category

- `getClinicalPractice-resourcesCategories()` - /clinical/practice-resources/categories operation on clinical-practice-resource-category resource
- `getClinicalPractice-resourcesCategoriesCatalog()` - /clinical/practice-resources/categories/catalog operation on clinical-practice-resource-category resource

## Clinical-practice-tool

- `getClinicalPractice-tools()` - /clinical/practice-tools operation on clinical-practice-tool resource
- `getClinicalPractice-toolsArchived()` - /clinical/practice-tools/archived operation on clinical-practice-tool resource
- `getClinicalPractice-toolsById()` - /clinical/practice-tools/:id operation on clinical-practice-tool resource
- `getClinicalPractice-toolsCatalog()` - /clinical/practice-tools/catalog operation on clinical-practice-tool resource
- `getClinicalPractice-toolsCatalogArchived()` - /clinical/practice-tools/catalog/archived operation on clinical-practice-tool resource
- `getClinicalPractice-toolsCatalogById()` - /clinical/practice-tools/catalog/:id operation on clinical-practice-tool resource
- `postClinicalPractice-tools()` - /clinical/practice-tools operation on clinical-practice-tool resource
- `postClinicalPractice-toolsCatalog()` - /clinical/practice-tools/catalog operation on clinical-practice-tool resource
- `patchClinicalPractice-toolsById()` - /clinical/practice-tools/:id operation on clinical-practice-tool resource
- `patchClinicalPractice-toolsByIdArchive()` - /clinical/practice-tools/:id/archive operation on clinical-practice-tool resource
- `patchClinicalPractice-toolsByIdRestore()` - /clinical/practice-tools/:id/restore operation on clinical-practice-tool resource
- `patchClinicalPractice-toolsCatalogById()` - /clinical/practice-tools/catalog/:id operation on clinical-practice-tool resource
- `patchClinicalPractice-toolsCatalogByIdArchive()` - /clinical/practice-tools/catalog/:id/archive operation on clinical-practice-tool resource
- `patchClinicalPractice-toolsCatalogByIdRestore()` - /clinical/practice-tools/catalog/:id/restore operation on clinical-practice-tool resource
- `deleteClinicalPractice-toolsByIdPermanent()` - /clinical/practice-tools/:id/permanent operation on clinical-practice-tool resource
- `deleteClinicalPractice-toolsCatalogByIdPermanent()` - /clinical/practice-tools/catalog/:id/permanent operation on clinical-practice-tool resource

## Clinical-practice-tool-category

- `getClinicalPractice-toolsCategories()` - /clinical/practice-tools/categories operation on clinical-practice-tool-category resource
- `getClinicalPractice-toolsCategoriesCatalog()` - /clinical/practice-tools/categories/catalog operation on clinical-practice-tool-category resource

## Clinical-session

- `getClinicalSessions()` - /clinical/sessions operation on clinical-session resource
- `getClinicalSessionsBy-patient()` - /clinical/sessions/by-patient operation on clinical-session resource
- `getClinicalSessionsById()` - /clinical/sessions/:id operation on clinical-session resource
- `postClinicalSessions()` - /clinical/sessions operation on clinical-session resource
- `patchClinicalSessionsById()` - /clinical/sessions/:id operation on clinical-session resource
- `deleteClinicalSessionsById()` - /clinical/sessions/:id operation on clinical-session resource

## Clinical-supplement-rec-cache

- `getClinicalSupplement-rec-cache()` - /clinical/supplement-rec-cache operation on clinical-supplement-rec-cache resource
- `getClinicalSupplement-rec-cacheById()` - /clinical/supplement-rec-cache/:id operation on clinical-supplement-rec-cache resource
- `patchClinicalSupplement-rec-cacheById()` - /clinical/supplement-rec-cache/:id operation on clinical-supplement-rec-cache resource

## Clinical-supplement-template

- `getClinicalSupplement-templates()` - /clinical/supplement-templates operation on clinical-supplement-template resource
- `getClinicalSupplement-templatesArchived()` - /clinical/supplement-templates/archived operation on clinical-supplement-template resource
- `getClinicalSupplement-templatesById()` - /clinical/supplement-templates/:id operation on clinical-supplement-template resource
- `getClinicalSupplement-templatesCatalog()` - /clinical/supplement-templates/catalog operation on clinical-supplement-template resource
- `getClinicalSupplement-templatesCatalogArchived()` - /clinical/supplement-templates/catalog/archived operation on clinical-supplement-template resource
- `getClinicalSupplement-templatesCatalogById()` - /clinical/supplement-templates/catalog/:id operation on clinical-supplement-template resource
- `getClinicalSupplement-templatesMine()` - /clinical/supplement-templates/mine operation on clinical-supplement-template resource
- `postClinicalSupplement-templates()` - /clinical/supplement-templates operation on clinical-supplement-template resource
- `postClinicalSupplement-templatesCatalog()` - /clinical/supplement-templates/catalog operation on clinical-supplement-template resource
- `postClinicalSupplement-templatesFrom-existing()` - /clinical/supplement-templates/from-existing operation on clinical-supplement-template resource
- `patchClinicalSupplement-templatesById()` - /clinical/supplement-templates/:id operation on clinical-supplement-template resource
- `patchClinicalSupplement-templatesByIdArchive()` - /clinical/supplement-templates/:id/archive operation on clinical-supplement-template resource
- `patchClinicalSupplement-templatesByIdRestore()` - /clinical/supplement-templates/:id/restore operation on clinical-supplement-template resource
- `patchClinicalSupplement-templatesCatalogById()` - /clinical/supplement-templates/catalog/:id operation on clinical-supplement-template resource
- `patchClinicalSupplement-templatesCatalogByIdArchive()` - /clinical/supplement-templates/catalog/:id/archive operation on clinical-supplement-template resource
- `patchClinicalSupplement-templatesCatalogByIdRestore()` - /clinical/supplement-templates/catalog/:id/restore operation on clinical-supplement-template resource
- `deleteClinicalSupplement-templatesByIdPermanent()` - /clinical/supplement-templates/:id/permanent operation on clinical-supplement-template resource
- `deleteClinicalSupplement-templatesCatalogByIdPermanent()` - /clinical/supplement-templates/catalog/:id/permanent operation on clinical-supplement-template resource

## Clinical-supplement-template-collection

- `getClinicalSupplement-template-collections()` - List supplement template collections for a workspace
- `getClinicalSupplement-template-collectionsById()` - /clinical/supplement-template-collections/:id operation on clinical-supplement-template-collection resource
- `postClinicalSupplement-template-collections()` - /clinical/supplement-template-collections operation on clinical-supplement-template-collection resource
- `patchClinicalSupplement-template-collectionsById()` - /clinical/supplement-template-collections/:id operation on clinical-supplement-template-collection resource
- `deleteClinicalSupplement-template-collectionsById()` - /clinical/supplement-template-collections/:id operation on clinical-supplement-template-collection resource

## Clinical-supplement-template-collection-membership

- `getClinicalSupplement-template-collection-membershipsById()` - /clinical/supplement-template-collection-memberships/:id operation on clinical-supplement-template-collection-membership resource
- `getClinicalSupplement-template-collection-membershipsCollectionByCollectionId()` - List templates in a supplement collection
- `postClinicalSupplement-template-collection-memberships()` - /clinical/supplement-template-collection-memberships operation on clinical-supplement-template-collection-membership resource
- `patchClinicalSupplement-template-collection-membershipsById()` - /clinical/supplement-template-collection-memberships/:id operation on clinical-supplement-template-collection-membership resource
- `deleteClinicalSupplement-template-collection-membershipsById()` - /clinical/supplement-template-collection-memberships/:id operation on clinical-supplement-template-collection-membership resource

## Compliance-document-template

- `getCompliance-document-templates()` - /compliance-document-templates operation on compliance-document-template resource
- `getCompliance-document-templatesById()` - /compliance-document-templates/:id operation on compliance-document-template resource
- `postCompliance-document-templates()` - /compliance-document-templates operation on compliance-document-template resource
- `postCompliance-document-templatesClone()` - Clone a platform template for an application
- `patchCompliance-document-templatesById()` - /compliance-document-templates/:id operation on compliance-document-template resource

## Compliance-officer-designation

- `getCompliance-officer-designations()` - /compliance-officer-designations operation on compliance-officer-designation resource
- `getCompliance-officer-designationsById()` - /compliance-officer-designations/:id operation on compliance-officer-designation resource
- `postCompliance-officer-designations()` - /compliance-officer-designations operation on compliance-officer-designation resource
- `patchCompliance-officer-designationsByIdRevoke()` - /compliance-officer-designations/:id/revoke operation on compliance-officer-designation resource

## Compliance-posture

- `getCompliancePosture()` - /compliance/posture operation on compliance-posture resource

## Compliance-requirement

- `getCompliance-requirements()` - /compliance-requirements operation on compliance-requirement resource
- `getCompliance-requirementsById()` - /compliance-requirements/:id operation on compliance-requirement resource
- `postCompliance-requirements()` - /compliance-requirements operation on compliance-requirement resource
- `patchCompliance-requirementsById()` - /compliance-requirements/:id operation on compliance-requirement resource
- `deleteCompliance-requirementsById()` - /compliance-requirements/:id operation on compliance-requirement resource

## Compliance-requirement-completion

- `getCompliance-requirement-completions()` - /compliance-requirement-completions operation on compliance-requirement-completion resource
- `getCompliance-requirement-completionsById()` - /compliance-requirement-completions/:id operation on compliance-requirement-completion resource
- `postCompliance-requirement-completions()` - /compliance-requirement-completions operation on compliance-requirement-completion resource

## Config-enum

- `getExtractionConfig-enums()` - /extraction/config-enums operation on config-enum resource
- `getExtractionConfig-enumsById()` - /extraction/config-enums/:id operation on config-enum resource
- `postExtractionConfig-enums()` - /extraction/config-enums operation on config-enum resource
- `patchExtractionConfig-enumsById()` - /extraction/config-enums/:id operation on config-enum resource

## Connector-instance

- `getConnectorsById()` - /connectors/:id operation on connector-instance resource
- `getConnectorsByIdHealthieStatus()` - Get Healthie connector sync status
- `getConnectorsWorkspaceByWorkspaceId()` - List connector instances in a workspace
- `postConnectors()` - Install a new connector instance in a workspace
- `postConnectorsByIdEdamamRecipesGet()` - Get full details for a single recipe by Edamam recipe ID
- `postConnectorsByIdEdamamRecipesSearch()` - Search for recipes using the Edamam Recipe API
- `postConnectorsByIdHealthieAppointmentsList()` - List appointments from Healthie connector
- `postConnectorsByIdHealthieAppointmentsSync()` - Sync appointments from Healthie connector to platform
- `postConnectorsByIdHealthiePatientsList()` - List patients from Healthie connector
- `postConnectorsByIdHealthiePatientsSync()` - Sync patients from Healthie connector to platform
- `postConnectorsByIdHealthieSync-all()` - Sync all Healthie data (patients + appointments)
- `postConnectorsByIdPractice-betterPush-note()` - Push an AI-generated clinical note to Practice Better for a linked contact
- `postConnectorsByIdSync()` - Execute an action on an external connector
- `postConnectorsFullscriptCheck-patient()` - Check if a patient exists in Fullscript by email
- `postConnectorsFullscriptCreate-patient()` - Create a patient in Fullscript
- `postConnectorsFullscriptOrdersGet()` - Get order details from Fullscript
- `postConnectorsFullscriptOrdersList()` - List orders for a Fullscript patient
- `postConnectorsFullscriptProductsGet()` - Get product details from Fullscript
- `postConnectorsFullscriptProductsMatch()` - Match AI-generated supplement names to Fullscript products
- `postConnectorsFullscriptProductsSearch()` - Search the Fullscript product catalog
- `postConnectorsFullscriptProductsSimilar()` - List similar products from Fullscript
- `postConnectorsFullscriptSession-grant()` - Get a Fullscript embed session grant token for the prescribing widget
- `postConnectorsFullscriptTreatment-plansCancel()` - Cancel an active Fullscript treatment plan
- `postConnectorsFullscriptTreatment-plansCreate()` - Create a treatment plan in Fullscript with product recommendations
- `postConnectorsFullscriptTreatment-plansGet()` - Get treatment plan details from Fullscript
- `postConnectorsFullscriptTreatment-plansList()` - List treatment plans for a Fullscript patient
- `postConnectorsOauthCallback()` - Exchange OAuth authorization code for credential.
- `postConnectorsOauthInitiate()` - Initiate OAuth flow for a connector type
- `patchConnectorsById()` - Update a connector instance's name, configuration, sync interval, health status, or metadata
- `deleteConnectorsById()` - /connectors/:id operation on connector-instance resource

## Consent-record

- `getConsent-records()` - /consent-records operation on consent-record resource
- `getConsent-recordsActive()` - List all currently granted (non-withdrawn) consents for a given user
- `getConsent-recordsById()` - /consent-records/:id operation on consent-record resource
- `postConsent-records()` - Record a new consent grant for a specific processing purpose (AI document processing, analytics, marketing, or third-party sharing)
- `patchConsent-recordsByIdWithdraw()` - Revoke an existing consent grant

## Content-generation

- `postContentEdit-image()` - Edit an existing image using natural language instructions.
- `postContentGenerate-hashtags()` - Generate scored hashtags for content.
- `postContentGenerate-image()` - Generate an image from a text prompt.
- `postContentGenerate-image-prompt()` - Generate an image generation prompt from marketing copy.
- `postContentGenerate-text()` - Generate text from a prompt, optionally informed by brand identity.
- `postContentRefine()` - Refine text based on freeform instructions.
- `postContentRewrite-tone()` - Rewrite text in a different tone.
- `postContentSeo-enrich()` - Analyze content for SEO optimization against target keywords.
- `postContentShorten()` - Shorten text to a target character count.
- `postContentSuggest-topics()` - Suggest content topics based on industry and audience.

## Contract

- `getContracts()` - /contracts operation on contract resource
- `getContractsById()` - /contracts/:id operation on contract resource
- `postContracts()` - /contracts operation on contract resource
- `patchContractsById()` - /contracts/:id operation on contract resource
- `deleteContractsById()` - /contracts/:id operation on contract resource

## Contract-clause

- `getContract-clauses()` - /contract-clauses operation on contract-clause resource
- `getContract-clausesById()` - /contract-clauses/:id operation on contract-clause resource

## Contract-renewal-alert

- `getContract-renewal-alerts()` - /contract-renewal-alerts operation on contract-renewal-alert resource
- `getContract-renewal-alertsById()` - /contract-renewal-alerts/:id operation on contract-renewal-alert resource

## Crawler-job

- `getCrawlerJobs()` - /crawler/jobs operation on crawler-job resource
- `getCrawlerJobsById()` - /crawler/jobs/:id operation on crawler-job resource
- `postCrawlerJobs()` - Create a crawl job for a URL with the specified mode and strategy; performs a credit pre-check and enqueues execution
- `patchCrawlerJobsByIdCancel()` - Cancel a pending or running job; sets status to :cancelled with completed_at timestamp
- `deleteCrawlerJobsById()` - /crawler/jobs/:id operation on crawler-job resource

## Crawler-result

- `getCrawlerResults()` - /crawler/results operation on crawler-result resource
- `getCrawlerResultsById()` - /crawler/results/:id operation on crawler-result resource

## Crawler-schedule

- `getCrawlerSchedules()` - /crawler/schedules operation on crawler-schedule resource
- `getCrawlerSchedulesById()` - /crawler/schedules/:id operation on crawler-schedule resource
- `postCrawlerSchedules()` - Create a recurring crawl schedule for a URL; sets frequency, cron expression, and notification preferences
- `patchCrawlerSchedulesById()` - Update schedule configuration, URL, frequency, or notification settings
- `patchCrawlerSchedulesByIdDisable()` - Disable a schedule to pause automatic crawling without deleting the configuration.
- `patchCrawlerSchedulesByIdEnable()` - Enable a disabled schedule so it resumes automatic crawling on its next_run_at.
- `patchCrawlerSchedulesByIdTrigger()` - Manually trigger a scheduled crawl immediately.
- `deleteCrawlerSchedulesById()` - /crawler/schedules/:id operation on crawler-schedule resource

## Credential

- `getConnectorsCredentials()` - /connectors/credentials operation on credential resource
- `getConnectorsCredentialsById()` - /connectors/credentials/:id operation on credential resource
- `postConnectorsCredentialsByIdRefresh()` - Refresh OAuth credential token.
- `postConnectorsCredentialsDelete-by-type()` - Delete credentials for a connector at a specific scope level
- `postConnectorsCredentialsUpsert()` - Create or update credentials for a connector at a specific scope level

## Credit-package-catalog

- `getCredit-packages()` - /credit-packages operation on credit-package-catalog resource
- `getCredit-packagesById()` - /credit-packages/:id operation on credit-package-catalog resource
- `getCredit-packagesSlugBySlug()` - /credit-packages/slug/:slug operation on credit-package-catalog resource

## Crm-activity

- `getCrmActivitiesById()` - Fetch a single active activity by ID; excludes soft-deleted records.
- `getCrmActivitiesWorkspaceByWorkspaceId()` - List active activities in a workspace with offset pagination
- `postCrmActivities()` - Log a CRM activity (call, email, meeting, note, etc.) linked to the workspace
- `patchCrmActivitiesById()` - Update an activity's subject, body, sentiment, or AI-generated fields
- `deleteCrmActivitiesById()` - Soft-delete an activity by setting deleted_at

## Crm-address

- `getCrmAddressesById()` - /crm/addresses/:id operation on crm-address resource
- `getCrmAddressesEntityByEntityTypeByEntityId()` - /crm/addresses/entity/:entity_type/:entity_id operation on crm-address resource
- `postCrmAddresses()` - /crm/addresses operation on crm-address resource
- `patchCrmAddressesById()` - /crm/addresses/:id operation on crm-address resource
- `patchCrmAddressesByIdSet-primary()` - /crm/addresses/:id/set-primary operation on crm-address resource
- `deleteCrmAddressesById()` - /crm/addresses/:id operation on crm-address resource

## Crm-company

- `getCrmCompaniesById()` - Fetch a single active company by ID; excludes soft-deleted records.
- `getCrmCompaniesWorkspaceByWorkspaceId()` - List active companies in a workspace with offset pagination
- `postCrmCompanies()` - Create a new CRM company
- `patchCrmCompaniesById()` - Update mutable fields on an existing company
- `deleteCrmCompaniesById()` - Soft-delete a company by setting deleted_at

## Crm-contact

- `getCrmContactsById()` - Fetch a single active contact by ID; excludes soft-deleted records.
- `getCrmContactsWorkspaceByWorkspaceId()` - List active contacts in a workspace with optional lifecycle_stage, tag, and
property filters applied Elixir-side
- `getCrmContactsWorkspaceByWorkspaceIdArchived()` - List contacts that have been soft-archived (deleted_at is set) in a workspace.
- `postCrmContacts()` - Create a new CRM contact
- `postCrmContactsByIdUnarchive()` - Restore an archived contact (clears deleted_at)
- `patchCrmContactsById()` - Update mutable fields on an existing contact
- `patchCrmContactsByIdArchive()` - Soft-archive a contact (sets deleted_at)
- `deleteCrmContactsById()` - Soft-delete a contact by setting deleted_at

## Crm-custom-entity

- `getCrmCustom-entitiesById()` - Fetch a single active custom entity by ID; excludes soft-deleted records.
- `getCrmCustom-entitiesWorkspaceByWorkspaceId()` - List active custom entities in a workspace, optionally filtered by type slug and
attribute-level property filters
- `postCrmCustom-entities()` - Create an instance of a custom entity type
- `patchCrmCustom-entitiesById()` - Update a custom entity's properties and pipeline assignment
- `deleteCrmCustom-entitiesById()` - Soft-delete a custom entity by setting deleted_at

## Crm-custom-entity-version

- `getCrmCustom-entitiesByEntityIdVersions()` - /crm/custom-entities/:entity_id/versions operation on crm-custom-entity-version resource
- `getCrmCustom-entitiesByEntityIdVersionsById()` - Fetch a single version by ID, scoped to a specific entity (IDOR-safe)

## Crm-data-export-job

- `getCrmExportsById()` - Fetch a single export job by ID
- `getCrmExportsWorkspaceByWorkspaceId()` - List all export jobs for a workspace, sorted newest first
- `postCrmExports()` - Enqueue an async CRM data export job
- `patchCrmExportsByIdRefresh-url()` - Regenerate the presigned download URL for a completed export job

## Crm-deal

- `getCrmDealsById()` - Fetch a single active deal by ID; excludes soft-deleted records.
- `getCrmDealsWorkspaceByWorkspaceId()` - List active deals in a workspace with offset pagination
- `postCrmDeals()` - Create a new CRM deal and place it in a pipeline stage
- `patchCrmDealsById()` - Update deal fields including status, AI scores, and pipeline assignment
- `patchCrmDealsByIdMove-stage()` - Move a deal to a different pipeline stage
- `deleteCrmDealsById()` - Soft-delete a deal by setting deleted_at

## Crm-email-address

- `getCrmEmail-addressesById()` - /crm/email-addresses/:id operation on crm-email-address resource
- `getCrmEmail-addressesEntityByEntityTypeByEntityId()` - List all email addresses for a specific entity (contact or company).
- `postCrmEmail-addresses()` - Create a new email address for a contact or company
- `patchCrmEmail-addressesById()` - Update an existing email address
- `patchCrmEmail-addressesByIdSet-primary()` - Mark this email address as the primary for its entity, clearing any existing primary.
- `deleteCrmEmail-addressesById()` - /crm/email-addresses/:id operation on crm-email-address resource

## Crm-phone-number

- `getCrmPhone-numbersById()` - /crm/phone-numbers/:id operation on crm-phone-number resource
- `getCrmPhone-numbersEntityByEntityTypeByEntityId()` - /crm/phone-numbers/entity/:entity_type/:entity_id operation on crm-phone-number resource
- `postCrmPhone-numbers()` - /crm/phone-numbers operation on crm-phone-number resource
- `patchCrmPhone-numbersById()` - /crm/phone-numbers/:id operation on crm-phone-number resource
- `patchCrmPhone-numbersByIdSet-primary()` - /crm/phone-numbers/:id/set-primary operation on crm-phone-number resource
- `deleteCrmPhone-numbersById()` - /crm/phone-numbers/:id operation on crm-phone-number resource

## Crm-pipeline

- `getCrmPipelinesById()` - /crm/pipelines/:id operation on crm-pipeline resource
- `getCrmPipelinesWorkspaceByWorkspaceId()` - List pipelines available to a workspace — includes both workspace-specific pipelines and application-level templates (workspace_id IS NULL).
- `postCrmPipelines()` - Create a pipeline scoped to an application (template) or a specific workspace
- `patchCrmPipelinesById()` - Update a pipeline's name or default status
- `deleteCrmPipelinesById()` - /crm/pipelines/:id operation on crm-pipeline resource

## Crm-pipeline-stage

- `getCrmPipeline-stagesById()` - /crm/pipeline-stages/:id operation on crm-pipeline-stage resource
- `getCrmPipeline-stagesPipelineByPipelineId()` - List all stages for a specific pipeline, ordered by position.
- `postCrmPipeline-stages()` - Add a stage to a pipeline with an explicit sort order, optional win probability, and forecast category
- `patchCrmPipeline-stagesById()` - Update a pipeline stage's name, order, probability, or closed flag
- `deleteCrmPipeline-stagesById()` - /crm/pipeline-stages/:id operation on crm-pipeline-stage resource

## Crm-relationship

- `getCrmRelationshipsById()` - Fetch a single CRM relationship by ID
- `getCrmRelationshipsWorkspaceByWorkspaceId()` - List all relationship edges in a workspace
- `postCrmRelationships()` - Create a typed relationship edge between two CRM entities
- `deleteCrmRelationshipsById()` - Permanently remove a relationship edge (hard delete)

## Crm-relationship-type

- `getCrmRelationship-types()` - /crm/relationship-types operation on crm-relationship-type resource
- `getCrmRelationship-typesById()` - /crm/relationship-types/:id operation on crm-relationship-type resource
- `postCrmRelationship-types()` - Define a named relationship category for an application
- `patchCrmRelationship-typesById()` - Update a relationship type's display name, allowed entity types, or properties schema
- `deleteCrmRelationship-typesById()` - /crm/relationship-types/:id operation on crm-relationship-type resource

## Crm-social-profile

- `getCrmSocial-profilesById()` - /crm/social-profiles/:id operation on crm-social-profile resource
- `getCrmSocial-profilesEntityByEntityTypeByEntityId()` - List all social profiles for a specific entity (contact or company).
- `postCrmSocial-profiles()` - Create a new social profile for a contact or company
- `patchCrmSocial-profilesById()` - Update an existing social profile
- `deleteCrmSocial-profilesById()` - /crm/social-profiles/:id operation on crm-social-profile resource

## Crm-website

- `getCrmWebsitesById()` - /crm/websites/:id operation on crm-website resource
- `getCrmWebsitesEntityByEntityTypeByEntityId()` - List all websites for a given entity (contact or company).
- `postCrmWebsites()` - Create a website record for a contact or company
- `patchCrmWebsitesById()` - Update a website record
- `patchCrmWebsitesByIdSet-primary()` - Mark this website as primary and unset any other primary website for the same entity.
- `deleteCrmWebsitesById()` - /crm/websites/:id operation on crm-website resource

## Data-protection-impact-assessment

- `getImpact-assessments()` - /impact-assessments operation on data-protection-impact-assessment resource
- `getImpact-assessmentsById()` - /impact-assessments/:id operation on data-protection-impact-assessment resource
- `postImpact-assessments()` - Open a new GDPR Article 35 Data Protection Impact Assessment for a high-risk processing activity
- `patchImpact-assessmentsById()` - Update the DPIA's title, description, risk level, findings, or mitigations while it is in draft or in_review status
- `patchImpact-assessmentsByIdApprove()` - Approve a completed DPIA by recording the approver's name and setting `approved_at` to the current timestamp

## Data-store-record

- `getDataStoreRecords()` - /data_store/records operation on data-store-record resource
- `getDataStoreRecordsById()` - /data_store/records/:id operation on data-store-record resource
- `getDataStoreRecordsByNamespace()` - List records in a namespace
- `postDataStoreRecords()` - /data_store/records operation on data-store-record resource
- `postDataStoreRecordsUpsert()` - Create or update a record by namespace and key
- `patchDataStoreRecordsById()` - /data_store/records/:id operation on data-store-record resource
- `deleteDataStoreRecordsById()` - /data_store/records/:id operation on data-store-record resource

## Data-subject-request

- `getData-subject-requests()` - /data-subject-requests operation on data-subject-request resource
- `getData-subject-requestsById()` - /data-subject-requests/:id operation on data-subject-request resource
- `postData-subject-requests()` - Open a new GDPR/CCPA data subject request (access, erasure, portability, rectification, or restriction)
- `patchData-subject-requestsByIdStatus()` - Advance a data subject request through its lifecycle (pending → in_progress → completed / rejected / expired) and record notes or a completion timestamp.

## Data-transfer-record

- `getData-transfer-records()` - /data-transfer-records operation on data-transfer-record resource
- `getData-transfer-recordsById()` - /data-transfer-records/:id operation on data-transfer-record resource
- `postData-transfer-records()` - Log a cross-border personal data transfer per GDPR Chapter V, specifying the source and destination ISO country codes, the legal transfer mechanism (SCC, BCR, adequacy decision, derogation, or consent), and the data categories involved.
- `deleteData-transfer-recordsById()` - /data-transfer-records/:id operation on data-transfer-record resource

## Disclosure-log

- `getDisclosure-logs()` - /disclosure-logs operation on disclosure-log resource
- `getDisclosure-logsBy-subject()` - List disclosures for a specific data subject (HIPAA accounting of disclosures).
- `getDisclosure-logsById()` - /disclosure-logs/:id operation on disclosure-log resource
- `postDisclosure-logs()` - /disclosure-logs operation on disclosure-log resource

## Document-chunk

- `getAiChunksDocumentByDocumentId()` - Fetch all chunks for a document sorted by chunk_index ascending; equivalent to read_by_document — use for JSON:API access via /ai/chunks/document/:document_id.
- `postAiChunksSearch()` - Run a similarity search and return matching chunks via the JSON:API endpoint (/ai/chunks/search); internally calls the :search read action and wraps results in a metadata envelope.

## Document-section

- `getMemoryDocument-sections()` - /memory/document-sections operation on document-section resource
- `getMemoryDocument-sectionsById()` - /memory/document-sections/:id operation on document-section resource

## Document-stats

- `getDocumentsStats()` - /documents/stats operation on document-stats resource

## Email-inbound-address

- `getEmailInbound-addressesById()` - /email/inbound-addresses/:id operation on email-inbound-address resource
- `getEmailInbound-addressesWorkspaceByWorkspaceId()` - /email/inbound-addresses/workspace/:workspace_id operation on email-inbound-address resource
- `postEmailInbound-addresses()` - /email/inbound-addresses operation on email-inbound-address resource
- `patchEmailInbound-addressesById()` - /email/inbound-addresses/:id operation on email-inbound-address resource
- `patchEmailInbound-addressesByIdDisable()` - /email/inbound-addresses/:id/disable operation on email-inbound-address resource
- `patchEmailInbound-addressesByIdEnable()` - /email/inbound-addresses/:id/enable operation on email-inbound-address resource
- `patchEmailInbound-addressesByIdRotate-token()` - /email/inbound-addresses/:id/rotate-token operation on email-inbound-address resource
- `deleteEmailInbound-addressesById()` - /email/inbound-addresses/:id operation on email-inbound-address resource

## Email-inbound-email

- `getEmailInboundReceivedAddressByInboundAddressId()` - /email/inbound/received/address/:inbound_address_id operation on email-inbound-email resource
- `getEmailInboundReceivedById()` - /email/inbound/received/:id operation on email-inbound-email resource
- `getEmailInboundReceivedWorkspaceByWorkspaceId()` - /email/inbound/received/workspace/:workspace_id operation on email-inbound-email resource

## Email-inclusion

- `getEmailInclusionsById()` - /email/inclusions/:id operation on email-inclusion resource
- `getEmailInclusionsEmailByOutboundEmailId()` - /email/inclusions/email/:outbound_email_id operation on email-inclusion resource
- `postEmailInclusions()` - /email/inclusions operation on email-inclusion resource
- `patchEmailInclusionsById()` - /email/inclusions/:id operation on email-inclusion resource
- `deleteEmailInclusionsById()` - /email/inclusions/:id operation on email-inclusion resource

## Email-marketing-generated-email

- `getEmail-marketingGenerated-emailsById()` - /email-marketing/generated-emails/:id operation on email-marketing-generated-email resource
- `getEmail-marketingGenerated-emailsCampaignByCampaignId()` - /email-marketing/generated-emails/campaign/:campaign_id operation on email-marketing-generated-email resource
- `patchEmail-marketingGenerated-emailsById()` - /email-marketing/generated-emails/:id operation on email-marketing-generated-email resource
- `patchEmail-marketingGenerated-emailsByIdApprove()` - /email-marketing/generated-emails/:id/approve operation on email-marketing-generated-email resource
- `patchEmail-marketingGenerated-emailsByIdReject()` - /email-marketing/generated-emails/:id/reject operation on email-marketing-generated-email resource
- `patchEmail-marketingGenerated-emailsByIdSchedule()` - /email-marketing/generated-emails/:id/schedule operation on email-marketing-generated-email resource

## Email-marketing-recipient

- `getCampaignsRecipientsById()` - /campaigns/recipients/:id operation on email-marketing-recipient resource
- `getCampaignsRecipientsCampaignByCampaignId()` - /campaigns/recipients/campaign/:campaign_id operation on email-marketing-recipient resource

## Email-marketing-sender-profile

- `getEmail-marketingSender-profilesById()` - /email-marketing/sender-profiles/:id operation on email-marketing-sender-profile resource
- `getEmail-marketingSender-profilesWorkspaceByWorkspaceId()` - /email-marketing/sender-profiles/workspace/:workspace_id operation on email-marketing-sender-profile resource
- `postEmail-marketingSender-profiles()` - /email-marketing/sender-profiles operation on email-marketing-sender-profile resource
- `patchEmail-marketingSender-profilesById()` - /email-marketing/sender-profiles/:id operation on email-marketing-sender-profile resource
- `patchEmail-marketingSender-profilesByIdSet-default()` - /email-marketing/sender-profiles/:id/set-default operation on email-marketing-sender-profile resource
- `patchEmail-marketingSender-profilesByIdValidate-dns()` - /email-marketing/sender-profiles/:id/validate-dns operation on email-marketing-sender-profile resource
- `deleteEmail-marketingSender-profilesById()` - /email-marketing/sender-profiles/:id operation on email-marketing-sender-profile resource

## Email-marketing-sequence

- `getCampaignsSequencesById()` - /campaigns/sequences/:id operation on email-marketing-sequence resource
- `getCampaignsSequencesWorkspaceByWorkspaceId()` - /campaigns/sequences/workspace/:workspace_id operation on email-marketing-sequence resource
- `postCampaignsSequences()` - /campaigns/sequences operation on email-marketing-sequence resource
- `patchCampaignsSequencesById()` - /campaigns/sequences/:id operation on email-marketing-sequence resource
- `patchCampaignsSequencesByIdActivate()` - /campaigns/sequences/:id/activate operation on email-marketing-sequence resource
- `patchCampaignsSequencesByIdComplete()` - /campaigns/sequences/:id/complete operation on email-marketing-sequence resource
- `patchCampaignsSequencesByIdPause()` - /campaigns/sequences/:id/pause operation on email-marketing-sequence resource
- `patchCampaignsSequencesByIdResume()` - /campaigns/sequences/:id/resume operation on email-marketing-sequence resource
- `deleteCampaignsSequencesById()` - /campaigns/sequences/:id operation on email-marketing-sequence resource

## Email-marketing-sequence-step

- `getCampaignsSequence-stepsById()` - /campaigns/sequence-steps/:id operation on email-marketing-sequence-step resource
- `getCampaignsSequence-stepsSequenceBySequenceId()` - /campaigns/sequence-steps/sequence/:sequence_id operation on email-marketing-sequence-step resource
- `postCampaignsSequence-steps()` - /campaigns/sequence-steps operation on email-marketing-sequence-step resource
- `patchCampaignsSequence-stepsById()` - /campaigns/sequence-steps/:id operation on email-marketing-sequence-step resource
- `deleteCampaignsSequence-stepsById()` - /campaigns/sequence-steps/:id operation on email-marketing-sequence-step resource

## Email-marketing-template

- `getEmail-marketingTemplatesById()` - /email-marketing/templates/:id operation on email-marketing-template resource
- `getEmail-marketingTemplatesWorkspaceByWorkspaceId()` - /email-marketing/templates/workspace/:workspace_id operation on email-marketing-template resource
- `postEmail-marketingTemplates()` - /email-marketing/templates operation on email-marketing-template resource
- `postEmail-marketingTemplatesCompile()` - Stateless MJML → HTML compilation
- `patchEmail-marketingTemplatesById()` - /email-marketing/templates/:id operation on email-marketing-template resource
- `patchEmail-marketingTemplatesByIdArchive()` - /email-marketing/templates/:id/archive operation on email-marketing-template resource
- `patchEmail-marketingTemplatesByIdPreview()` - Renders published_body_html with variable substitutions for preview
- `patchEmail-marketingTemplatesByIdPublish()` - Compiles MJML, snapshots to published_body_html, creates TemplateVersion, bumps current_version.
- `patchEmail-marketingTemplatesByIdRestore()` - /email-marketing/templates/:id/restore operation on email-marketing-template resource
- `patchEmail-marketingTemplatesByIdRollback()` - Restores body_mjml from a previously published TemplateVersion snapshot.
- `patchEmail-marketingTemplatesByIdUnpublish()` - Clears published_at — template reverts to draft state.
- `deleteEmail-marketingTemplatesById()` - /email-marketing/templates/:id operation on email-marketing-template resource

## Email-outbound-email

- `getEmailOutbound-emailsById()` - /email/outbound-emails/:id operation on email-outbound-email resource
- `getEmailOutbound-emailsWorkspaceByWorkspaceId()` - /email/outbound-emails/workspace/:workspace_id operation on email-outbound-email resource
- `getEmailOutbound-emailsWorkspaceByWorkspaceIdContactByContactRefId()` - /email/outbound-emails/workspace/:workspace_id/contact/:contact_ref_id operation on email-outbound-email resource
- `postEmailOutbound-emails()` - /email/outbound-emails operation on email-outbound-email resource
- `postEmailOutbound-emailsCompose-with-ai()` - AI-draft an email from a prompt and context map.
- `patchEmailOutbound-emailsById()` - /email/outbound-emails/:id operation on email-outbound-email resource
- `patchEmailOutbound-emailsByIdCancel-schedule()` - /email/outbound-emails/:id/cancel-schedule operation on email-outbound-email resource
- `patchEmailOutbound-emailsByIdSchedule()` - /email/outbound-emails/:id/schedule operation on email-outbound-email resource
- `patchEmailOutbound-emailsByIdSend()` - Deliver this email immediately via connected account.
- `deleteEmailOutbound-emailsById()` - /email/outbound-emails/:id operation on email-outbound-email resource

## Email-recipient

- `getEmailRecipientsById()` - /email/recipients/:id operation on email-recipient resource
- `getEmailRecipientsEmailByOutboundEmailId()` - /email/recipients/email/:outbound_email_id operation on email-recipient resource
- `postEmailRecipients()` - /email/recipients operation on email-recipient resource
- `deleteEmailRecipientsById()` - /email/recipients/:id operation on email-recipient resource

## Email-tracking-event

- `getEmailTracking-eventsById()` - /email/tracking-events/:id operation on email-tracking-event resource
- `getEmailTracking-eventsWorkspaceByWorkspaceId()` - /email/tracking-events/workspace/:workspace_id operation on email-tracking-event resource

## Email-unsubscriber

- `getEmail-marketingUnsubscribersById()` - /email-marketing/unsubscribers/:id operation on email-unsubscriber resource
- `getEmail-marketingUnsubscribersWorkspaceByWorkspaceId()` - /email-marketing/unsubscribers/workspace/:workspace_id operation on email-unsubscriber resource

## Embedding

- `postAiEmbed()` - Generate a 1024-dim vector embedding for the given text via the LlmTriage sidecar; validates workspace membership, estimates token cost, charges credits, and returns the embedding with usage stats.

## Ephi-asset

- `getEphi-assets()` - /ephi-assets operation on ephi-asset resource
- `getEphi-assetsById()` - /ephi-assets/:id operation on ephi-asset resource
- `postEphi-assets()` - /ephi-assets operation on ephi-asset resource
- `patchEphi-assetsById()` - /ephi-assets/:id operation on ephi-asset resource

## Ephi-data-flow

- `getEphi-data-flows()` - /ephi-data-flows operation on ephi-data-flow resource
- `getEphi-data-flowsById()` - /ephi-data-flows/:id operation on ephi-data-flow resource
- `postEphi-data-flows()` - /ephi-data-flows operation on ephi-data-flow resource
- `patchEphi-data-flowsById()` - /ephi-data-flows/:id operation on ephi-data-flow resource

## Extraction-agent

- `getExtractionAgents()` - /extraction/agents operation on extraction-agent resource
- `getExtractionAgentsById()` - /extraction/agents/:id operation on extraction-agent resource
- `postExtractionAgentsPredict()` - Predicts the best agents for a given input

## Extraction-analysis

- `getExtractionAnalyses()` - /extraction/analyses operation on extraction-analysis resource
- `getExtractionAnalysesBy-resultByExtractionResultId()` - Look up analysis by extraction_result_id
- `getExtractionAnalysesById()` - /extraction/analyses/:id operation on extraction-analysis resource

## Extraction-batch

- `getExtractionBatchesById()` - /extraction/batches/:id operation on extraction-batch resource
- `getExtractionBatchesByIdUpload-urls()` - Generate presigned URLs for batch document upload
- `getExtractionBatchesWorkspaceByWorkspaceId()` - List all batches for a workspace, unfiltered and unpaginated
- `postExtractionBatches()` - Create a new extraction batch to group related documents
- `postExtractionBatchesByIdFinish-all()` - Finish upload for all documents in this batch that are awaiting processing
- `deleteExtractionBatchesById()` - /extraction/batches/:id operation on extraction-batch resource

## Extraction-document

- `getExtractionDocuments()` - Primary read for active (non-deleted) documents
- `getExtractionDocumentsById()` - Primary read for active (non-deleted) documents
- `getExtractionDocumentsByIdStatus()` - Lightweight poll endpoint: fetches only `id`, `status`, `progress`, and `error_message` for
a single document
- `getExtractionDocumentsByIdView()` - Get a document with its presigned view URL
- `getExtractionDocumentsWorkspace-throughput()` - Workspace-scoped throughput metrics and bucketed counts for the requested
window
- `getExtractionDocumentsWorkspaceByWorkspaceId()` - List active (non-deleted) documents in a workspace, sorted by creation date
- `getExtractionDocumentsWorkspaceByWorkspaceIdBy-statusByStatus()` - Filter documents by workspace_id and processing status
- `getExtractionDocumentsWorkspaceByWorkspaceIdExcluded()` - List excluded documents
- `getExtractionDocumentsWorkspaceByWorkspaceIdReview-queue()` - Get prioritized review queue for active learning
- `getExtractionDocumentsWorkspaceByWorkspaceIdTrained()` - List documents that have been trained and not dismissed
- `getExtractionDocumentsWorkspaceByWorkspaceIdTrashed()` - List soft-deleted (trashed) documents
- `postExtractionDocumentsBegin-upload()` - Step 1 of 2 in the two-step upload flow
- `postExtractionDocumentsFind-or-begin-upload()` - Dedup-aware upload: returns existing document if file_hash matches, otherwise creates new document
- `postExtractionDocumentsUpload()` - Legacy single-step upload: create a document record and immediately enqueue processing
- `patchExtractionDocumentsByIdCancel()` - Cancel a processing document
- `patchExtractionDocumentsByIdDismiss()` - Alias for `:dismiss_training`
- `patchExtractionDocumentsByIdDismiss-training()` - Dismiss a trained document from the active-learning training dashboard without excluding it
from future training
- `patchExtractionDocumentsByIdExclude()` - Mark a document as excluded from agent training
- `patchExtractionDocumentsByIdFinish-upload()` - Step 2 of 2 in the two-step upload flow
- `patchExtractionDocumentsByIdInclude()` - Reverse an exclusion: allow a previously excluded document to contribute training examples
again
- `patchExtractionDocumentsByIdMark-trained()` - Record that a document has been used for agent training
- `patchExtractionDocumentsByIdReprocess()` - Re-extract document with current or specified schema version
- `patchExtractionDocumentsByIdRestore()` - Reverse an exclusion: allow a previously excluded document to contribute training examples
again
- `patchExtractionDocumentsByIdStatus()` - Internal-facing status update used by the web layer and API to set processing state
- `patchExtractionDocumentsByIdVerification()` - Update the human verification status of a completed document
- `deleteExtractionDocumentsById()` - Soft-delete a document and enqueue storage cleanup

## Extraction-export

- `getWorkspacesByWorkspaceIdExtractionExports()` - List exports for a workspace, filtered by status
- `getWorkspacesByWorkspaceIdExtractionExportsById()` - /workspaces/:workspace_id/extraction/exports/:id operation on extraction-export resource
- `postWorkspacesByWorkspaceIdExtractionExports()` - /workspaces/:workspace_id/extraction/exports operation on extraction-export resource

## Extraction-result

- `getExtractionResults()` - Primary read for extraction results
- `getExtractionResultsById()` - Fetch a single ExtractionResult by ID
- `getExtractionResultsDocumentByDocumentId()` - Fetch the latest ExtractionResult for a given document
- `getExtractionResultsDocumentByDocumentIdHistory()` - List all ExtractionResults for a document in reverse-chronological order (newest first)
- `getExtractionResultsDocumentByDocumentIdPartial()` - Get the latest extraction result for a document including partial (in-progress) results with per-field status
- `getExtractionResultsWorkspaceByWorkspaceId()` - List all ExtractionResults in a workspace, sorted newest first
- `patchExtractionResultsById()` - General-purpose update for an ExtractionResult
- `patchExtractionResultsByIdRegenerate()` - Re-run extraction on an existing result, optionally with user feedback or targeting specific
fields
- `patchExtractionResultsByIdSave-corrections()` - Apply human corrections to extracted field values
- `deleteExtractionResultsById()` - Delete an ExtractionResult record

## Extraction-workflow

- `getExtraction-workflows()` - /extraction-workflows operation on extraction-workflow resource
- `getExtraction-workflowsById()` - /extraction-workflows/:id operation on extraction-workflow resource
- `postExtraction-workflows()` - /extraction-workflows operation on extraction-workflow resource
- `patchExtraction-workflowsById()` - /extraction-workflows/:id operation on extraction-workflow resource
- `deleteExtraction-workflowsById()` - /extraction-workflows/:id operation on extraction-workflow resource

## Feature-definition

- `getFeature-definitions()` - List all feature definitions
- `getFeature-definitionsBy-applicationByApplicationId()` - List feature definitions for a specific application.
- `getFeature-definitionsById()` - Fetch a single feature definition by ID.
- `postFeature-definitions()` - Create a new ISV-defined feature for an application
- `patchFeature-definitionsById()` - Update a feature definition's configuration.
- `deleteFeature-definitionsById()` - /feature-definitions/:id operation on feature-definition resource

## Feature-summary

- `getWalletFeatures()` - Get all features with their plan allocations and current usage

## Feature-usage

- `getFeature-usages()` - List all feature usage records.
- `getFeature-usagesBy-tenantByTenantId()` - List feature usage records for a specific tenant.
- `getFeature-usagesById()` - Fetch a single feature usage record by ID.
- `postFeature-usagesIncrement()` - Increment usage for a feature by key

## Field-mapping-confirmation

- `postWorkspacesByWorkspaceIdExtractionByDocumentIdMapping()` - /workspaces/:workspace_id/extraction/:document_id/mapping operation on field-mapping-confirmation resource

## Field-mapping-result

- `getWorkspacesByWorkspaceIdExtractionByDocumentIdMapping()` - /workspaces/:workspace_id/extraction/:document_id/mapping operation on field-mapping-result resource

## Field-template

- `getField-templates()` - /field-templates operation on field-template resource
- `getField-templatesById()` - /field-templates/:id operation on field-template resource
- `postField-templates()` - /field-templates operation on field-template resource
- `deleteField-templatesById()` - /field-templates/:id operation on field-template resource

## Form

- `getForms()` - /forms operation on form resource
- `getFormsById()` - /forms/:id operation on form resource
- `postForms()` - /forms operation on form resource
- `postFormsByIdClone-into-workspace()` - Clone a template Form into a workspace as a workspace-owned working copy
- `patchFormsById()` - /forms/:id operation on form resource
- `deleteFormsById()` - /forms/:id operation on form resource

## Form-analytics-query

- `getFormsByFormIdAnalyticsDistributions()` - Value distribution for a field on submitted rows
- `getFormsByFormIdAnalyticsFunnel()` - Per-page funnel counts for a form's active version.
- `getFormsByFormIdAnalyticsNps()` - NPS score from a 0..10 field on submitted rows
- `getFormsByFormIdAnalyticsSummary()` - Summary aggregate (count + completion/abandonment + ttc percentiles + per-status counts) for a form.

## Form-deployment

- `getForm-deployments()` - /form-deployments operation on form-deployment resource
- `getForm-deploymentsById()` - /form-deployments/:id operation on form-deployment resource
- `postForm-deployments()` - /form-deployments operation on form-deployment resource
- `patchForm-deploymentsById()` - /form-deployments/:id operation on form-deployment resource
- `patchForm-deploymentsByIdAccept-update()` - Promote available_version_id to effective_version_id when an update has been notified.
- `deleteForm-deploymentsById()` - /form-deployments/:id operation on form-deployment resource

## Form-generation-job

- `getForm-generations()` - /form-generations operation on form-generation-job resource
- `getForm-generationsById()` - /form-generations/:id operation on form-generation-job resource
- `postForm-generations()` - /form-generations operation on form-generation-job resource
- `patchForm-generationsByIdCancel()` - /form-generations/:id/cancel operation on form-generation-job resource

## Form-publication

- `getForm-publications()` - /form-publications operation on form-publication resource
- `getForm-publicationsBy-formByFormId()` - /form-publications/by-form/:form_id operation on form-publication resource
- `getForm-publicationsBy-slugByWorkspaceIdBySlug()` - /form-publications/by-slug/:workspace_id/:slug operation on form-publication resource
- `getForm-publicationsById()` - /form-publications/:id operation on form-publication resource
- `postForm-publications()` - /form-publications operation on form-publication resource
- `postForm-publicationsByIdSemantic-search()` - Run semantic search over submissions for this publication
- `patchForm-publicationsById()` - /form-publications/:id operation on form-publication resource
- `patchForm-publicationsByIdRevoke()` - /form-publications/:id/revoke operation on form-publication resource
- `deleteForm-publicationsById()` - /form-publications/:id operation on form-publication resource

## Form-reminder-schedule

- `getForm-reminder-schedules()` - /form-reminder-schedules operation on form-reminder-schedule resource
- `getForm-reminder-schedulesById()` - /form-reminder-schedules/:id operation on form-reminder-schedule resource
- `postForm-reminder-schedules()` - /form-reminder-schedules operation on form-reminder-schedule resource
- `patchForm-reminder-schedulesByIdPause()` - /form-reminder-schedules/:id/pause operation on form-reminder-schedule resource
- `patchForm-reminder-schedulesByIdResume()` - /form-reminder-schedules/:id/resume operation on form-reminder-schedule resource
- `deleteForm-reminder-schedulesById()` - /form-reminder-schedules/:id operation on form-reminder-schedule resource

## Form-respondent-token

- `getForm-respondent-tokens()` - /form-respondent-tokens operation on form-respondent-token resource
- `getForm-respondent-tokensById()` - /form-respondent-tokens/:id operation on form-respondent-token resource
- `postForm-respondent-tokens()` - /form-respondent-tokens operation on form-respondent-token resource
- `patchForm-respondent-tokensByIdRevoke()` - /form-respondent-tokens/:id/revoke operation on form-respondent-token resource
- `deleteForm-respondent-tokensById()` - /form-respondent-tokens/:id operation on form-respondent-token resource

## Form-version

- `getForm-versions()` - /form-versions operation on form-version resource
- `getForm-versionsById()` - /form-versions/:id operation on form-version resource
- `getForm-versionsByIdProtection-class()` - /form-versions/:id/protection-class operation on form-version resource
- `postForm-versions()` - /form-versions operation on form-version resource
- `postForm-versionsByIdPropose-rule()` - /form-versions/:id/propose-rule operation on form-version resource
- `patchForm-versionsById()` - /form-versions/:id operation on form-version resource
- `deleteForm-versionsById()` - /form-versions/:id operation on form-version resource

## Form-version-revision

- `getForm-version-revisions()` - /form-version-revisions operation on form-version-revision resource
- `getForm-version-revisionsById()` - /form-version-revisions/:id operation on form-version-revision resource
- `postForm-version-revisions()` - /form-version-revisions operation on form-version-revision resource
- `deleteForm-version-revisionsById()` - /form-version-revisions/:id operation on form-version-revision resource

## Graph-node

- `getAiGraphNodes()` - Paginate Entity vertices for the caller's tenant; returns up to 50 nodes per page by default.
- `getAiGraphNodesByNodeIdRelationships()` - List all relationships for a given node
- `getAiGraphNodesLabelByLabel()` - Find all Entity vertices with an exact label match; use to look up a specific named entity in the knowledge graph.
- `getAiGraphNodesSemantic()` - Semantic search for entities by label similarity using embeddings
- `postAiGraphNodes()` - Create an Entity vertex in the knowledge graph; tenant_id is always forced from the actor and cannot be supplied by the caller
- `postAiGraphRelationships()` - Create a relationship (edge) between two graph nodes
- `postAiGraphRelationshipsDelete()` - Delete a relationship (edge) by matching from/to nodes and type
- `deleteAiGraphNodesById()` - /ai/graph/nodes/:id operation on graph-node resource

## Invitations

- `getInvitations()` - List invitations visible to the actor
- `getInvitationsConsumeByToken()` - Look up a pending, non-expired invitation by its raw token
- `getInvitationsMe()` - List all pending invitations addressed to the authenticated actor's email
- `postInvitations()` - Send an invitation to a user to join a tenant or workspace
- `postInvitationsAccept-by-token()` - Accept an invitation using either the long token or short code
- `patchInvitationsByIdAccept()` - Accept a pending invitation using a token and the authenticated actor's identity
- `patchInvitationsByIdAccept-by-id()` - Accept a pending invitation as the authenticated recipient
- `patchInvitationsByIdAccept-by-user()` - Accept an invitation on behalf of a specific user (by user_id)
- `patchInvitationsByIdDecline()` - Decline a pending invitation
- `patchInvitationsByIdResend()` - Resend an invitation email using the originally-resolved email method
- `patchInvitationsByIdRevoke()` - Cancel a pending invitation by setting its status to :revoked

## Invoice

- `getWalletInvoices()` - /wallet/invoices operation on invoice resource
- `getWalletInvoicesById()` - /wallet/invoices/:id operation on invoice resource
- `patchWalletInvoicesByIdVoid()` - /wallet/invoices/:id/void operation on invoice resource

## Invoices-activity

- `getInvoicesActivitiesById()` - /invoices/activities/:id operation on invoices-activity resource

## Invoices-contact

- `getInvoicesContactsById()` - /invoices/contacts/:id operation on invoices-contact resource
- `getInvoicesContactsWorkspaceByWorkspaceId()` - /invoices/contacts/workspace/:workspace_id operation on invoices-contact resource
- `postInvoicesContacts()` - /invoices/contacts operation on invoices-contact resource
- `patchInvoicesContactsById()` - /invoices/contacts/:id operation on invoices-contact resource
- `deleteInvoicesContactsById()` - /invoices/contacts/:id operation on invoices-contact resource

## Invoices-invoice

- `getInvoicesById()` - /invoices/:id operation on invoices-invoice resource
- `getInvoicesWorkspaceByWorkspaceId()` - List invoices for a workspace with optional filters
- `postInvoices()` - /invoices operation on invoices-invoice resource
- `patchInvoicesById()` - /invoices/:id operation on invoices-invoice resource
- `patchInvoicesByIdApply-ai-suggestions()` - /invoices/:id/apply-ai-suggestions operation on invoices-invoice resource
- `patchInvoicesByIdApprove()` - /invoices/:id/approve operation on invoices-invoice resource
- `patchInvoicesByIdDispute()` - /invoices/:id/dispute operation on invoices-invoice resource
- `patchInvoicesByIdMark-overdue()` - /invoices/:id/mark-overdue operation on invoices-invoice resource
- `patchInvoicesByIdMark-paid()` - /invoices/:id/mark-paid operation on invoices-invoice resource
- `patchInvoicesByIdMark-viewed()` - /invoices/:id/mark-viewed operation on invoices-invoice resource
- `patchInvoicesByIdResolve-dispute()` - /invoices/:id/resolve-dispute operation on invoices-invoice resource
- `patchInvoicesByIdSchedule-payment()` - /invoices/:id/schedule-payment operation on invoices-invoice resource
- `patchInvoicesByIdSend()` - /invoices/:id/send operation on invoices-invoice resource
- `patchInvoicesByIdSubmit-for-approval()` - /invoices/:id/submit-for-approval operation on invoices-invoice resource
- `patchInvoicesByIdVoid()` - /invoices/:id/void operation on invoices-invoice resource
- `deleteInvoicesById()` - /invoices/:id operation on invoices-invoice resource

## Invoices-line

- `getInvoicesLinesById()` - /invoices/lines/:id operation on invoices-line resource
- `postInvoicesLines()` - /invoices/lines operation on invoices-line resource
- `patchInvoicesLinesById()` - /invoices/lines/:id operation on invoices-line resource
- `deleteInvoicesLinesById()` - /invoices/lines/:id operation on invoices-line resource

## Invoices-payment

- `getInvoicesPaymentsById()` - /invoices/payments/:id operation on invoices-payment resource
- `postInvoicesPayments()` - /invoices/payments operation on invoices-payment resource
- `deleteInvoicesPaymentsById()` - /invoices/payments/:id operation on invoices-payment resource

## Invoices-quote-request

- `getQuote-requestsById()` - Fetch a single quote request by ID.
- `getQuote-requestsWorkspaceByWorkspaceId()` - List quote requests for a workspace, optionally filtered by status.
- `postQuote-requests()` - Create a quote request
- `patchQuote-requestsById()` - Update an existing quote request
- `deleteQuote-requestsById()` - /quote-requests/:id operation on invoices-quote-request resource

## Invoices-recurring-schedule

- `getInvoicesRecurring-schedulesById()` - /invoices/recurring-schedules/:id operation on invoices-recurring-schedule resource
- `postInvoicesRecurring-schedules()` - /invoices/recurring-schedules operation on invoices-recurring-schedule resource
- `patchInvoicesRecurring-schedulesById()` - /invoices/recurring-schedules/:id operation on invoices-recurring-schedule resource
- `patchInvoicesRecurring-schedulesByIdPause()` - /invoices/recurring-schedules/:id/pause operation on invoices-recurring-schedule resource
- `patchInvoicesRecurring-schedulesByIdResume()` - /invoices/recurring-schedules/:id/resume operation on invoices-recurring-schedule resource
- `deleteInvoicesRecurring-schedulesById()` - /invoices/recurring-schedules/:id operation on invoices-recurring-schedule resource

## Invoices-rule

- `getInvoicesRulesById()` - /invoices/rules/:id operation on invoices-rule resource
- `postInvoicesRules()` - /invoices/rules operation on invoices-rule resource
- `patchInvoicesRulesById()` - /invoices/rules/:id operation on invoices-rule resource
- `patchInvoicesRulesByIdDeactivate()` - /invoices/rules/:id/deactivate operation on invoices-rule resource
- `deleteInvoicesRulesById()` - /invoices/rules/:id operation on invoices-rule resource

## Invoices-template

- `getInvoicesTemplatesById()` - /invoices/templates/:id operation on invoices-template resource
- `postInvoicesTemplates()` - /invoices/templates operation on invoices-template resource
- `patchInvoicesTemplatesById()` - /invoices/templates/:id operation on invoices-template resource
- `deleteInvoicesTemplatesById()` - /invoices/templates/:id operation on invoices-template resource

## Legal-acceptance

- `getLegal-acceptances()` - /legal-acceptances operation on legal-acceptance resource
- `getLegal-acceptancesById()` - /legal-acceptances/:id operation on legal-acceptance resource
- `getLegal-acceptancesLatest()` - Fetch the most recent acceptance record for a given user and document type

## Legal-document

- `getLegal-documents()` - /legal-documents operation on legal-document resource
- `getLegal-documentsBy-locale()` - Fetch active legal documents filtered by locale and optional region, used to display the appropriate ToS or Privacy Policy to a user based on their location.
- `getLegal-documentsById()` - /legal-documents/:id operation on legal-document resource
- `getLegal-documentsFor-application()` - List legal documents scoped to the current application context, including platform-level documents (null application_id) and application-specific overrides
- `postLegal-documents()` - Create a new versioned legal document (Terms of Service, Privacy Policy, BAA, DPA, or SCC)
- `patchLegal-documentsById()` - Edit draft document content, locale, region, or scheduling fields
- `patchLegal-documentsByIdPublish()` - Make a legal document live
- `patchLegal-documentsByIdUnpublish()` - Deactivate a legal document without deleting it
- `deleteLegal-documentsById()` - /legal-documents/:id operation on legal-document resource

## Meeting

- `getMeetings()` - /meetings operation on meeting resource
- `getMeetingsById()` - /meetings/:id operation on meeting resource
- `postMeetings()` - /meetings operation on meeting resource
- `patchMeetingsById()` - /meetings/:id operation on meeting resource
- `deleteMeetingsById()` - /meetings/:id operation on meeting resource

## Meeting-action-item

- `getMeeting-action-items()` - /meeting-action-items operation on meeting-action-item resource
- `getMeeting-action-itemsById()` - /meeting-action-items/:id operation on meeting-action-item resource

## Meeting-transcript

- `getMeeting-transcripts()` - /meeting-transcripts operation on meeting-transcript resource
- `getMeeting-transcriptsById()` - /meeting-transcripts/:id operation on meeting-transcript resource

## News-monitor

- `getCrawlerNews-monitors()` - /crawler/news-monitors operation on news-monitor resource
- `getCrawlerNews-monitorsById()` - /crawler/news-monitors/:id operation on news-monitor resource
- `postCrawlerNews-monitors()` - Create a workspace-scoped NewsMonitor.
- `patchCrawlerNews-monitorsById()` - /crawler/news-monitors/:id operation on news-monitor resource
- `patchCrawlerNews-monitorsByIdArchive()` - /crawler/news-monitors/:id/archive operation on news-monitor resource
- `patchCrawlerNews-monitorsByIdPause()` - /crawler/news-monitors/:id/pause operation on news-monitor resource
- `patchCrawlerNews-monitorsByIdResume()` - /crawler/news-monitors/:id/resume operation on news-monitor resource
- `deleteCrawlerNews-monitorsById()` - /crawler/news-monitors/:id operation on news-monitor resource

## News-summary

- `getCrawlerNews-summaries()` - /crawler/news-summaries operation on news-summary resource
- `getCrawlerNews-summariesById()` - /crawler/news-summaries/:id operation on news-summary resource

## Notification-log

- `getNotification-logs()` - /notification-logs operation on notification-log resource
- `getNotification-logsById()` - /notification-logs/:id operation on notification-log resource
- `getNotification-logsStats()` - Get notification log statistics scoped to the caller's application

## Notification-method

- `getNotification-methods()` - /notification-methods operation on notification-method resource
- `getNotification-methodsById()` - /notification-methods/:id operation on notification-method resource
- `postNotification-methods()` - Register a new notification delivery channel for a user (email address, phone number, Slack webhook, or generic webhook URL)
- `patchNotification-methodsById()` - Update the display name or connection config for an existing notification method
- `patchNotification-methodsByIdSend-verification()` - Generate a cryptographically secure 6-digit verification code, store it as `verification_token`, record `verification_sent_at`, and dispatch delivery to the configured channel.
- `patchNotification-methodsByIdSet-primary()` - Mark this notification method as the primary channel for its type
- `patchNotification-methodsByIdVerify()` - Verify a notification method by submitting the 6-digit code received via :send_verification
- `deleteNotification-methodsById()` - /notification-methods/:id operation on notification-method resource

## Notification-preference

- `getNotification-preferences()` - /notification-preferences operation on notification-preference resource
- `getNotification-preferencesById()` - /notification-preferences/:id operation on notification-preference resource
- `postNotification-preferences()` - Create notification preferences for a user, specifying which delivery channels are enabled (e.g., email, SMS) and category-level opt-in/out settings
- `patchNotification-preferencesById()` - Update a user's notification channel list or per-category preferences
- `deleteNotification-preferencesById()` - /notification-preferences/:id operation on notification-preference resource

## Operation-success

- `postDocumentsBulk-delete()` - /documents/bulk-delete operation on operation-success resource

## Ownership-transfer

- `getOwnership-transfers()` - /ownership-transfers operation on ownership-transfer resource

## Payment-method

- `getPayment-methods()` - /payment-methods operation on payment-method resource
- `getPayment-methodsById()` - /payment-methods/:id operation on payment-method resource
- `postPayment-methods()` - Save a payment method that has already been tokenized by the platform
- `postPayment-methodsTokenize()` - Create a payment method via direct proxy tokenization (S2S)
- `patchPayment-methodsById()` - Update a saved payment method's nickname or default status
- `patchPayment-methodsByIdDefault()` - Set this payment method as default for the customer
- `deletePayment-methodsById()` - /payment-methods/:id operation on payment-method resource

## Permission

- `getPermissions()` - List all registered permissions from the PermissionRegistry, optionally filtered by app, context, or category
- `getPermissionsById()` - Fetch all permissions and apply any query filters supplied by the caller; use :by_id for single-record lookup by permission ID string.

## Permission-meta

- `getPermissionsMeta()` - Fetch a single metadata record describing the permission system — schema version, available apps, scopes, categories, and suggested client cache TTL

## Permission-preset

- `getPermissionsPresets()` - List all permission presets (pre-defined role bundles) from the PermissionRegistry, optionally filtered by context and app
- `getPermissionsPresetsById()` - Fetch a single permission preset by its composite ID (e.g., 'workspace:org:admin'); returns the preset with its full permission list or a not-found error.

## Pipeline

- `getPipelines()` - /pipelines operation on pipeline resource
- `getPipelinesBy-slugBySlug()` - Look up a pipeline by its system_slug scoped to an application
- `getPipelinesBy-workflow-type()` - List pipelines by workflow type
- `getPipelinesById()` - /pipelines/:id operation on pipeline resource
- `postPipelines()` - Create a new agent pipeline.
- `patchPipelinesById()` - Update pipeline metadata or node graph.
- `deletePipelinesById()` - /pipelines/:id operation on pipeline resource

## Pipeline-execution

- `getPipeline-executions()` - /pipeline-executions operation on pipeline-execution resource
- `getPipeline-executionsBy-pipelineByPipelineId()` - /pipeline-executions/by-pipeline/:pipeline_id operation on pipeline-execution resource
- `getPipeline-executionsById()` - /pipeline-executions/:id operation on pipeline-execution resource
- `patchPipeline-executionsByIdApprove()` - /pipeline-executions/:id/approve operation on pipeline-execution resource
- `patchPipeline-executionsByIdCheckpoint()` - /pipeline-executions/:id/checkpoint operation on pipeline-execution resource
- `patchPipeline-executionsByIdNote()` - /pipeline-executions/:id/note operation on pipeline-execution resource
- `patchPipeline-executionsByIdRefine()` - /pipeline-executions/:id/refine operation on pipeline-execution resource
- `patchPipeline-executionsByIdReject()` - /pipeline-executions/:id/reject operation on pipeline-execution resource

## Pipeline-node

- `getPipeline-nodes()` - /pipeline-nodes operation on pipeline-node resource
- `getPipeline-nodesBy-pipelineByPipelineId()` - List all nodes for a pipeline, ordered by order field.
- `getPipeline-nodesById()` - /pipeline-nodes/:id operation on pipeline-node resource
- `postPipeline-nodes()` - Create a new pipeline node.
- `patchPipeline-nodesById()` - Update a pipeline node.
- `deletePipeline-nodesById()` - /pipeline-nodes/:id operation on pipeline-node resource

## Pipeline-node-execution

- `getPipeline-node-executionsBy-executionByPipelineExecutionId()` - List node executions for a pipeline execution, ordered by started_at.
- `getPipeline-node-executionsById()` - /pipeline-node-executions/:id operation on pipeline-node-execution resource

## Plan-bundle

- `getPlan-bundlesCan-enable()` - Four-gate resolver answering "can this capability be enabled for this
Application (and optionally this Plan)?"
- `getPlan-bundlesTemplates()` - Returns the four starter plan-bundle templates (seat-based, metered,
freemium-with-overage, developer-tier-prosumer)
- `postPlan-bundlesPreview-economics()` - CFO modeling for a plan bundle
- `postPlan-bundlesPublish()` - Publish a plan bundle atomically

## Plan-catalog

- `getPlans()` - /plans operation on plan-catalog resource
- `getPlansById()` - /plans/:id operation on plan-catalog resource
- `getPlansSlugBySlug()` - /plans/slug/:slug operation on plan-catalog resource

## Plan-feature-allocation-catalog

- `getPlan-feature-allocations()` - List all plan feature allocations for the current application.
- `getPlan-feature-allocationsBy-planByPlanId()` - List feature allocations for a specific plan.
- `getPlan-feature-allocationsById()` - Fetch a single plan feature allocation by ID.

## Platform-tone

- `getPlatform-tones()` - /platform-tones operation on platform-tone resource
- `getPlatform-tonesBy-brandByBrandIdentityId()` - /platform-tones/by-brand/:brand_identity_id operation on platform-tone resource
- `getPlatform-tonesById()` - /platform-tones/:id operation on platform-tone resource
- `postPlatform-tones()` - /platform-tones operation on platform-tone resource
- `patchPlatform-tonesById()` - /platform-tones/:id operation on platform-tone resource
- `deletePlatform-tonesById()` - /platform-tones/:id operation on platform-tone resource

## Policy-review-schedule

- `getPolicy-review-schedules()` - /policy-review-schedules operation on policy-review-schedule resource
- `getPolicy-review-schedulesById()` - /policy-review-schedules/:id operation on policy-review-schedule resource
- `postPolicy-review-schedules()` - /policy-review-schedules operation on policy-review-schedule resource
- `patchPolicy-review-schedulesByIdComplete-review()` - /policy-review-schedules/:id/complete-review operation on policy-review-schedule resource
- `patchPolicy-review-schedulesByIdMark-due()` - /policy-review-schedules/:id/mark-due operation on policy-review-schedule resource
- `patchPolicy-review-schedulesByIdMark-overdue()` - /policy-review-schedules/:id/mark-overdue operation on policy-review-schedule resource

## Post-metric

- `getSocialMetricsAccountBySocialAccountId()` - /social/metrics/account/:social_account_id operation on post-metric resource
- `getSocialMetricsById()` - /social/metrics/:id operation on post-metric resource
- `getSocialMetricsCampaignBySocialCampaignId()` - /social/metrics/campaign/:social_campaign_id operation on post-metric resource
- `getSocialMetricsPostBySocialPostId()` - /social/metrics/post/:social_post_id operation on post-metric resource
- `getSocialMetricsPostBySocialPostIdLatest()` - /social/metrics/post/:social_post_id/latest operation on post-metric resource

## Post-processing-hook

- `getPost-processing-hooks()` - /post-processing-hooks operation on post-processing-hook resource
- `getPost-processing-hooksById()` - /post-processing-hooks/:id operation on post-processing-hook resource
- `postPost-processing-hooks()` - /post-processing-hooks operation on post-processing-hook resource
- `patchPost-processing-hooksById()` - /post-processing-hooks/:id operation on post-processing-hook resource
- `deletePost-processing-hooksById()` - /post-processing-hooks/:id operation on post-processing-hook resource

## Presigned-url

- `postDocumentsPresigned-upload()` - /documents/presigned-upload operation on presigned-url resource

## Processing-activity

- `getProcessing-activities()` - /processing-activities operation on processing-activity resource
- `getProcessing-activitiesById()` - /processing-activities/:id operation on processing-activity resource
- `postProcessing-activities()` - Add a new GDPR Article 30 Record of Processing Activities (ROPA) entry, documenting a processing purpose, the categories of personal data processed, data subjects, recipients, and legal basis for the workspace.
- `deleteProcessing-activitiesById()` - /processing-activities/:id operation on processing-activity resource

## Recipes-collection-recipe

- `getRecipesCollection-recipesById()` - /recipes/collection-recipes/:id operation on recipes-collection-recipe resource
- `getRecipesCollection-recipesCollectionByCollectionId()` - List recipes in a collection
- `postRecipesCollection-recipes()` - /recipes/collection-recipes operation on recipes-collection-recipe resource
- `patchRecipesCollection-recipesById()` - /recipes/collection-recipes/:id operation on recipes-collection-recipe resource
- `deleteRecipesCollection-recipesById()` - /recipes/collection-recipes/:id operation on recipes-collection-recipe resource

## Recipes-enrichment-job

- `getRecipesEnrichment-jobsById()` - /recipes/enrichment-jobs/:id operation on recipes-enrichment-job resource
- `getRecipesEnrichment-jobsRecipeByRecipeId()` - List enrichment jobs for a recipe

## Recipes-food-item

- `getRecipesFood-itemsApplicationByApplicationId()` - List food items for an application
- `getRecipesFood-itemsById()` - /recipes/food-items/:id operation on recipes-food-item resource
- `postRecipesFood-items()` - /recipes/food-items operation on recipes-food-item resource
- `patchRecipesFood-itemsById()` - /recipes/food-items/:id operation on recipes-food-item resource
- `deleteRecipesFood-itemsById()` - /recipes/food-items/:id operation on recipes-food-item resource

## Recipes-ingredient

- `getRecipesIngredientsById()` - /recipes/ingredients/:id operation on recipes-ingredient resource
- `getRecipesIngredientsRecipeByRecipeId()` - List ingredients for a recipe
- `postRecipesIngredients()` - /recipes/ingredients operation on recipes-ingredient resource
- `patchRecipesIngredientsById()` - /recipes/ingredients/:id operation on recipes-ingredient resource
- `deleteRecipesIngredientsById()` - /recipes/ingredients/:id operation on recipes-ingredient resource

## Recipes-meal-schedule

- `getRecipesMeal-schedulesById()` - /recipes/meal-schedules/:id operation on recipes-meal-schedule resource
- `getRecipesMeal-schedulesWorkspaceByWorkspaceId()` - List meal schedules for a workspace
- `postRecipesMeal-schedules()` - /recipes/meal-schedules operation on recipes-meal-schedule resource
- `patchRecipesMeal-schedulesById()` - /recipes/meal-schedules/:id operation on recipes-meal-schedule resource
- `deleteRecipesMeal-schedulesById()` - /recipes/meal-schedules/:id operation on recipes-meal-schedule resource

## Recipes-nutrition-summary

- `getRecipesNutrition-summariesById()` - /recipes/nutrition-summaries/:id operation on recipes-nutrition-summary resource
- `getRecipesNutrition-summariesMeal-scheduleByMealScheduleId()` - List nutrition summaries for a meal schedule

## Recipes-recipe

- `getRecipesById()` - /recipes/:id operation on recipes-recipe resource
- `getRecipesWorkspaceByWorkspaceId()` - List recipes for a workspace, excluding archived
- `getRecipesWorkspaceByWorkspaceIdContactByContactId()` - List recipes contributed by a specific contact
- `getRecipesWorkspaceByWorkspaceIdPublished()` - List published recipes only
- `postRecipes()` - /recipes operation on recipes-recipe resource
- `postRecipesBulk-import()` - /recipes/bulk-import operation on recipes-recipe resource
- `postRecipesImport()` - Import a recipe from an external connector source
- `patchRecipesById()` - /recipes/:id operation on recipes-recipe resource
- `patchRecipesByIdArchive()` - /recipes/:id/archive operation on recipes-recipe resource
- `patchRecipesByIdRe-enrich()` - /recipes/:id/re-enrich operation on recipes-recipe resource
- `patchRecipesByIdRestore()` - /recipes/:id/restore operation on recipes-recipe resource
- `deleteRecipesById()` - Permanently delete a recipe

## Recipes-recipe-collection

- `getRecipesCollectionsById()` - /recipes/collections/:id operation on recipes-recipe-collection resource
- `getRecipesCollectionsWorkspaceByWorkspaceId()` - List collections for a workspace
- `postRecipesCollections()` - /recipes/collections operation on recipes-recipe-collection resource
- `patchRecipesCollectionsById()` - /recipes/collections/:id operation on recipes-recipe-collection resource
- `deleteRecipesCollectionsById()` - /recipes/collections/:id operation on recipes-recipe-collection resource

## Recipes-recipe-favorite

- `getRecipesFavoritesById()` - /recipes/favorites/:id operation on recipes-recipe-favorite resource
- `getRecipesFavoritesRecipeByRecipeId()` - List favorites for a recipe
- `getRecipesFavoritesWorkspaceByWorkspaceId()` - List favorites for a workspace
- `postRecipesFavorites()` - /recipes/favorites operation on recipes-recipe-favorite resource
- `patchRecipesFavoritesById()` - /recipes/favorites/:id operation on recipes-recipe-favorite resource
- `deleteRecipesFavoritesById()` - /recipes/favorites/:id operation on recipes-recipe-favorite resource

## Recipes-recipe-nutrition

- `getRecipesRecipe-nutritionsById()` - /recipes/recipe-nutritions/:id operation on recipes-recipe-nutrition resource
- `getRecipesRecipe-nutritionsRecipeByRecipeId()` - Get nutrition data for a recipe
- `postRecipesRecipe-nutritions()` - /recipes/recipe-nutritions operation on recipes-recipe-nutrition resource
- `patchRecipesRecipe-nutritionsById()` - /recipes/recipe-nutritions/:id operation on recipes-recipe-nutrition resource

## Recipes-recipe-tag

- `getRecipesRecipe-tagsById()` - /recipes/recipe-tags/:id operation on recipes-recipe-tag resource
- `getRecipesRecipe-tagsRecipeByRecipeId()` - List recipe tags for a recipe
- `postRecipesRecipe-tags()` - /recipes/recipe-tags operation on recipes-recipe-tag resource
- `deleteRecipesRecipe-tagsById()` - /recipes/recipe-tags/:id operation on recipes-recipe-tag resource

## Recipes-scheduled-meal

- `getRecipesScheduled-mealsById()` - /recipes/scheduled-meals/:id operation on recipes-scheduled-meal resource
- `getRecipesScheduled-mealsMeal-scheduleByMealScheduleId()` - List scheduled meals for a meal schedule
- `postRecipesScheduled-meals()` - /recipes/scheduled-meals operation on recipes-scheduled-meal resource
- `patchRecipesScheduled-mealsById()` - /recipes/scheduled-meals/:id operation on recipes-scheduled-meal resource
- `deleteRecipesScheduled-mealsById()` - /recipes/scheduled-meals/:id operation on recipes-scheduled-meal resource

## Recipes-shopping-list

- `getRecipesShopping-listsById()` - /recipes/shopping-lists/:id operation on recipes-shopping-list resource
- `getRecipesShopping-listsWorkspaceByWorkspaceId()` - List shopping lists for a workspace
- `postRecipesShopping-lists()` - /recipes/shopping-lists operation on recipes-shopping-list resource
- `postRecipesShopping-listsGenerate()` - /recipes/shopping-lists/generate operation on recipes-shopping-list resource
- `postRecipesShopping-listsRegenerate()` - /recipes/shopping-lists/regenerate operation on recipes-shopping-list resource
- `patchRecipesShopping-listsById()` - /recipes/shopping-lists/:id operation on recipes-shopping-list resource
- `deleteRecipesShopping-listsById()` - /recipes/shopping-lists/:id operation on recipes-shopping-list resource

## Recipes-shopping-list-item

- `getRecipesShopping-list-itemsById()` - /recipes/shopping-list-items/:id operation on recipes-shopping-list-item resource
- `getRecipesShopping-list-itemsShopping-listByShoppingListId()` - List items for a shopping list
- `postRecipesShopping-list-items()` - /recipes/shopping-list-items operation on recipes-shopping-list-item resource
- `patchRecipesShopping-list-itemsById()` - /recipes/shopping-list-items/:id operation on recipes-shopping-list-item resource
- `deleteRecipesShopping-list-itemsById()` - /recipes/shopping-list-items/:id operation on recipes-shopping-list-item resource

## Recipes-tag

- `getRecipesTagsApplicationByApplicationId()` - List tags for an application
- `getRecipesTagsById()` - /recipes/tags/:id operation on recipes-tag resource
- `postRecipesTags()` - /recipes/tags operation on recipes-tag resource
- `patchRecipesTagsById()` - /recipes/tags/:id operation on recipes-tag resource
- `deleteRecipesTagsById()` - /recipes/tags/:id operation on recipes-tag resource

## Recurring-schedule

- `getSchedulerRecurring-schedules()` - /scheduler/recurring-schedules operation on recurring-schedule resource
- `getSchedulerRecurring-schedulesById()` - /scheduler/recurring-schedules/:id operation on recurring-schedule resource
- `postSchedulerRecurring-schedules()` - /scheduler/recurring-schedules operation on recurring-schedule resource
- `postSchedulerRecurring-schedulesByIdTrigger()` - /scheduler/recurring-schedules/:id/trigger operation on recurring-schedule resource
- `patchSchedulerRecurring-schedulesById()` - /scheduler/recurring-schedules/:id operation on recurring-schedule resource
- `patchSchedulerRecurring-schedulesByIdCancel()` - /scheduler/recurring-schedules/:id/cancel operation on recurring-schedule resource
- `patchSchedulerRecurring-schedulesByIdPause()` - /scheduler/recurring-schedules/:id/pause operation on recurring-schedule resource
- `patchSchedulerRecurring-schedulesByIdResume()` - /scheduler/recurring-schedules/:id/resume operation on recurring-schedule resource
- `deleteSchedulerRecurring-schedulesById()` - /scheduler/recurring-schedules/:id operation on recurring-schedule resource

## Retention-policy

- `getRetention-policies()` - /retention-policies operation on retention-policy resource
- `getRetention-policiesById()` - /retention-policies/:id operation on retention-policy resource
- `postRetention-policies()` - Define a data retention rule for a specific data category in a workspace
- `patchRetention-policiesById()` - Modify the retention period, expiry action, or enabled state of an existing policy
- `deleteRetention-policiesById()` - /retention-policies/:id operation on retention-policy resource

## Review

- `getReviews()` - /reviews operation on review resource
- `getReviewsById()` - /reviews/:id operation on review resource
- `patchReviewsByIdApprove()` - /reviews/:id/approve operation on review resource
- `patchReviewsByIdAssign()` - /reviews/:id/assign operation on review resource
- `patchReviewsByIdClaim()` - /reviews/:id/claim operation on review resource
- `patchReviewsByIdCorrect()` - /reviews/:id/correct operation on review resource
- `patchReviewsByIdEscalate()` - /reviews/:id/escalate operation on review resource
- `patchReviewsByIdReject()` - /reviews/:id/reject operation on review resource
- `patchReviewsByIdUnclaim()` - /reviews/:id/unclaim operation on review resource

## Review-queue

- `getReview-queues()` - /review-queues operation on review-queue resource
- `getReview-queuesById()` - /review-queues/:id operation on review-queue resource
- `getReview-queuesSummaries()` - Workspace-scoped summary of non-archived review queues
- `postReview-queues()` - /review-queues operation on review-queue resource
- `patchReview-queuesById()` - /review-queues/:id operation on review-queue resource
- `deleteReview-queuesById()` - /review-queues/:id operation on review-queue resource

## Review-queue-membership

- `getReview-queue-memberships()` - /review-queue-memberships operation on review-queue-membership resource
- `getReview-queue-membershipsById()` - /review-queue-memberships/:id operation on review-queue-membership resource
- `postReview-queue-memberships()` - /review-queue-memberships operation on review-queue-membership resource
- `deleteReview-queue-membershipsById()` - /review-queue-memberships/:id operation on review-queue-membership resource

## Risk-assessment

- `getRisk-assessments()` - /risk-assessments operation on risk-assessment resource
- `getRisk-assessmentsById()` - /risk-assessments/:id operation on risk-assessment resource
- `postRisk-assessments()` - Record a new compliance risk assessment (security, privacy, operational, or compliance type) for a workspace
- `patchRisk-assessmentsByIdStatus()` - Advance a risk assessment through its lifecycle (draft → in_review → approved → expired) and record the reviewer and approval timestamp.
- `deleteRisk-assessmentsById()` - /risk-assessments/:id operation on risk-assessment resource

## Role

- `getRoles()` - /roles operation on role resource
- `getRolesById()` - /roles/:id operation on role resource
- `postRoles()` - Create a new role (permission bundle); creates a system default if application_id is nil, or an ISV application role if application_id is supplied
- `patchRolesById()` - Update a role's name, description, or permission list; does NOT retroactively update existing AccessGrants
- `deleteRolesById()` - Delete a role; emits a RoleDeleted audit event

## Saved-search

- `getSearchSaved()` - List saved searches accessible to the current actor: the actor's own searches and any searches marked `is_shared` within the same tenant.
- `postSearchSaved()` - Persist a named search query for reuse
- `postSearchSavedByIdRun()` - Re-execute a saved search by ID and return the saved search metadata enriched with an `executed_at` ISO-8601 timestamp
- `patchSearchSavedById()` - Modify the name, query string, search type, filters, or sharing status of an existing saved search
- `deleteSearchSavedById()` - /search/saved/:id operation on saved-search resource

## Scan-result

- `getScan-results()` - /scan-results operation on scan-result resource
- `getScan-resultsById()` - /scan-results/:id operation on scan-result resource

## Schedule-execution

- `getSchedulerSchedule-executions()` - /scheduler/schedule-executions operation on schedule-execution resource
- `getSchedulerSchedule-executionsById()` - /scheduler/schedule-executions/:id operation on schedule-execution resource

## Scheduling-booking

- `getSchedulingBookings()` - List all bookings for a workspace
- `getSchedulingBookingsBy-booker()` - List all bookings made by a specific email address across the workspace
- `getSchedulingBookingsById()` - Fetch a single booking by ID
- `postSchedulingBookings()` - Create a booking for an external party claiming a time slot
- `patchSchedulingBookingsByIdCancel()` - Cancel a booking, recording cancellation_reason and cancelled_by (:booker/:organizer/:system)
- `patchSchedulingBookingsByIdConfirm()` - Approve a pending booking, setting status to :confirmed and confirmed_at timestamp
- `patchSchedulingBookingsByIdMark-no-show()` - Mark a booking as :no_show when the booker did not attend
- `patchSchedulingBookingsByIdReschedule()` - Reschedule a booking by moving its linked Event to new_start_time/new_end_time

## Scheduling-calendar-sync

- `getSchedulingCalendar-syncs()` - List all calendar sync configurations for a specific user
- `getSchedulingCalendar-syncsById()` - Fetch a single calendar sync configuration by ID
- `postSchedulingCalendar-syncs()` - Link a user's external calendar for bi-directional sync
- `patchSchedulingCalendar-syncsById()` - Update calendar sync settings: name, direction, role, sync_method, poll interval, or custom metadata
- `patchSchedulingCalendar-syncsByIdPause()` - Pause calendar sync by setting sync_status to :paused
- `patchSchedulingCalendar-syncsByIdResume()` - Resume a paused or errored calendar sync
- `deleteSchedulingCalendar-syncsById()` - Hard-delete a calendar sync configuration, stopping all future sync runs for this calendar

## Scheduling-event

- `getSchedulingEvents()` - List all events in a workspace, newest first
- `getSchedulingEventsByDateRange()` - List events in a workspace that overlap a given time window (start_time < end, end_time > start)
- `getSchedulingEventsById()` - Fetch a single event by ID
- `getSchedulingEventsByParticipant()` - List events that include a specific participant by email, scoped to the workspace
- `postSchedulingEvents()` - Create a scheduled event occurrence
- `patchSchedulingEventsById()` - Update event metadata: title, description, timezone, location, notes, or custom metadata
- `patchSchedulingEventsByIdCancel()` - Cancel an event, recording an optional cancellation_reason
- `patchSchedulingEventsByIdComplete()` - Mark a confirmed event as completed
- `patchSchedulingEventsByIdReschedule()` - Move an event to a new time slot

## Scheduling-event-type

- `getSchedulingEvent-types()` - List all active event types for a workspace
- `getSchedulingEvent-typesBy-slug()` - Fetch a single active event type by its URL-friendly slug
- `getSchedulingEvent-typesById()` - Fetch a single event type by ID
- `postSchedulingEvent-types()` - Create an event type template for a workspace
- `patchSchedulingEvent-typesById()` - Update event type configuration including duration, buffers, location, capacity, and intake form
- `patchSchedulingEvent-typesByIdArchive()` - Soft-archive an event type by setting status to :archived

## Scheduling-participant

- `getSchedulingParticipants()` - List all participants for a specific event, including organizer and attendees
- `getSchedulingParticipantsById()` - Fetch a single participant by ID
- `postSchedulingParticipants()` - Add a participant to an event
- `patchSchedulingParticipantsById()` - Update participant metadata: name, phone, role, or custom metadata
- `patchSchedulingParticipantsByIdRespond()` - Record a participant's RSVP: :accepted, :declined, or :tentative
- `deleteSchedulingParticipantsById()` - Hard-delete a participant from an event

## Schema-discovery

- `getExtractionSchema-discoveriesById()` - /extraction/schema-discoveries/:id operation on schema-discovery resource
- `postExtractionSchema-discoveries()` - /extraction/schema-discoveries operation on schema-discovery resource
- `postExtractionSchema-discoveriesBootstrap()` - Bootstrap schema discovery without an agent

## Search

- `getSearch()` - Full-text keyword search via Meilisearch across users, tenants, and documents
- `getSearchHealth()` - Check Meilisearch server health, returning status and latency
- `getSearchIndexes()` - Return the names of all configured Meilisearch indexes
- `getSearchSemantic()` - Vector similarity search across document chunks using a generated embedding of the query
- `getSearchStats()` - Return Meilisearch database size and per-index document counts
- `getSearchStatus()` - Return the current status and tenant context for the search indexes
- `getSearchSuggest()` - Return typeahead suggestions for a query prefix
- `postAiSearch()` - Run a semantic similarity search against vectorized document chunks for the caller's tenant; embeds the query text and returns the top-k most relevant chunks ranked by cosine similarity.
- `postAiSearchAdvanced()` - Run a filtered semantic search with additional constraints on document type, date range, or specific workspace IDs; use when basic search results need to be scoped to a subset of the tenant's content.
- `postSearchBatch()` - Execute multiple search queries in a single request and return the combined results
- `postSearchReindex()` - Trigger a Meilisearch reindex for all or a specific subset of indexes (users, tenants, documents)

## Search-analytics

- `getSearchAnalytics()` - List search analytics with tenant-based filtering
- `getSearchAnalyticsSummary()` - Aggregated search analytics summary (platform admin only)

## Seat-info

- `getWalletSeats()` - Get seat billing info for the current tenant

## Section-document

- `getMemorySection-documents()` - /memory/section-documents operation on section-document resource
- `getMemorySection-documentsById()` - /memory/section-documents/:id operation on section-document resource

## Social-account

- `getSocialAccountsById()` - /social/accounts/:id operation on social-account resource
- `getSocialAccountsPlatformByPlatform()` - /social/accounts/platform/:platform operation on social-account resource
- `getSocialAccountsWorkspaceByWorkspaceId()` - /social/accounts/workspace/:workspace_id operation on social-account resource
- `postSocialAccounts()` - /social/accounts operation on social-account resource
- `patchSocialAccountsById()` - /social/accounts/:id operation on social-account resource
- `patchSocialAccountsByIdDeactivate()` - /social/accounts/:id/deactivate operation on social-account resource
- `patchSocialAccountsByIdDisable-posting()` - /social/accounts/:id/disable-posting operation on social-account resource
- `patchSocialAccountsByIdEnable-posting()` - /social/accounts/:id/enable-posting operation on social-account resource
- `deleteSocialAccountsById()` - /social/accounts/:id operation on social-account resource

## Social-campaign

- `getSocialCampaigns()` - /social/campaigns operation on social-campaign resource
- `getSocialCampaignsById()` - /social/campaigns/:id operation on social-campaign resource
- `postSocialCampaigns()` - /social/campaigns operation on social-campaign resource
- `postSocialCampaignsByIdAdapt-for-platforms()` - Adapt master copy for each target platform
- `postSocialCampaignsByIdGenerate-master-copy()` - Generate master copy from content brief using AI
- `postSocialCampaignsByIdPreview-adaptations()` - Preview adapted copy per platform without creating SocialPost records.
- `patchSocialCampaignsById()` - /social/campaigns/:id operation on social-campaign resource
- `patchSocialCampaignsByIdCancel()` - /social/campaigns/:id/cancel operation on social-campaign resource
- `patchSocialCampaignsByIdSchedule()` - /social/campaigns/:id/schedule operation on social-campaign resource
- `deleteSocialCampaignsById()` - /social/campaigns/:id operation on social-campaign resource

## Social-post

- `getSocialPostsAccountBySocialAccountId()` - /social/posts/account/:social_account_id operation on social-post resource
- `getSocialPostsById()` - /social/posts/:id operation on social-post resource
- `getSocialPostsCampaignBySocialCampaignId()` - /social/posts/campaign/:social_campaign_id operation on social-post resource
- `getSocialPostsScheduled()` - /social/posts/scheduled operation on social-post resource
- `getSocialPostsWorkspaceByWorkspaceId()` - /social/posts/workspace/:workspace_id operation on social-post resource
- `postSocialPosts()` - /social/posts operation on social-post resource
- `patchSocialPostsById()` - /social/posts/:id operation on social-post resource
- `patchSocialPostsByIdCancel()` - /social/posts/:id/cancel operation on social-post resource
- `patchSocialPostsByIdPublish()` - /social/posts/:id/publish operation on social-post resource
- `patchSocialPostsByIdRetry()` - /social/posts/:id/retry operation on social-post resource
- `patchSocialPostsByIdSchedule()` - /social/posts/:id/schedule operation on social-post resource
- `patchSocialPostsByIdSeo()` - /social/posts/:id/seo operation on social-post resource
- `deleteSocialPostsById()` - /social/posts/:id operation on social-post resource

## Storage

- `getBuckets()` - List or fetch buckets; excludes processing-type buckets by default
- `getBucketsAll()` - Read all buckets including system/processing buckets
- `getBucketsById()` - List or fetch buckets; excludes processing-type buckets by default
- `getBucketsByIdStats()` - Fetch a single bucket with the storage_used calculation (total bytes across all workspace files in this bucket).
- `postBuckets()` - Create a bucket record and provision it in object storage (GCS in prod, MinIO in dev); sets lifecycle rules and public policy if type is :public
- `patchBucketsById()` - Update the region of an existing bucket
- `deleteBucketsById()` - Delete a bucket from the database and attempt to remove it from object storage; fails if any StorageFile records still reference this bucket.

## Storage-file

- `getStorage-files()` - /storage-files operation on storage-file resource
- `getStorage-filesBy-checksum()` - Fetch non-deleted files matching a given checksum
- `getStorage-filesById()` - /storage-files/:id operation on storage-file resource
- `getStorage-filesChildren()` - List non-deleted files whose parent_id matches the given ID
- `postStorage-files()` - Create a StorageFile tracking record; use Storage.request_upload/5 via the facade for the full two-phase upload flow with presigned URLs.
- `postStorage-filesByIdDownload-url()` - Generate a short-lived presigned download URL for a file
- `patchStorage-filesById()` - Update file metadata, tags, visibility, key, namespace, or status
- `patchStorage-filesByIdArchive()` - Archive an active file; soft-hides it from default views while preserving the S3 object
- `patchStorage-filesByIdConfirm-upload()` - Transition a pending_upload file to active after the client has uploaded to the presigned URL; optionally stamps size_bytes and checksum.
- `patchStorage-filesByIdRestore()` - Restore an archived file back to active status so it becomes accessible again.
- `patchStorage-filesByIdSoft-delete()` - Mark an active file as pending_deletion; the S3 object is deleted by PendingDeletionWorker after the grace period
- `patchStorage-filesByIdTag()` - Replace the tags list on a file
- `patchStorage-filesByIdUpdate-metadata()` - Merge new_metadata into the existing metadata map (shallow merge)

## Submission

- `getSubmissionsById()` - /submissions/:id operation on submission resource
- `patchSubmissionsByIdAdmin-correct()` - /submissions/:id/admin-correct operation on submission resource

## Support-tag

- `getSupportTagsWorkspaceByWorkspaceId()` - List all tags defined for a workspace
- `postSupportTags()` - Create a workspace-scoped ticket tag
- `deleteSupportTagsById()` - Hard-delete a tag

## Support-ticket

- `getSupportTicketsById()` - Fetch a single active ticket by ID
- `getSupportTicketsWorkspaceByWorkspaceId()` - List active tickets for a workspace, optionally filtered by status, priority, queue, or agent
- `postSupportTickets()` - Create a support ticket
- `patchSupportTicketsById()` - Update ticket fields including status (validated by ValidStatusTransition), queue assignment, SLA, and AI classification fields
- `patchSupportTicketsByIdAssign()` - Assign a ticket to an agent, setting status to :open
- `patchSupportTicketsByIdClose()` - Close a resolved ticket, ending the ticket lifecycle
- `patchSupportTicketsByIdMerge()` - Close this ticket by merging it with another ticket
- `patchSupportTicketsByIdReopen()` - Reopen a resolved or closed ticket, setting status back to :open
- `patchSupportTicketsByIdResolve()` - Mark a ticket as resolved, recording resolved_at timestamp
- `deleteSupportTicketsById()` - Soft-delete a ticket by setting deleted_at

## Support-ticket-attachment

- `getSupportTicket-attachmentsMessageByTicketMessageId()` - List all attachments for a specific ticket message
- `postSupportTicket-attachments()` - Register a file attachment on a ticket message

## Support-ticket-message

- `getSupportTicket-messagesTicketByTicketId()` - List all messages on a ticket in chronological order
- `postSupportTicket-messages()` - Add a message to a ticket thread

## Support-ticket-rating

- `postSupportTicket-ratings()` - Submit or update a CSAT rating (1-5) for a resolved ticket

## Sync-log

- `getConnectorsSync-logs()` - /connectors/sync-logs operation on sync-log resource
- `getConnectorsSync-logsById()` - /connectors/sync-logs/:id operation on sync-log resource

## Tenant-document-stats

- `getTenantsByTenantIdDocumentStats()` - /tenants/:tenant_id/document_stats operation on tenant-document-stats resource

## Tenant-stats

- `getTenantsByTenantIdStats()` - /tenants/:tenant_id/stats operation on tenant-stats resource

## Tenants

- `getTenants()` - /tenants operation on tenant resource
- `getTenantsById()` - Fetch a single tenant by its UUID
- `postTenants()` - Create a new tenant organization
- `postTenantsByIdCredit()` - Allocate credits to the tenant's liability account
- `postTenantsByIdSchedule-purge()` - Schedule an Oban job to purge all storage objects for the given tenant
- `postTenantsIsv()` - Create an ISV tenant with initial credits
- `postTenantsOrg()` - Create an organization tenant (is_personal: false)
- `postTenantsPersonal()` - Create a personal tenant for an authenticated user who has none (e.g
- `patchTenantsById()` - Update general tenant settings: name, slug, kind, branding URLs, training price,
plan tier, vanity slug, and storage spending cap
- `patchTenantsByIdArchive()` - Archive an orphan or inactive tenant
- `patchTenantsByIdAuto-top-up()` - Configure the auto top-up billing rule for this tenant
- `patchTenantsByIdBranding()` - Owner-only action to update tenant branding
- `patchTenantsByIdCancel()` - Permanently cancel a tenant.
- `patchTenantsByIdConvert-to-org()` - Convert a personal tenant to an organization
- `patchTenantsByIdDeactivate()` - Owner hides a tenant from their account
- `patchTenantsByIdReactivate()` - Owner restores a previously deactivated tenant
- `patchTenantsByIdSuspend()` - Suspend a tenant, preventing billing charges and access.
- `patchTenantsByIdTransfer-ownership()` - Transfer org ownership to an existing admin member
- `patchTenantsByIdUnsuspend()` - Restore a suspended tenant to active status.
- `deleteTenantsById()` - Permanently delete a tenant and all associated data

## Token

- `postTokens()` - Create a payment token

## Toolkit-agent-run

- `getToolkitAgent-runs()` - /toolkit/agent-runs operation on toolkit-agent-run resource
- `getToolkitAgent-runsById()` - /toolkit/agent-runs/:id operation on toolkit-agent-run resource
- `postToolkitAgent-runs()` - /toolkit/agent-runs operation on toolkit-agent-run resource
- `postToolkitAgent-runsLog()` - /toolkit/agent-runs/log operation on toolkit-agent-run resource

## Toolkit-meter-event

- `getToolkitMeter-events()` - /toolkit/meter-events operation on toolkit-meter-event resource
- `getToolkitMeter-eventsById()` - /toolkit/meter-events/:id operation on toolkit-meter-event resource

## Toolkit-model-release

- `getToolkitModel-releases()` - /toolkit/model-releases operation on toolkit-model-release resource
- `getToolkitModel-releasesById()` - /toolkit/model-releases/:id operation on toolkit-model-release resource
- `getToolkitModel-releasesModelByModelName()` - /toolkit/model-releases/model/:model_name operation on toolkit-model-release resource
- `postToolkitModel-releases()` - /toolkit/model-releases operation on toolkit-model-release resource

## Toolkit-quality-report

- `getToolkitQuality-reports()` - /toolkit/quality-reports operation on toolkit-quality-report resource
- `getToolkitQuality-reportsById()` - /toolkit/quality-reports/:id operation on toolkit-quality-report resource
- `postToolkitQuality-reports()` - /toolkit/quality-reports operation on toolkit-quality-report resource
- `postToolkitQuality-reportsSubmit()` - /toolkit/quality-reports/submit operation on toolkit-quality-report resource

## Toolkit-shadow-comparison

- `getToolkitShadow-comparisons()` - /toolkit/shadow-comparisons operation on toolkit-shadow-comparison resource
- `getToolkitShadow-comparisonsById()` - /toolkit/shadow-comparisons/:id operation on toolkit-shadow-comparison resource

## Toolkit-sync-version

- `getToolkitSync-versions()` - /toolkit/sync-versions operation on toolkit-sync-version resource
- `getToolkitSync-versionsById()` - /toolkit/sync-versions/:id operation on toolkit-sync-version resource

## Training-analytics

- `getWorkspacesAnalytics-batch()` - Get training analytics for multiple workspaces in a single request (max 50)
- `getWorkspacesByWorkspaceIdTrainingAnalytics()` - Get training analytics for a specific workspace

## Training-example

- `getTraining-examples()` - List training examples with filtering support
- `getTraining-examplesById()` - Fetch a single TrainingExample by ID.
- `postTraining-examples()` - Create a single training example (golden example for few-shot learning)
- `postTraining-examplesBulk()` - Create multiple training examples in a single transaction using `Ash.bulk_create`
- `postTraining-examplesBulk-delete()` - Delete multiple training examples by ID in a single transaction
- `postTraining-examplesSearch()` - ISV-friendly semantic search over training examples
- `patchTraining-examplesById()` - Update an existing training example's input text, expected output JSON, notes,
correction reasons, or image reference
- `deleteTraining-examplesById()` - /training-examples/:id operation on training-example resource

## Training-session

- `getTraining-sessions()` - /training-sessions operation on training-session resource
- `getTraining-sessionsAgentsByAgentIdSessions()` - /training-sessions/agents/:agent_id/sessions operation on training-session resource
- `getTraining-sessionsById()` - /training-sessions/:id operation on training-session resource
- `postTraining-sessions()` - /training-sessions operation on training-session resource
- `patchTraining-sessionsByIdRevert()` - /training-sessions/:id/revert operation on training-session resource
- `deleteTraining-sessionsById()` - /training-sessions/:id operation on training-session resource

## Transaction-history

- `getTransactions()` - Read user's transactions
- `getTransactionsById()` - Read user's transactions

## Transcription-job

- `getVoiceTranscription-jobs()` - /voice/transcription-jobs operation on transcription-job resource
- `getVoiceTranscription-jobsById()` - /voice/transcription-jobs/:id operation on transcription-job resource
- `getVoiceTranscription-jobsMine()` - /voice/transcription-jobs/mine operation on transcription-job resource
- `getVoiceTranscription-jobsWorkspaceByWorkspaceId()` - /voice/transcription-jobs/workspace/:workspace_id operation on transcription-job resource
- `postVoiceTranscription-jobs()` - /voice/transcription-jobs operation on transcription-job resource
- `deleteVoiceTranscription-jobsById()` - /voice/transcription-jobs/:id operation on transcription-job resource

## Trending-snapshot

- `getSocialTrendingHistoryById()` - /social/trending/history/:id operation on trending-snapshot resource
- `getSocialTrendingHistoryRange()` - /social/trending/history/range operation on trending-snapshot resource
- `getSocialTrendingHistoryWorkspaceByWorkspaceId()` - /social/trending/history/workspace/:workspace_id operation on trending-snapshot resource
- `postSocialTrendingHistory()` - /social/trending/history operation on trending-snapshot resource
- `deleteSocialTrendingHistoryById()` - /social/trending/history/:id operation on trending-snapshot resource

## Trending-snapshot-item

- `getSocialTrendingItemsById()` - /social/trending/items/:id operation on trending-snapshot-item resource
- `getSocialTrendingItemsSnapshotBySnapshotId()` - /social/trending/items/snapshot/:snapshot_id operation on trending-snapshot-item resource

## Trending-watch

- `getSocialTrendingWatchesById()` - /social/trending/watches/:id operation on trending-watch resource
- `getSocialTrendingWatchesWorkspaceByWorkspaceId()` - /social/trending/watches/workspace/:workspace_id operation on trending-watch resource
- `postSocialTrendingWatches()` - /social/trending/watches operation on trending-watch resource
- `patchSocialTrendingWatchesById()` - /social/trending/watches/:id operation on trending-watch resource
- `patchSocialTrendingWatchesByIdMark-triggered()` - /social/trending/watches/:id/mark-triggered operation on trending-watch resource
- `deleteSocialTrendingWatchesById()` - /social/trending/watches/:id operation on trending-watch resource

## User-preference

- `getPreferences()` - List all preferences for the current user in the current workspace
- `getPreferencesByKey()` - Get preference by context_key for the current user
- `postPreferencesUpsert()` - Create or replace a user preference by context_key
- `deletePreferencesByKey()` - Delete a preference by context_key for the current user

## User-profile

- `getUser-profiles()` - /user-profiles operation on user-profile resource
- `getUser-profilesById()` - /user-profiles/:id operation on user-profile resource
- `getUser-profilesMe()` - Get the current user's profile
- `postUser-profiles()` - Create a user profile record linked to an existing user
- `patchUser-profilesById()` - Update the user's display profile fields: name, avatar, bio, social links, and
raw preferences map
- `patchUser-profilesByIdAccept-legal-document()` - Accept a legal document (Terms of Service, Privacy Policy, BAA, etc.) at
a given version
- `patchUser-profilesByIdDismiss-announcement()` - Dismiss announcement - merges with existing preferences
- `patchUser-profilesByIdDismiss-welcome()` - Dismiss welcome message - merges with existing preferences
- `deleteUser-profilesById()` - /user-profiles/:id operation on user-profile resource

## Users

- `getUsers()` - /users operation on user resource
- `getUsersBy-email()` - Look up a single user by their email address (case-insensitive)
- `getUsersById()` - /users/:id operation on user resource
- `getUsersMe()` - Get the currently authenticated user
- `getUsersMeActivity()` - Get activity feed for the user's tenant context
- `getUsersMeDashboard()` - Get dashboard data for the user's tenant context
- `getUsersMeStats()` - Get stats for the user's tenant context
- `getUsersMeTenants()` - List all tenants the current user belongs to with their roles and permissions
- `postUsersAuthConfirm()` - Confirm a user's email address using a confirmation token
- `postUsersAuthLogin()` - Attempt to sign in using a username and password.
- `postUsersAuthMagic-linkLogin()` - /users/auth/magic-link/login operation on user resource
- `postUsersAuthPassword-resetRequest()` - Public action for users to request a password reset email
- `postUsersAuthRegister()` - Register a new user account with email and password
- `postUsersAuthRegister-via-invitation()` - Register a new user via invitation — skips personal tenant creation
- `postUsersAuthRegister-with-oidc()` - Register or sign in a user via an OAuth/OIDC provider (Google, GitHub, Salesforce,
Microsoft)
- `postUsersAuthResend-confirmation()` - Resend confirmation email to an unconfirmed user
- `postUsersRegister-isv()` - Platform Admin action to register a new ISV (User + Tenant + App)
- `patchUsersAuthOauthLink()` - Explicitly link an OAuth provider to an existing user
- `patchUsersAuthOauthUnlink()` - Unlink an OAuth provider from a user
- `patchUsersAuthPasswordChange()` - Change password for authenticated user with current password verification
- `patchUsersAuthSessionsRevoke-all()` - Destroy every refresh token for the current user
- `patchUsersById()` - Update user preferences (currently theme_preference)
- `patchUsersByIdConfirm-email()` - Admin manually confirms user's email
- `patchUsersByIdEmail()` - Admin-only email update
- `patchUsersByIdReset-password()` - Admin triggers password reset email for user
- `deleteUsersById()` - Permanently delete a user account

## Voice-recording

- `getVoiceRecordings()` - /voice/recordings operation on voice-recording resource
- `getVoiceRecordingsById()` - /voice/recordings/:id operation on voice-recording resource
- `getVoiceRecordingsSessionBySessionId()` - List recordings for a specific voice session

## Voice-session

- `getVoiceSessions()` - /voice/sessions operation on voice-session resource
- `getVoiceSessionsById()` - /voice/sessions/:id operation on voice-session resource
- `getVoiceSessionsMine()` - List current user's voice sessions
- `getVoiceSessionsWorkspaceByWorkspaceId()` - List all voice sessions in a workspace (ISV admin)
- `postVoiceSessions()` - Start a new voice session with LiveKit room provisioning
- `patchVoiceSessionsByIdFinalize()` - Dispatch accumulated transcript to the blueprint/chat pipeline
- `patchVoiceSessionsByIdStop()` - End a voice session and release the LiveKit room
- `deleteVoiceSessionsById()` - /voice/sessions/:id operation on voice-session resource

## Voice-transcription-result

- `getVoiceTranscription-results()` - /voice/transcription-results operation on voice-transcription-result resource
- `getVoiceTranscription-resultsById()` - /voice/transcription-results/:id operation on voice-transcription-result resource
- `getVoiceTranscription-resultsSessionBySessionId()` - List transcription results for a voice session
- `postVoiceTranscription-results()` - /voice/transcription-results operation on voice-transcription-result resource
- `patchVoiceTranscription-resultsById()` - Correct or annotate a transcript's text, segments, or metadata.
- `deleteVoiceTranscription-resultsById()` - /voice/transcription-results/:id operation on voice-transcription-result resource

## Wallet-public

- `getWallet()` - Reads the wallet for the current tenant
- `getWalletForecast()` - Credit usage forecast — burn rate and projected exhaustion date
- `getWalletPlanPreview()` - Preview the cost and effective date of a plan change
- `patchWalletAddons()` - Purchase an add-on for the wallet
- `patchWalletAddonsByAddonSlugCancel()` - Cancel an add-on for the wallet
- `patchWalletAuto-top-up()` - Update auto-top-up settings
- `patchWalletCredits()` - Purchase credits (Top-up)
- `patchWalletPaymentRetry()` - Retry a failed subscription payment
- `patchWalletPlan()` - Change the main plan for the wallet
- `patchWalletPlanCancel()` - Cancel the current subscription plan

## Watcher-claim

- `getWatcherClaims()` - List claims for a workspace, optionally filtering by one or more statuses (e.g., [:claimed, :processing])
- `getWatcherClaimsById()` - Paginate all ingestion claims; use by_workspace to scope to a specific workspace and filter by status.
- `getWatcherClaimsHistory()` - Check if a file hash was already processed in this workspace
- `getWatcherClaimsStatus()` - Get ingestion status for a workspace
- `postWatcherClaims()` - Atomically claim a detected file for processing; returns {claimed: true, claim: ...} on success or {claimed: false, existing: ...} if another machine already holds the claim.
- `patchWatcherClaimsById()` - Advance a claim through the state machine (claimed → processing → completed/failed); stamps completed_at when transitioning to :completed
- `patchWatcherClaimsByIdRelease()` - Release a claim by setting its status to :expired, allowing another machine to re-claim the file on the next poll cycle.
- `patchWatcherClaimsByIdRetry()` - Re-open a terminal claim (completed/failed/expired/document_deleted) for re-processing; increments retry_count unless reset_retry_count is true

## Watcher-event

- `getWatcherEvents()` - List ingestion events for a workspace, optionally filtered by event_type, machine_id, or a since timestamp
- `getWatcherEventsById()` - Fetch a single ingestion event by ID; use the :list action to query events by workspace, type, machine, or time range.
- `postWatcherEvents()` - Create multiple events in batch

## Workspace-agent-config

- `getWorkspace-agent-configs()` - /workspace-agent-configs operation on workspace-agent-config resource
- `getWorkspace-agent-configsById()` - /workspace-agent-configs/:id operation on workspace-agent-config resource
- `postWorkspace-agent-configs()` - /workspace-agent-configs operation on workspace-agent-config resource
- `patchWorkspace-agent-configsById()` - /workspace-agent-configs/:id operation on workspace-agent-config resource
- `deleteWorkspace-agent-configsById()` - /workspace-agent-configs/:id operation on workspace-agent-config resource

## Workspace-document-stats

- `getTenantsByTenantIdWorkspaceStats()` - /tenants/:tenant_id/workspace_stats operation on workspace-document-stats resource

## Workspace-form-config

- `getWorkspace-form-configs()` - /workspace-form-configs operation on workspace-form-config resource
- `getWorkspace-form-configsById()` - /workspace-form-configs/:id operation on workspace-form-config resource
- `postWorkspace-form-configs()` - /workspace-form-configs operation on workspace-form-config resource
- `patchWorkspace-form-configsById()` - /workspace-form-configs/:id operation on workspace-form-config resource
- `deleteWorkspace-form-configsById()` - /workspace-form-configs/:id operation on workspace-form-config resource

## Workspace-preference

- `getWorkspace-preferences()` - List all workspace preferences, optionally filtered by prefix
- `getWorkspace-preferencesByKey()` - Get workspace preference by context_key
- `postWorkspace-preferencesUpsert()` - Create or replace a workspace preference by context_key
- `deleteWorkspace-preferencesById()` - /workspace-preferences/:id operation on workspace-preference resource

## Workspaces

- `getWorkspaces()` - List workspaces visible to the actor
- `getWorkspacesById()` - Fetch a single workspace by its primary key
- `getWorkspacesMine()` - List all workspaces where the authenticated user has a direct workspace membership
- `getWorkspacesShared()` - Workspaces where user has membership but NOT tenant membership (shared from external orgs)
- `postWorkspaces()` - Create a new workspace under a tenant
- `patchWorkspacesById()` - Update workspace metadata and settings
- `patchWorkspacesByIdAllocate()` - Transfer credits from the tenant's liability account to this workspace's
liability account
- `patchWorkspacesByIdGo-live()` - Set workspace status to :active (bring live)
- `patchWorkspacesByIdPopulate-hashes()` - Enqueue a background job to populate file hashes for documents missing them
- `patchWorkspacesByIdStorage-settings()` - Update workspace storage settings - tenant admin/owner only
- `patchWorkspacesByIdTake-offline()` - Set workspace status to :suspended (take offline)
- `deleteWorkspacesById()` - Soft-delete a workspace by setting archived_at to the current timestamp

## Portal — Authentication

- `portal.auth.requestMagicLink(email, tenantId)` - Request a magic link email for portal login
- `portal.auth.verifyMagicLink(magicToken)` - Verify a magic link token and get auth tokens
- `portal.auth.verify(token)` - Verify an invitation token and get auth tokens
- `portal.auth.login(email, password, tenantId)` - Login with email and password
- `portal.auth.refresh(refreshToken)` - Refresh an expired access token

## Portal — Profile

- `portal.profile.get()` - Get the current portal user's profile (includes linked CRM contact)
- `portal.profile.update(params)` - Update portal user account settings (avatar_url, locale, timezone, notification_preferences)

## Portal — Notifications

- `portal.notifications.list()` - List all notifications for the current portal user
- `portal.notifications.markRead(id)` - Mark a notification as read

## Portal — Change Requests

- `portal.changeRequests.create(fieldName, newValue, oldValue?)` - Submit a profile change request
- `portal.changeRequests.list()` - List all change requests for the current portal user

## Portal — Threads

- `portal.threads.list()` - List all chat threads for the current portal user
- `portal.threads.create(title?)` - Create a new chat thread
- `portal.threads.get(id)` - Get a chat thread by ID (includes messages)
- `portal.threads.sendMessage(threadId, message)` - Send a message in a thread and get the AI response

## Behavioral Notes

### Email confirmation methods (`:link` vs `:code`, SF Plugin A1)

The platform supports two delivery shapes for verification + invitation emails:

- **`link` (default)**: email contains a click-through URL anchored on the
  Application's `base_url`. Web ISVs use this; tokens are long, opaque, and
  cryptographically signed.
- **`code`**: email contains a 6-character paste-able alphanumeric code from
  the visually unambiguous alphabet (`A-Z + 2-9`, excluding `I O 0 1 L`). Used
  by ISVs without a hosted website (e.g., Salesforce plugin, future mobile
  apps). Lockout: 5 wrong codes per email/path → 15-minute soft lockout.

#### Configuring per-Application

Read `application.system_email_method` (`"link"` or `"code"`) from the
result of `admin.applications.getCurrent()` to see the resolved default.
Update via `admin.applications.update(id, { system_email_method: "code" })`.

#### Per-call overrides

- `client.identity.register(email, pw, pw, tenantName, { confirmation_method: "code" })`
  forces the verification email for this single registration to use `:code`,
  overriding the Application default.
- `admin.invitations.create({ ..., email_method: "code" })` forces the
  invitation email for this single invitation to use `:code`, overriding the
  Application default.

#### Confirming a code

`client.identity.confirmEmail(email, code)` accepts either the long token
(from a link-mode email) or the 6-character short code. Throws
`ApiError` with `err.code === "code_invalid"` (HTTP 401), `"code_expired"`
(HTTP 401), or `"too_many_attempts"` (HTTP 429, `meta.locked_until` carries
the unlock time).

#### Accepting a short-code invitation

`admin.invitations.acceptByToken(tokenOrCode, email?)` accepts both shapes.
**`email` is required when the first argument is a 6-character short code.**
Same error envelope as `confirmEmail`.

### Payments & Tokenization (platform-brokered)

**The hard rule:** the platform brokers every byte of payment-gateway traffic.
Browsers never speak to a payment gateway in any environment. There is no
gateway-hosted iframe, no gateway JS SDK loaded in any browser, no direct
browser→gateway `fetch`/`XHR`, and no "checkout redirect" surface. The
underlying gateway (QorPay, Stripe, or whatever the Application has
configured) is an implementation detail that does **not** appear in client
code. `application.payment_provider` is a server-side routing key only —
do not branch on it client-side.

#### The three legitimate surfaces

| Path | Function / Surface | Where it runs |
|---|---|---|
| **A. Server-side raw-card tokenization** | `client.billing.paymentMethods.tokenize(cardDetails)` | Trusted server only (Node.js / BFF). Transmits raw PAN + CVC over TLS. Calling from a browser is a PCI-DSS violation. |
| **B. Save a pre-tokenized method** | `client.billing.paymentMethods.create({ provider_token, ... })` | Trusted server, or browser if the token came from a trusted server first. The token is the **platform's**, not the gateway's. |
| **C. Forms `payment_widget`** | `<gpt-form>` (or `@gpt-platform/forms-react` / `-vue` / `-svelte` / `-angular` / `-solid`) embedding a `FormPublication` that contains a `payment_widget` field. | Browser. The toolkit auto-mounts a **platform-served** compliance iframe at `FORMS_IFRAME_HOST`. The PAN never enters the ISV's document, so the ISV's app stays out of PCI-DSS scope. |

Path **C** is the recommended path for any **user-facing** form that
collects sensitive data (cards, signatures, PHI fields, secrets). ISVs MUST
NOT roll their own form for sensitive fields — the platform Forms domain
exists precisely for this.

#### Anti-patterns (do not do these)

- ❌ Loading a gateway's JS SDK (Stripe.js, QorPay JS, etc.) on any browser page.
- ❌ Embedding a **gateway-hosted** iframe (Stripe Elements, QorPay Hosted Fields).
- ❌ Reading `application.payment_provider` in the browser to pick a widget. It is server-side routing config only.
- ❌ Calling `paymentMethods.tokenize()` from a React component or browser `fetch` — raw PAN crosses the browser boundary.
- ❌ Expecting a "checkout redirect" or "complete payment on gateway domain" flow. None exists.
- ❌ Posting a token minted directly by a gateway into `provider_token`. The token MUST come from the platform's tokenize endpoint.
- ❌ Building a custom `<input>` for card data on your page. Use `<gpt-form>` with a `payment_widget` instead — protection-class enforcement at FormVersion save will reject anything else.

#### Charging a saved method

Once a `PaymentMethod` is saved, charges are initiated by the **platform**
server-side (subscription renewals, `client.billing.wallet.buyCredits()`,
auto top-up, dunning retries). ISVs trigger these flows by calling platform
endpoints; they never construct gateway charge requests directly.

For full detail (decision guide, three-tier pricing, settlement model):
`docs/guides/isv-billing-and-credits.md#payments--tokenization`. Forms
embed contract: `docs/sdk/forms-csp.md` + `docs/sdk/forms-headless-quickstart.md`.

## Error Handling

Namespace methods throw on HTTP errors. Use try/catch:

```typescript
try {
  const agents = await client.agents.list();
  console.log(agents);
} catch (error) {
  console.error(error.status, error.detail);
}
```

## Types

All types are exported:

```typescript
import type { Agent, Workspace } from '@gpt-platform/client';
// Per-namespace type imports (faster type resolution):
import type { CreateAgentAttributes } from '@gpt-platform/client/agents';
```
