{"openapi":"3.1.0","info":{"title":"Stuut API","termsOfService":"https://stuut.ai/terms-and-conditions","contact":{"name":"Stuut","url":"https://stuut.ai/","email":"devs@stuut.co"},"version":"2.0.0"},"paths":{"/v2/aether/chats":{"post":{"tags":["aether","chats"],"summary":"Create a new chat session","description":"Creates an empty Aether chat for the calling user and returns its session\nID. Send messages to it via `POST /v2/aether/chats/{chat_id}`.","operationId":"PostAetherChats","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Postaetherchats"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"aether.chats","x-speakeasy-name-override":"create"}},"/v2/aether/chats/{chat_id}":{"post":{"tags":["aether","chats"],"summary":"Send a message to a chat session","description":"Streams the agent's response back as Vercel AI SDK data-stream (SSE)\nevents. File parts referencing uploaded files are resolved and passed to\nthe agent as media.","operationId":"PostAetherChatsChatId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"text/event-stream":{"schema":{"$ref":"#/components/schemas/ChatStream"},"x-speakeasy-sse-sentinel":"[DONE]"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.chats","x-speakeasy-name-override":"sendMessage"}},"/v2/aether/chats/{chat_id}/messages":{"get":{"tags":["aether","chats"],"summary":"Load messages for an existing chat session","description":"Returns the 50 most recent messages in chronological order, including any\nfile parts attached to each message.","operationId":"GetAetherChatsChatIdMessages","security":[{"HTTPBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UIMessage"},"title":"Response Getaetherchatschatidmessages"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.chats","x-speakeasy-name-override":"getMessages"}},"/v2/aether/playbook/knowledge":{"post":{"tags":["aether"],"summary":"Create a knowledge article","description":"Creates a playbook knowledge article in the given collection, optionally\nscoped to a customer or segment.","operationId":"PostAetherPlaybookKnowledge","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKnowledgeInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Knowledge"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.playbook.knowledge","x-speakeasy-name-override":"create"},"get":{"tags":["aether"],"summary":"List or search knowledge articles","description":"Returns articles filtered by collection, customer, or segment. When\n`query` is provided, performs a semantic search and returns the closest\nmatches.","operationId":"GetAetherPlaybookKnowledge","security":[{"HTTPBearer":[]}],"parameters":[{"name":"query","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","description":"Search query; when set, performs semantic search"},"description":"Search query; when set, performs semantic search"},{"name":"collection","in":"query","required":false,"schema":{"anyOf":[{"enum":["cash_application","collections","company","credit_risk","deductions","disputes","payments"],"type":"string","x-speakeasy-enum-format":"union"},{"type":"array","items":{"enum":["cash_application","collections","company","credit_risk","deductions","disputes","payments"],"type":"string","x-speakeasy-enum-format":"union"}},{"type":"null"}],"title":"Collection","description":"Filter by a single collection or a list of collections"},"description":"Filter by a single collection or a list of collections"},{"name":"customer_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Id","description":"Filter to a customer scope"},"description":"Filter to a customer scope"},{"name":"segment_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Id","description":"Filter to a segment scope"},"description":"Filter to a segment scope"},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit","description":"Max results when searching"},"description":"Max results when searching"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Knowledge"},"title":"Response Getaetherplaybookknowledge"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.playbook.knowledge","x-speakeasy-name-override":"list"}},"/v2/aether/playbook/knowledge/{article_id}":{"get":{"tags":["aether"],"summary":"Get a knowledge article","description":"Returns the article by ID, or 404 if it does not exist.","operationId":"GetAetherPlaybookKnowledgeArticleId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"article_id","in":"path","required":true,"schema":{"type":"string","title":"Article Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Knowledge"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.playbook.knowledge","x-speakeasy-name-override":"get"},"patch":{"tags":["aether"],"summary":"Update a knowledge article","description":"Providing `content` creates a new revision (optionally with an updated\ntitle or description); `collection` alone moves the article. Title or\ndescription changes require `content` to be sent as well.","operationId":"PatchAetherPlaybookKnowledgeArticleId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"article_id","in":"path","required":true,"schema":{"type":"string","title":"Article Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateKnowledgeInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Knowledge"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.playbook.knowledge","x-speakeasy-name-override":"update"},"delete":{"tags":["aether"],"summary":"Archive a knowledge article","description":"Soft-deletes the article so it no longer appears in listings or search\nresults.","operationId":"DeleteAetherPlaybookKnowledgeArticleId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"article_id","in":"path","required":true,"schema":{"type":"string","title":"Article Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.playbook.knowledge","x-speakeasy-name-override":"archive"}},"/v2/aether/playbook/knowledge/{article_id}/delete":{"delete":{"tags":["aether"],"summary":"Permanently delete a knowledge article","description":"Removes the article row (and its versions) entirely, unlike archive which\nsoft-deletes it.","operationId":"DeleteAetherPlaybookKnowledgeArticleIdDelete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"article_id","in":"path","required":true,"schema":{"type":"string","title":"Article Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.playbook.knowledge","x-speakeasy-name-override":"delete"}},"/v2/aether/playbook/knowledge/{article_id}/versions":{"get":{"tags":["aether"],"summary":"List versions of a knowledge article","description":"Returns the article's revision history, one entry per saved version.","operationId":"GetAetherPlaybookKnowledgeArticleIdVersions","security":[{"HTTPBearer":[]}],"parameters":[{"name":"article_id","in":"path","required":true,"schema":{"type":"string","title":"Article Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KnowledgeVersion"},"title":"Response Getaetherplaybookknowledgearticleidversions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.playbook.knowledge","x-speakeasy-name-override":"listVersions"}},"/v2/aether/playbook/knowledge/{article_id}/proposals":{"get":{"tags":["aether"],"summary":"List proposals for a knowledge article","description":"Returns the change proposals that target the article.","operationId":"GetAetherPlaybookKnowledgeArticleIdProposals","security":[{"HTTPBearer":[]}],"parameters":[{"name":"article_id","in":"path","required":true,"schema":{"type":"string","title":"Article Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KnowledgeProposal"},"title":"Response Getaetherplaybookknowledgearticleidproposals"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.playbook.knowledge","x-speakeasy-name-override":"listProposals"}},"/v2/aether/playbook/knowledge/{article_id}/evidence":{"get":{"tags":["aether"],"summary":"List evidence for a knowledge article","description":"Returns the evidence records linked to the article — the sources that\nsupport its content.","operationId":"GetAetherPlaybookKnowledgeArticleIdEvidence","security":[{"HTTPBearer":[]}],"parameters":[{"name":"article_id","in":"path","required":true,"schema":{"type":"string","title":"Article Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KnowledgeEvidence"},"title":"Response Getaetherplaybookknowledgearticleidevidence"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.playbook.knowledge","x-speakeasy-name-override":"listEvidence"}},"/v2/aether/playbook/proposals":{"get":{"tags":["aether"],"summary":"List knowledge proposals","description":"Returns proposals across the playbook, optionally filtered by status and\ncollection.","operationId":"GetAetherPlaybookProposals","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ProposalStatus"},{"type":"null"}],"title":"Status"}},{"name":"collection","in":"query","required":false,"schema":{"anyOf":[{"enum":["cash_application","collections","company","credit_risk","deductions","disputes","payments"],"type":"string","x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"Collection"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KnowledgeProposal"},"title":"Response Getaetherplaybookproposals"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.playbook.proposals","x-speakeasy-name-override":"list"}},"/v2/aether/playbook/proposals/{proposal_id}":{"get":{"tags":["aether"],"summary":"Get a knowledge proposal","description":"Returns the proposal by ID, or 404 if it does not exist.","operationId":"GetAetherPlaybookProposalsProposalId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"proposal_id","in":"path","required":true,"schema":{"type":"string","title":"Proposal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeProposal"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.playbook.proposals","x-speakeasy-name-override":"get"}},"/v2/aether/playbook/proposals/{proposal_id}/approve":{"post":{"tags":["aether"],"summary":"Approve a knowledge proposal","description":"Applies the proposed change to the playbook and records the reviewer and\nreview notes.","operationId":"PostAetherPlaybookProposalsProposalIdApprove","security":[{"HTTPBearer":[]}],"parameters":[{"name":"proposal_id","in":"path","required":true,"schema":{"type":"string","title":"Proposal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveRejectInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeProposal"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.playbook.proposals","x-speakeasy-name-override":"approve"}},"/v2/aether/playbook/proposals/{proposal_id}/reject":{"post":{"tags":["aether"],"summary":"Reject a knowledge proposal","description":"Marks the proposal as rejected and records the reviewer and review notes.","operationId":"PostAetherPlaybookProposalsProposalIdReject","security":[{"HTTPBearer":[]}],"parameters":[{"name":"proposal_id","in":"path","required":true,"schema":{"type":"string","title":"Proposal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveRejectInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeProposal"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.playbook.proposals","x-speakeasy-name-override":"reject"}},"/v2/aether/playbook/extractions":{"post":{"tags":["aether"],"summary":"Create a playbook extraction","description":"Starts extracting knowledge from an uploaded file into the given\ncollection.","operationId":"PostAetherPlaybookExtractions","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateExtractionInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaybookExtraction"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.playbook.extractions","x-speakeasy-name-override":"create"},"get":{"tags":["aether"],"summary":"List playbook extractions","description":"Returns extractions, optionally filtered by status.","operationId":"GetAetherPlaybookExtractions","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/PlaybookExtractionStatus"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PlaybookExtraction"},"title":"Response Getaetherplaybookextractions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.playbook.extractions","x-speakeasy-name-override":"list"}},"/v2/aether/playbook/extractions/{extraction_id}":{"get":{"tags":["aether"],"summary":"Get a playbook extraction","description":"Returns the extraction by ID, or 404 if it does not exist.","operationId":"GetAetherPlaybookExtractionsExtractionId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"extraction_id","in":"path","required":true,"schema":{"type":"string","title":"Extraction Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaybookExtraction"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"aether.playbook.extractions","x-speakeasy-name-override":"get"}},"/v2/aether/playbook/stats":{"get":{"tags":["aether"],"summary":"Get playbook statistics","description":"Returns aggregate counts across knowledge articles, proposals, and\nextractions.","operationId":"GetAetherPlaybookStats","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaybookStats"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"aether.playbook","x-speakeasy-name-override":"getStats"}},"/v2/aether/playbook/plan":{"post":{"tags":["aether"],"summary":"Generate a playbook plan","description":"Streams the planning agent's response as Vercel AI SDK data-stream (SSE)\nevents, ending with the structured plan result.","operationId":"PostAetherPlaybookPlan","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePlanInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"text/event-stream":{"schema":{"$ref":"#/components/schemas/ChatStream"},"x-speakeasy-sse-sentinel":"[DONE]"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"aether.playbook","x-speakeasy-name-override":"createPlan"}},"/v2/aether/files":{"post":{"tags":["aether"],"summary":"Create File","description":"Create a file record and return a presigned upload URL.","operationId":"PostAetherFiles","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFileBody"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/stuut__api_service__v2__routers__aether__schemas__file__File"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"aether.files","x-speakeasy-name-override":"create"}},"/v2/adjustments":{"get":{"tags":["adjustments"],"summary":"List Adjustments","description":"List Adjustments\n\nList all adjustments for the organization.\nReturns both system-created and custom adjustments.\nCan be filtered by is_active status.","operationId":"GetAdjustments","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["name","created_at"],"type":"string","x-speakeasy-enum-format":"union","title":"Sort By","default":"name"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","title":"","default":"asc"}},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active","description":"Filter by active status. If true, returns only active adjustments; if false, returns only inactive adjustments."},"description":"Filter by active status. If true, returns only active adjustments; if false, returns only inactive adjustments."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_Adjustment_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"},"post":{"tags":["adjustments"],"summary":"Create","description":"Create an Adjustment\n\nCreate a custom adjustment.\nSystem adjustments are created automatically and cannot be created via API.","operationId":"PostAdjustments","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAdjustmentRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Adjustment"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"create"}},"/v2/adjustments/{adjustment_id}":{"get":{"tags":["adjustments"],"summary":"Get","description":"Get an Adjustment\n\nGet a specific adjustment by ID.","operationId":"GetAdjustmentsAdjustmentId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"adjustment_id","in":"path","required":true,"schema":{"type":"string","title":"Adjustment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Adjustment"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"},"patch":{"tags":["adjustments"],"summary":"Update","description":"Update an Adjustment\n\nUpdate an adjustment.\nSystem adjustments can be renamed and have ledger accounts configured,\nbut cannot be deleted (only deactivated via is_active=false).","operationId":"PatchAdjustmentsAdjustmentId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"adjustment_id","in":"path","required":true,"schema":{"type":"string","title":"Adjustment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAdjustmentRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Adjustment"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"update"},"delete":{"tags":["adjustments"],"summary":"Delete","description":"Delete an Adjustment\n\nDelete an adjustment.\n\nSystem adjustments cannot be deleted - they must be deactivated using is_active=false.\nAdjustments in use by payment allocations cannot be deleted due to foreign key constraints.","operationId":"DeleteAdjustmentsAdjustmentId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"adjustment_id","in":"path","required":true,"schema":{"type":"string","title":"Adjustment Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"delete"}},"/v2/analytics/dashboard":{"get":{"tags":["analytics"],"summary":"Get Dashboard Endpoint","description":"Get combined dashboard data for homepage","operationId":"GetAnalyticsDashboard","security":[{"HTTPBearer":[]}],"parameters":[{"name":"assignee_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Assignee Ids","description":"Filter by specific assignee IDs."},"description":"Filter by specific assignee IDs."},{"name":"business_unit_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Business Unit Id  In","description":"Filter by business unit IDs"},"description":"Filter by business unit IDs"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getDashboard"}},"/v2/analytics/tasks/calendar":{"get":{"tags":["analytics"],"summary":"Get Task Calendar Endpoint","description":"Get calendar data for a specific week (navigable).","operationId":"GetAnalyticsTasksCalendar","security":[{"HTTPBearer":[]}],"parameters":[{"name":"week_start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Week Start","description":"Start of the week (YYYY-MM-DD). Defaults to current week Monday."},"description":"Start of the week (YYYY-MM-DD). Defaults to current week Monday."},{"name":"assignee_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Assignee Ids","description":"Filter by specific assignee IDs."},"description":"Filter by specific assignee IDs."},{"name":"business_unit_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Business Unit Id  In","description":"Filter by business unit IDs"},"description":"Filter by business unit IDs"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCalendarResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getTaskCalendar"}},"/v2/analytics/tasks/dashboard":{"get":{"tags":["analytics"],"summary":"Get Task Dashboard Endpoint","description":"Get task dashboard data including weekly progress, action groups, and charts.","operationId":"GetAnalyticsTasksDashboard","security":[{"HTTPBearer":[]}],"parameters":[{"name":"assignee_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Assignee Ids","description":"Filter by specific assignee IDs."},"description":"Filter by specific assignee IDs."},{"name":"business_unit_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Business Unit Id  In","description":"Filter by business unit IDs"},"description":"Filter by business unit IDs"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskDashboardResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getTaskDashboard"}},"/v2/analytics/bank-transactions":{"get":{"tags":["analytics"],"summary":"Get Bank Transaction Metrics Endpoint","description":"Get bank transaction metrics by allocation status.","operationId":"GetAnalyticsBankTransactions","security":[{"HTTPBearer":[]}],"parameters":[{"name":"bank_account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bank Account Id","description":"Bank account ID to filter by"},"description":"Bank account ID to filter by"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Date","description":"Start date filter, inclusive (YYYY-MM-DD)"},"description":"Start date filter, inclusive (YYYY-MM-DD)"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Date","description":"End date filter, inclusive (YYYY-MM-DD)"},"description":"End date filter, inclusive (YYYY-MM-DD)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTransactionMetricsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getBankTransactionMetrics"}},"/v2/analytics/cash-app/automation":{"get":{"tags":["analytics"],"summary":"Get Cash App Automation Metrics Endpoint","description":"Get cash app automation metrics for payment allocations.","operationId":"GetAnalyticsCashAppAutomation","security":[{"HTTPBearer":[]}],"parameters":[{"name":"bank_account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bank Account Id","description":"Bank account ID to filter by"},"description":"Bank account ID to filter by"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Date","description":"Start date (YYYY-MM-DD). Defaults to 7 days ago."},"description":"Start date (YYYY-MM-DD). Defaults to 7 days ago."},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Date","description":"End date (YYYY-MM-DD). Defaults to today."},"description":"End date (YYYY-MM-DD). Defaults to today."},{"name":"group_by","in":"query","required":false,"schema":{"enum":["day","week","month"],"type":"string","x-speakeasy-enum-format":"union","title":"Group By","description":"Group automation metrics by day, week, or month","default":"day"},"description":"Group automation metrics by day, week, or month"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashAppAutomationListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getCashAppAutomationMetrics"}},"/v2/analytics/cash-app/reconciliation":{"get":{"tags":["analytics"],"summary":"Get Cash App Reconciliation Metrics Endpoint","description":"Get cash app reconciliation metrics showing AR deposits vs reconciled by time period.","operationId":"GetAnalyticsCashAppReconciliation","security":[{"HTTPBearer":[]}],"parameters":[{"name":"bank_account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bank Account Id","description":"Bank account ID to filter by"},"description":"Bank account ID to filter by"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Date","description":"Start date (YYYY-MM-DD). Defaults to 7 days ago."},"description":"Start date (YYYY-MM-DD). Defaults to 7 days ago."},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Date","description":"End date (YYYY-MM-DD). Defaults to today."},"description":"End date (YYYY-MM-DD). Defaults to today."},{"name":"group_by","in":"query","required":false,"schema":{"enum":["day","week","month"],"type":"string","x-speakeasy-enum-format":"union","title":"Group By","description":"Group reconciliation metrics by day, week, or month","default":"day"},"description":"Group reconciliation metrics by day, week, or month"},{"name":"include_handled_outside","in":"query","required":false,"schema":{"type":"boolean","title":"Include Handled Outside","description":"Include amounts handled outside Stuut as a separate bucket. Defaults to true.","default":true},"description":"Include amounts handled outside Stuut as a separate bucket. Defaults to true."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashAppReconciliationListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getCashAppReconciliationMetrics"}},"/v2/analytics/cash-app/deposit-summary":{"get":{"tags":["analytics"],"summary":"Get Cash App Deposit Summary Endpoint","description":"Get deposit activity per bank account for a day or date range.","operationId":"GetAnalyticsCashAppDepositSummary","security":[{"HTTPBearer":[]}],"parameters":[{"name":"bank_account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bank Account Id","description":"Bank account ID to filter by"},"description":"Bank account ID to filter by"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Date","description":"Start date, inclusive (YYYY-MM-DD). Must be supplied together with end_date. When both are omitted, defaults to the most recent day on which a deposit was received."},"description":"Start date, inclusive (YYYY-MM-DD). Must be supplied together with end_date. When both are omitted, defaults to the most recent day on which a deposit was received."},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Date","description":"End date, inclusive (YYYY-MM-DD). Must be supplied together with start_date."},"description":"End date, inclusive (YYYY-MM-DD). Must be supplied together with start_date."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashAppDepositSummaryListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getCashAppDepositSummary"}},"/v2/analytics/collections/summary-by-customer":{"get":{"tags":["analytics"],"summary":"Get Collections Summary By Customer Endpoint","description":"Get collections summary metrics grouped by customer.","operationId":"GetAnalyticsCollectionsSummaryByCustomer","security":[{"HTTPBearer":[]}],"parameters":[{"name":"interval","in":"query","required":false,"schema":{"enum":["weekly","monthly","all"],"type":"string","x-speakeasy-enum-format":"union","title":"Interval","description":"Time interval for grouping data.","default":"monthly"},"description":"Time interval for grouping data."},{"name":"business_unit_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Business Unit Id  In","description":"Filter by business unit IDs"},"description":"Filter by business unit IDs"},{"name":"partner_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partner Id","description":"Scope to one customer instead of every customer in the org."},"description":"Scope to one customer instead of every customer in the org."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CollectionsSummaryByCustomerResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getCollectionsSummaryByCustomer"}},"/v2/analytics/disputes/resolution":{"get":{"tags":["analytics"],"summary":"Get Dispute Resolution Endpoint","description":"Get dispute resolution analytics with time and count breakdown by reason code.","operationId":"GetAnalyticsDisputesResolution","security":[{"HTTPBearer":[]}],"parameters":[{"name":"interval","in":"query","required":false,"schema":{"enum":["weekly","monthly","all"],"type":"string","x-speakeasy-enum-format":"union","title":"Interval","description":"Time interval for grouping data.","default":"monthly"},"description":"Time interval for grouping data."},{"name":"business_unit_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Business Unit Id  In","description":"Filter by business unit IDs"},"description":"Filter by business unit IDs"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisputeResolutionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getDisputeResolution"}},"/v2/analytics/invoice-balance-summary":{"get":{"tags":["analytics"],"summary":"Get Invoice Balance Summary Endpoint","description":"Get invoice balance summary with forex-converted amounts.","operationId":"GetAnalyticsInvoiceBalanceSummary","security":[{"HTTPBearer":[]}],"parameters":[{"name":"business_unit_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Business Unit Id  In","description":"Filter by business unit IDs"},"description":"Filter by business unit IDs"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceBalanceSummaryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getInvoiceBalanceSummary"}},"/v2/analytics/predicted-overdue":{"post":{"tags":["analytics"],"summary":"Get Predicted Overdue Endpoint","description":"AMETEK AR-1 'naughty list': customers whose aged-overdue LC balance trips any of the supplied tier rules at the selected as-of date. On-demand (POST) because the query scans all open invoices.","operationId":"PostAnalyticsPredictedOverdue","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictedOverdueRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictedOverdueResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"getPredictedOverdue"}},"/v2/ap-portals":{"get":{"tags":["ap-portals"],"summary":"List Portals","description":"List portals\n\nPaginated AP-portal configs for the org, each tying one customer partner to a login.\nFilter by ``partner_id`` for one customer's portals or ``ap_portal_account_id`` for\none login's.","operationId":"GetApPortals","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"partner_id","in":"query","required":false,"schema":{"type":"string","title":"Partner Id","description":"Restrict to the portals of one customer partner."},"description":"Restrict to the portals of one customer partner."},{"name":"ap_portal_account_id","in":"query","required":false,"schema":{"type":"string","title":"Ap Portal Account Id","description":"Restrict to portals tied to one login."},"description":"Restrict to portals tied to one login."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_APPortalItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"}},"/v2/ap-portals/{ap_portal_id}/deduction-backups/sync":{"post":{"tags":["ap-portals"],"summary":"Trigger Portal Deduction Backup Sync","description":"Run deduction backups now\n\nEnqueue an on-demand deduction-backup download for one customer portal and return\nimmediately. Each portal accepts one request per 15 minutes (429 otherwise). A paused\nportal can still be run. Refuses (409) a disabled portal, a provider without deduction\nbackups, or a login that needs a new password.","operationId":"PostApPortalsApPortalIdDeductionBackupsSync","security":[{"HTTPBearer":[]}],"parameters":[{"name":"ap_portal_id","in":"path","required":true,"schema":{"type":"string","title":"Ap Portal Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/TriggerDeductionBackupSyncRequest"},{"type":"null"}],"title":"Request"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APPortalItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"syncDeductionBackups"}},"/v2/ap-portals/accounts":{"post":{"tags":["ap-portals"],"summary":"Create Account Login","description":"Create login\n\nRegister an AP-portal login (provider + credentials) for the org. Credentials are\nencrypted at rest and never returned. Tie a customer portal to it before sweeping.","operationId":"PostApPortalsAccounts","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLoginRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APPortalLoginItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"createLogin"}},"/v2/ap-portals/accounts/{account_id}":{"patch":{"tags":["ap-portals"],"summary":"Update Account Login","description":"Update login\n\nRotate an AP-portal login's credentials (password, header token, TOTP secret) or scope.\nOnly the fields you supply change; a supplied password clears a prior lock so sweeps\nresume. Credentials are encrypted at rest and never returned.","operationId":"PatchApPortalsAccountsAccountId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"string","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLoginRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APPortalLoginItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"updateLogin"}},"/v2/ap-portals/accounts/{account_id}/sweep":{"post":{"tags":["ap-portals"],"summary":"Trigger Account Sweep","description":"Sync now\n\nTrigger an on-demand sweep for an AP-portal login. Enqueues the durable sweep workflow\n(deduplicated per account) and returns immediately. Omit the body for a list-only sweep;\nuse DETAIL for full enrichment.","operationId":"PostApPortalsAccountsAccountIdSweep","security":[{"HTTPBearer":[]}],"parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"string","title":"Account Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/TriggerSweepRequest"},{"type":"null"}],"title":"Request"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerSweepResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"sweep"}},"/v2/ap-portals/accounts/{account_id}/associate":{"post":{"tags":["ap-portals"],"summary":"Associate Account Partner","description":"Associate partners\n\nTie an AP-portal login to one or more customer partners. Creates the ``ap_portal``\nconfig row for each partner that has none yet; otherwise repoints its login to this\naccount. Required before ``sweep`` will enqueue a sweep for that partner. All-or-nothing:\nan unknown partner id fails the whole request.","operationId":"PostApPortalsAccountsAccountIdAssociate","security":[{"HTTPBearer":[]}],"parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"string","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssociatePortalRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/APPortalItem"},"title":"Response Postapportalsaccountsaccountidassociate"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"associatePartner"}},"/v2/ap-portals/invoices":{"get":{"tags":["ap-portals"],"summary":"List Invoices","description":"List swept invoices\n\nPaginated invoice rows mirrored from the latest sweeps, newest ``invoice_date`` first\n(rows with no date sort last). Each row's ``invoice_id`` is the matched internal AR\ninvoice (the Pass-1 matcher), or null when unmatched.","operationId":"GetApPortalsInvoices","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"ap_portal_account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ap Portal Account Id","description":"Restrict to invoices swept from one login."},"description":"Restrict to invoices swept from one login."},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search","description":"Case-insensitive substring match on portal invoice number, PO reference, buyer/customer name, or portal document (payload) id."},"description":"Case-insensitive substring match on portal invoice number, PO reference, buyer/customer name, or portal document (payload) id."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_APPortalInvoiceListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listInvoices"}},"/v2/ap-portals/orders":{"get":{"tags":["ap-portals"],"summary":"List Orders","description":"List swept purchase orders\n\nPaginated purchase-order rows mirrored from the latest sweeps, newest ``order_date``\nfirst (rows with no date sort last). Headroom (PO running low) is derived client-side\nfrom ``amount_total`` minus ``amount_invoiced_total`` when detail-swept, else ``amount``\nminus ``amount_invoiced``.","operationId":"GetApPortalsOrders","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"ap_portal_account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ap Portal Account Id","description":"Restrict to orders swept from one login."},"description":"Restrict to orders swept from one login."},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search","description":"Case-insensitive substring match on PO number, buyer/customer name, or portal document (payload) id."},"description":"Case-insensitive substring match on PO number, buyer/customer name, or portal document (payload) id."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_APPortalOrderListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listOrders"}},"/v2/ap-portals/submissions":{"get":{"tags":["ap-portals"],"summary":"List Submissions","description":"List submissions\n\nRecorded submit outcomes (DRY_RUN / ACCEPTED / REJECTED) for the org, filterable by\nlogin or internal invoice. ``submission_id`` carries the portal's confirmation for an\naccepted submission; review and live-confirmation screenshots are returned as signed URLs\nwhen captured.","operationId":"GetApPortalsSubmissions","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"ap_portal_account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ap Portal Account Id","description":"Restrict to submissions through one login."},"description":"Restrict to submissions through one login."},{"name":"invoice_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Id","description":"Restrict to submissions of one internal invoice."},"description":"Restrict to submissions of one internal invoice."},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search","description":"Case-insensitive substring match on the portal confirmation id, or on the submitted invoice's number, PO number, or customer name."},"description":"Case-insensitive substring match on the portal confirmation id, or on the submitted invoice's number, PO number, or customer name."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_APPortalSubmissionListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listSubmissions"}},"/v2/ap-portals/invoices/{ap_portal_invoice_id}":{"get":{"tags":["ap-portals"],"summary":"Get Invoice","description":"Get swept invoice\n\nOne swept invoice with its portal lines, tax groups, payments, typed totals, and the PO\nit bills against (a query-time PO join, not a stored link). Detail-sweep fields are null\non a list-only sweep. For what would be submitted, use ``submit-preview`` instead.","operationId":"GetApPortalsInvoicesApPortalInvoiceId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"ap_portal_invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Ap Portal Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APPortalInvoiceDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getInvoice"}},"/v2/ap-portals/orders/{order_id}":{"get":{"tags":["ap-portals"],"summary":"Get Order","description":"Get swept purchase order\n\nOne swept PO with its detail-sweep lines (per-line ``amount_invoiced`` is the headroom\nsignal) and the swept invoices billed against it — PO numbers normalized with the\nsweep-time matcher's rules, buyer names matched by containment.","operationId":"GetApPortalsOrdersOrderId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APPortalOrderDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getOrder"}},"/v2/ap-portals/jobs":{"get":{"tags":["ap-portals"],"summary":"List Jobs","description":"List jobs\n\nPaginated AP-portal jobs (durable sweep/submit runs) for the org, newest first. Filter by\nlogin, ``operation`` (sweep/submit), or run ``status``.","operationId":"GetApPortalsJobs","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"ap_portal_account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ap Portal Account Id","description":"Restrict to jobs run through one login."},"description":"Restrict to jobs run through one login."},{"name":"operation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/WorkOperation"},{"type":"null"}],"title":"Operation","description":"Restrict to sweep, discovery, or submit jobs."},"description":"Restrict to sweep, discovery, or submit jobs."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/APPortalWorkStatus"},{"type":"null"}],"title":"Status","description":"Restrict to one run status (PENDING / RUNNING / FAILED / DONE)."},"description":"Restrict to one run status (PENDING / RUNNING / FAILED / DONE)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_APPortalJobListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listJobs"}},"/v2/ap-portals/jobs/{job_id}":{"get":{"tags":["ap-portals"],"summary":"Get Job","description":"Get job\n\nOne AP-portal job (durable sweep/submit run) with its source/completed session references.","operationId":"GetApPortalsJobsJobId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APPortalJobDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getJob"}},"/v2/ap-portals/accounts/{account_id}/invoices/{invoice_id}/submit":{"post":{"tags":["ap-portals"],"summary":"Trigger Account Submit","description":"Submit to portal\n\nEnqueue a dry run through an AP-portal login: flips the matched PO to a reversible draft\nand fills mapped fields, stopping before the live send. Live sends are authorized through\nthe resulting pre-submission review task. Refuses (409) when the pre-flight gate marks the\ninvoice BLOCKED.","operationId":"PostApPortalsAccountsAccountIdInvoicesInvoiceIdSubmit","security":[{"HTTPBearer":[]}],"parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerSubmitRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerSubmitResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"submitInvoice"}},"/v2/ap-portals/accounts/{account_id}/invoices/{invoice_id}/submit-preview":{"get":{"tags":["ap-portals"],"summary":"Get Submit Preview","description":"Submit dry-run preview\n\nResolve exactly what would be entered into the portal form for an invoice (each field\nmapped to its ERP/custom source + value) and run the pre-flight validation gate.\nComputed only — nothing is sent to the portal.","operationId":"GetApPortalsAccountsAccountIdInvoicesInvoiceIdSubmitPreview","security":[{"HTTPBearer":[]}],"parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitPreviewSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"submitPreview"}},"/v2/ap-portals/{portal_id}/form-profiles":{"get":{"tags":["ap-portals"],"summary":"List Profiles","description":"List form profiles\n\nRevision history of one buyer's invoice-form configuration, newest revision first, capped at\n50. At most one revision is active at a time; the others are unapproved proposals or\nsuperseded revisions. Pass ``before_revision`` to page further back through the history.","operationId":"GetApPortalsPortalIdFormProfiles","security":[{"HTTPBearer":[]}],"parameters":[{"name":"portal_id","in":"path","required":true,"schema":{"type":"string","title":"Portal Id"}},{"name":"before_revision","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Before Revision"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormProfileRevision"},"title":"Response Getapportalsportalidformprofiles"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listFormProfiles"},"post":{"tags":["ap-portals"],"summary":"Propose Profile","description":"Propose form profile\n\nPropose a new revision of a buyer's invoice-form configuration. The config is checked\nagainst the provider's form specification and the invoice field-source catalog before it is\nstored. ``expected_revision`` must match the currently active revision (0 when the buyer has\nnone), so a concurrent change is rejected instead of overwritten. The new revision is inert\nuntil it is activated.","operationId":"PostApPortalsPortalIdFormProfiles","security":[{"HTTPBearer":[]}],"parameters":[{"name":"portal_id","in":"path","required":true,"schema":{"type":"string","title":"Portal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProposeProfile"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormProfileRevision"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"proposeFormProfile"}},"/v2/ap-portals/{portal_id}/form-profiles/{revision_id}/activate":{"post":{"tags":["ap-portals"],"summary":"Activate Profile","description":"Activate form profile\n\nMake a proposed revision the one used to fill this buyer's invoice form. Requires a\ncompleted dry run of this exact revision with review evidence, named by\n``validation_work_id``. The previously active revision is deactivated, and the approving\nuser and approval time are recorded on the newly active one.","operationId":"PostApPortalsPortalIdFormProfilesRevisionIdActivate","security":[{"HTTPBearer":[]}],"parameters":[{"name":"portal_id","in":"path","required":true,"schema":{"type":"string","title":"Portal Id"}},{"name":"revision_id","in":"path","required":true,"schema":{"type":"string","title":"Revision Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivateProfile"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormProfileRevision"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"activateFormProfile"}},"/v2/ap-portals/{portal_id}/discover-form":{"post":{"tags":["ap-portals"],"summary":"Discover Form","description":"Discover invoice form\n\nInspect this buyer's form and propose configuration using a sample invoice.\nRuns asynchronously without approving the profile or submitting the invoice.","operationId":"PostApPortalsPortalIdDiscoverForm","security":[{"HTTPBearer":[]}],"parameters":[{"name":"portal_id","in":"path","required":true,"schema":{"type":"string","title":"Portal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscoverFormRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerSubmitResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"discoverForm"}},"/v2/artifacts":{"get":{"tags":["artifacts"],"summary":"List the caller's artifacts, newest first, with the cap and current count","description":"List the caller's artifacts, newest first, with the cap and current count.","operationId":"GetArtifacts","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactList"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"artifacts"},"post":{"tags":["artifacts"],"summary":"Save a table or chart from an Ask Stuut answer as an artifact","description":"Copies the result and the chart spec or columns from the given message\npart. The query behind it is not known here and is found later, so saving\nnever refuses for want of it. Saving a part again returns the existing\nartifact with 200 instead of a duplicate. Returns 404 if the part is not a\ntable or chart in one of the caller's chats, and 409 at the per-user cap.\nAn omitted or blank title falls back to the question that produced the part.","operationId":"PostArtifacts","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveArtifactBody"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactDetail"}}}},"200":{"description":"This part was already saved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"artifacts"}},"/v2/artifacts/{artifact_id}":{"get":{"tags":["artifacts"],"summary":"One artifact with its last result","description":"One artifact with its last result.","operationId":"GetArtifactsArtifactId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"artifact_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Artifact Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"artifacts"},"patch":{"tags":["artifacts"],"summary":"Rename an artifact. The title must be non-empty after trimming","description":"Rename an artifact. The title must be non-empty after trimming.","operationId":"PatchArtifactsArtifactId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"artifact_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Artifact Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenameArtifactBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"artifacts"},"delete":{"tags":["artifacts"],"summary":"Delete an artifact","description":"Delete an artifact.","operationId":"DeleteArtifactsArtifactId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"artifact_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Artifact Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"artifacts"}},"/v2/artifacts/{artifact_id}/refresh":{"post":{"tags":["artifacts"],"summary":"Re-run the artifact's SQL under the caller's current org and business-unit scope","description":"Runs synchronously and returns the artifact with its new `status`: `fresh`\nwith a new snapshot, `needs_reask` when the saved SQL no longer runs, or\n`failed` for a transient error. The last result is kept in both failure\ncases. Returns 409 while a refresh of this artifact is already in flight.","operationId":"PostArtifactsArtifactIdRefresh","security":[{"HTTPBearer":[]}],"parameters":[{"name":"artifact_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Artifact Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"artifacts"}},"/v2/artifacts/{artifact_id}/rows":{"get":{"tags":["artifacts"],"summary":"Fetch a window of rows for a table artifact's full last result","description":"Pages Snowflake's cached result by statement handle, like the chat's rows\nendpoint. Returns 410 when the result has expired (refresh the artifact)\nand 404 for charts or artifacts with no handle.","operationId":"GetArtifactsArtifactIdRows","security":[{"HTTPBearer":[]}],"parameters":[{"name":"artifact_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Artifact Id"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactRowsPage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"artifacts"}},"/v2/assistant/chats":{"post":{"tags":["assistant"],"summary":"Create a new assistant chat session","description":"Returns the new chat's id. Idempotent on empty chats: an existing empty\nchat is reused instead of creating another.","operationId":"PostAssistantChats","security":[{"HTTPBearer":[]}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CortexChatCreated"}}}}},"x-speakeasy-group":"assistant.chats"},"get":{"tags":["assistant"],"summary":"List the caller's cortex chat sessions, newest first","description":"Pass `before=<updated_at>` of the last item to fetch the next page.","operationId":"GetAssistantChats","security":[{"HTTPBearer":[]}],"parameters":[{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Before"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CortexChatSummary"},"title":"Response Getassistantchats"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"assistant.chats"}},"/v2/assistant/chats/suggested-questions":{"get":{"tags":["assistant"],"summary":"Pre-canned starter prompts for the empty-chat state","description":"Static, identical for every caller; served so the set lives server-side\ninstead of being hardcoded in the client. Declared before the `/{chat_id}`\nroutes so the literal path is matched unambiguously.","operationId":"GetAssistantChatsSuggestedQuestions","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SuggestedQuestion"},"type":"array","title":"Response Getassistantchatssuggestedquestions"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"assistant.chats"}},"/v2/assistant/chats/{chat_id}/messages":{"get":{"tags":["assistant"],"summary":"Load messages for a chat, newest-first window returned oldest-first","description":"Pass `before=<created_at>` of the earliest message currently rendered to\nfetch an older page. The caller stitches pages together in the UI.","operationId":"GetAssistantChatsChatIdMessages","security":[{"HTTPBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Before"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CortexUIMessage"},"title":"Response Getassistantchatschatidmessages"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"assistant.chats"}},"/v2/assistant/chats/{chat_id}":{"patch":{"tags":["assistant"],"summary":"Rename an assistant chat session","description":"Sets the chat title, which must be non-empty after trimming.","operationId":"PatchAssistantChatsChatId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenameChatBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CortexChatSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"assistant.chats"},"delete":{"tags":["assistant"],"summary":"Delete an assistant chat session","description":"Removes the chat and all of its messages.","operationId":"DeleteAssistantChatsChatId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"assistant.chats"},"post":{"tags":["assistant"],"summary":"Forward the latest user message to Snowflake Cortex Agent and stream","description":"the translated response back, persisting both turns to aether_message.","operationId":"PostAssistantChatsChatId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"text/event-stream":{"schema":{"$ref":"#/components/schemas/ChatStream"},"x-speakeasy-sse-sentinel":"[DONE]"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"assistant.chats"}},"/v2/assistant/chats/{chat_id}/messages/{message_id}/feedback":{"post":{"tags":["assistant"],"summary":"Record feedback on an assistant message","description":"Records (or clears) a thumbs-up / thumbs-down rating on the message,\noptionally with a free-text note from the user.","operationId":"PostAssistantChatsChatIdMessagesMessageIdFeedback","security":[{"HTTPBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"assistant.chats"}},"/v2/assistant/chats/{chat_id}/messages/{message_id}/parts/{part_order}/rows":{"get":{"tags":["assistant"],"summary":"Fetch a window of rows for a truncated Ask Stuut data-table part","description":"Re-fetches Snowflake's cached query result by statement handle and returns\na coerced/redacted JSON page matching the streamed table shape. The limit\ncap is large enough for a client to hydrate the full result in one call\nand page locally. Returns 410 when the result cache has expired; 404 when\npaging metadata is missing.","operationId":"GetAssistantChatsChatIdMessagesMessageIdPartsPartOrderRows","security":[{"HTTPBearer":[]}],"parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Chat Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}},{"name":"part_order","in":"path","required":true,"schema":{"type":"integer","title":"Part Order"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CortexTableRowsPage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"assistant.chats"}},"/v2/audit-log":{"get":{"tags":["audit-log"],"summary":"Get Audit Log","description":"Get Activity Log\n\nRetrieve a paginated log of the organization's audit-visible events, grouped\ninto logical operations by correlation id. With no start_date/end_date the\nfull history is returned.","operationId":"GetAuditLog","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Date","description":"Start of date range (inclusive). No lower bound when omitted."},"description":"Start of date range (inclusive). No lower bound when omitted."},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Date","description":"End of date range (inclusive). No upper bound when omitted."},"description":"End of date range (inclusive). No upper bound when omitted."},{"name":"actor_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/EventActorType"},{"type":"null"}],"title":"Actor Type","description":"Only events initiated by this kind of actor."},"description":"Only events initiated by this kind of actor."},{"name":"actor_id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Actor Id","description":"Only events initiated by users with these ids (repeat the param to pass several; any match). Ids that are not organization members match nothing."},"description":"Only events initiated by users with these ids (repeat the param to pass several; any match). Ids that are not organization members match nothing."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_AuditLogEntry_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"}},"/v2/bank-accounts":{"get":{"tags":["bank-accounts"],"summary":"List Bank Accounts","description":"List Bank Accounts","operationId":"GetBankAccounts","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"search","in":"query","required":false,"schema":{"type":"string","title":"Search"}},{"name":"is_erp_account","in":"query","required":false,"schema":{"type":"boolean","title":"Is Erp Account"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BankAccount"},"title":"Response Getbankaccounts"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"},"post":{"tags":["bank-accounts"],"summary":"Create Bank Account","description":"Create a Bank Account","operationId":"PostBankAccounts","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBankAccountInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankAccount"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"create"}},"/v2/bank-accounts/{bank_account_id}":{"get":{"tags":["bank-accounts"],"summary":"Get Bank Account","description":"Get a Bank Account","operationId":"GetBankAccountsBankAccountId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"bank_account_id","in":"path","required":true,"schema":{"type":"string","title":"Bank Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankAccount"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"},"patch":{"tags":["bank-accounts"],"summary":"Update Bank Account","description":"Update a Bank Account","operationId":"PatchBankAccountsBankAccountId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"bank_account_id","in":"path","required":true,"schema":{"type":"string","title":"Bank Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBankAccountInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankAccount"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"update"}},"/v2/bank-accounts/{bank_account_id}/archive":{"post":{"tags":["bank-accounts"],"summary":"Archive Bank Account","description":"Archive a Bank Account.","operationId":"PostBankAccountsBankAccountIdArchive","security":[{"HTTPBearer":[]}],"parameters":[{"name":"bank_account_id","in":"path","required":true,"schema":{"type":"string","title":"Bank Account Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"archive"}},"/v2/bank-statements":{"get":{"tags":["bank-statements"],"summary":"List Bank Statements","description":"List Bank Statements\n\nRetrieve a paginated list of bank statements. Supports filtering by status,\ndate, account, and finding children of split parent statements.","operationId":"GetBankStatements","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["created_at","period_start","period_end"],"type":"string","x-speakeasy-enum-format":"union","title":"Sort By","default":"created_at"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","title":"","default":"desc"}},{"name":"status__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Status"}},{"type":"null"}],"title":"Status  In","description":"Filter by statement status (including SPLIT for parent statements)"},"description":"Filter by statement status (including SPLIT for parent statements)"},{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date","description":"Filter by date - returns statements where this date falls within the period"},"description":"Filter by date - returns statements where this date falls within the period"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search","description":"Search in attachment filename"},"description":"Search in attachment filename"},{"name":"account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id","description":"Filter by bank account ID"},"description":"Filter by bank account ID"},{"name":"original_statement_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Original Statement Id","description":"Find child statements of a split parent"},"description":"Find child statements of a split parent"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_BankStatementListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"}},"/v2/bank-statements/{statement_id}":{"get":{"tags":["bank-statements"],"summary":"Get Bank Statement","description":"Get a Bank Statement\n\nRetrieve a single bank statement by ID, including its transactions and\nsplit information.","operationId":"GetBankStatementsStatementId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"statement_id","in":"path","required":true,"schema":{"type":"string","title":"Statement Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankStatement"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"},"delete":{"tags":["bank-statements"],"summary":"Delete Bank Statement Endpoint","description":"Delete a Bank Statement\n\nDelete a bank statement by ID. Statements with status 'approved' cannot be deleted.\nDeleting a statement with status 'synced' also deletes all nested transactions.\nIf the statement is currently being processed, the Extend workflow will be cancelled.","operationId":"DeleteBankStatementsStatementId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"statement_id","in":"path","required":true,"schema":{"type":"string","title":"Statement Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"delete"}},"/v2/bank-statements/{statement_id}/log":{"get":{"tags":["bank-statements"],"summary":"Get Bank Statement Log","description":"Get Bank Statement Audit Log\n\nRetrieve the log of recorded events the bank statement participated in,\ngrouped into logical operations by correlation id.","operationId":"GetBankStatementsStatementIdLog","security":[{"HTTPBearer":[]}],"parameters":[{"name":"statement_id","in":"path","required":true,"schema":{"type":"string","title":"Statement Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_AuditLogEntry_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getLog"}},"/v2/bank-statements/{statement_id}/approve":{"post":{"tags":["bank-statements"],"summary":"Approve Bank Statement Endpoint","description":"Approve a Bank Statement\n\nApprove a bank statement that is in 'pending_approval' status. This marks all\ntransactions as finalized and the statement as approved.","operationId":"PostBankStatementsStatementIdApprove","security":[{"HTTPBearer":[]}],"parameters":[{"name":"statement_id","in":"path","required":true,"schema":{"type":"string","title":"Statement Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankStatement"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"approve"}},"/v2/bank-statements/{statement_id}/unapprove":{"post":{"tags":["bank-statements"],"summary":"Unapprove Bank Statement Endpoint","description":"Unapprove a Bank Statement\n\nRevert an approved bank statement back to pending_approval status.\nOnly allowed if no transactions have related payments.","operationId":"PostBankStatementsStatementIdUnapprove","security":[{"HTTPBearer":[]}],"parameters":[{"name":"statement_id","in":"path","required":true,"schema":{"type":"string","title":"Statement Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankStatement"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"unapprove"}},"/v2/bank-statements/upload":{"post":{"tags":["bank-statements"],"summary":"Upload Bank Statement Endpoint","description":"Upload a Bank Statement\n\nCreate a new bank statement and get a presigned URL for uploading the file.\nAfter receiving the presigned URL, upload the file directly to S3.","operationId":"PostBankStatementsUpload","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadBankStatementRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadBankStatementResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"upload"}},"/v2/bank-transactions":{"post":{"tags":["bank-transactions"],"summary":"Create Transaction","description":"Create a Bank Transaction","operationId":"PostBankTransactions","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTransactionCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTransaction"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"create"},"get":{"tags":["bank-transactions"],"summary":"Get Bank Transactions","description":"List Bank Transactions\n\nRetrieve a list of all bank transactions.","operationId":"GetBankTransactions","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["timestamp","amount","account_mask","confidence","counterparty","reference_number","description"],"type":"string","x-speakeasy-enum-format":"union","title":"Sort By","default":"timestamp"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","title":"","default":"desc"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date From","description":"Filter transactions on or after this date (inclusive)"},"description":"Filter transactions on or after this date (inclusive)"},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date To","description":"Filter transactions on or before this date (inclusive)"},"description":"Filter transactions on or before this date (inclusive)"},{"name":"bank_account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bank Account Id","description":"Bank account ID to filter by"},"description":"Bank account ID to filter by"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search","description":"Search in description, reference_number, counterparty_name, remote_id"},"description":"Search in description, reference_number, counterparty_name, remote_id"},{"name":"status__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/PaymentApplicationStatus"}},{"type":"null"}],"title":"Status  In","description":"Filter by cash application status"},"description":"Filter by cash application status"},{"name":"allocation_status__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/AllocationStatus"}},{"type":"null"}],"title":"Allocation Status  In","description":"Filter by allocation status (unallocated, partially_allocated, fully_allocated)"},"description":"Filter by allocation status (unallocated, partially_allocated, fully_allocated)"},{"name":"include_non_payments","in":"query","required":false,"schema":{"type":"boolean","title":"Include Non Payments","description":"Include non-payment transactions in results (default: False)","default":false},"description":"Include non-payment transactions in results (default: False)"},{"name":"has_posting_errors","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Posting Errors","description":"Filter to transactions with (True) or without (False) posting errors"},"description":"Filter to transactions with (True) or without (False) posting errors"},{"name":"partner_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partner Id","description":"Filter by partner on the linked payments. A bank transaction is returned if ANY of its payments have this partner."},"description":"Filter by partner on the linked payments. A bank transaction is returned if ANY of its payments have this partner."},{"name":"approved_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approved By","description":"Filter by who approved the linked payments. Pass `stuut` to match auto-approved payments, or a user ID to match a specific approver. A bank transaction is returned if ANY of its payments match."},"description":"Filter by who approved the linked payments. Pass `stuut` to match auto-approved payments, or a user ID to match a specific approver. A bank transaction is returned if ANY of its payments match."},{"name":"amount_min","in":"query","required":false,"schema":{"anyOf":[{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":"Amount Min","description":"Filter transactions with amount >= this value (in standard units, e.g. dollars). Requires currency or currency__in."},"description":"Filter transactions with amount >= this value (in standard units, e.g. dollars). Requires currency or currency__in."},{"name":"amount_max","in":"query","required":false,"schema":{"anyOf":[{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":"Amount Max","description":"Filter transactions with amount <= this value (in standard units, e.g. dollars). Requires currency or currency__in."},"description":"Filter transactions with amount <= this value (in standard units, e.g. dollars). Requires currency or currency__in."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"Currency","description":"Filter transactions by currency. This or currency__in is required when amount_min or amount_max is provided."},"description":"Filter transactions by currency. This or currency__in is required when amount_min or amount_max is provided."},{"name":"currency__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Currency"}},{"type":"null"}],"title":"Currency  In","description":"Filter transactions in any of these currencies. With amount_min or amount_max, the range applies in each currency's own units. Combined with currency."},"description":"Filter transactions in any of these currencies. With amount_min or amount_max, the range applies in each currency's own units. Combined with currency."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_BankTransactionListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"}},"/v2/bank-transactions/{transaction_id}":{"get":{"tags":["bank-transactions"],"summary":"Get Bank Transaction","description":"Get a Bank Transaction","operationId":"GetBankTransactionsTransactionId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"transaction_id","in":"path","required":true,"schema":{"type":"string","title":"Transaction Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTransaction"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"},"patch":{"tags":["bank-transactions"],"summary":"Update Bank Transaction","description":"Update a Bank Transaction","operationId":"PatchBankTransactionsTransactionId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"transaction_id","in":"path","required":true,"schema":{"type":"string","title":"Transaction Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTransactionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTransaction"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"update"}},"/v2/bank-transactions/{transaction_id}/log":{"get":{"tags":["bank-transactions"],"summary":"Get Bank Transaction Log","description":"Get Bank Transaction Audit Log\n\nRetrieve the log of recorded events the bank transaction participated in,\ngrouped into logical operations by correlation id.","operationId":"GetBankTransactionsTransactionIdLog","security":[{"HTTPBearer":[]}],"parameters":[{"name":"transaction_id","in":"path","required":true,"schema":{"type":"string","title":"Transaction Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_AuditLogEntry_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getLog"}},"/v2/bank-transactions/{transaction_id}/attach-remittance":{"post":{"tags":["bank-transactions"],"summary":"Attach Remittance","description":"Attach a remittance to this bank transaction.\n\nLinks the remittance to the transaction by adding it to the remittance's\nbank_transaction_ids array.","operationId":"PostBankTransactionsTransactionIdAttachRemittance","security":[{"HTTPBearer":[]}],"parameters":[{"name":"transaction_id","in":"path","required":true,"schema":{"type":"string","title":"Transaction Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachRemittanceRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"attachRemittance"}},"/v2/bank-transactions/{transaction_id}/discard-remittance":{"post":{"tags":["bank-transactions"],"summary":"Discard Remittance","description":"Discard a remittance from this bank transaction.\n\nUnlinks the remittance from the transaction and prevents re-matching\nby creating a blacklist entry.","operationId":"PostBankTransactionsTransactionIdDiscardRemittance","security":[{"HTTPBearer":[]}],"parameters":[{"name":"transaction_id","in":"path","required":true,"schema":{"type":"string","title":"Transaction Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscardRemittanceRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"discardRemittance"}},"/v2/bank-transactions/bulk/mark-handled-outside":{"post":{"tags":["bank-transactions"],"summary":"Bulk Mark Handled Outside Endpoint","description":"Bulk Mark Transactions as Handled Outside\n\nMark multiple bank transactions as handled outside of Stuut.\nDeletes SUGGESTED unapproved payments, then sets amount_handled_outside\nto the unallocated remainder (txn amount minus approved payments).\n\nEach transaction is processed independently - failures for one transaction\ndo not affect other transactions.","operationId":"PostBankTransactionsBulkMarkHandledOutside","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkMarkHandledOutsideRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkMarkHandledOutsideResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"bulkMarkHandledOutside"}},"/v2/bank-transactions/bulk/mark-non-payment":{"post":{"tags":["bank-transactions"],"summary":"Bulk Mark Non Payment Endpoint","description":"Bulk Mark Transactions as Non-Payments\n\nMark multiple bank transactions as non-payments (is_payment=False).\nDeletes SUGGESTED unapproved payments before marking.\n\nEach transaction is processed independently - failures for one transaction\ndo not affect other transactions.","operationId":"PostBankTransactionsBulkMarkNonPayment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkMarkNonPaymentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkMarkNonPaymentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"bulkMarkNonPayment"}},"/v2/billing/account":{"get":{"tags":["billing"],"summary":"Billing account","description":"Return billing configuration, contract terms, rates, and details.","operationId":"GetBillingAccount","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingAccount"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"getAccount"}},"/v2/billing/products":{"get":{"tags":["billing"],"summary":"Product catalog","description":"Return product metadata, list rates, and organization access state.","operationId":"GetBillingProducts","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductCatalog"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"listProducts"}},"/v2/billing/products/{product_key}/enable":{"post":{"tags":["billing"],"summary":"Enable product","description":"Enable a self-serve product, adding it to the contract when necessary.","operationId":"PostBillingProductsProductKeyEnable","security":[{"HTTPBearer":[]}],"parameters":[{"name":"product_key","in":"path","required":true,"schema":{"$ref":"#/components/schemas/BillingProductKey"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingAccount"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"enableProduct"}},"/v2/billing/products/{product_key}/disable":{"post":{"tags":["billing"],"summary":"Disable product","description":"Disable a self-serve product and end its contract entitlement.","operationId":"PostBillingProductsProductKeyDisable","security":[{"HTTPBearer":[]}],"parameters":[{"name":"product_key","in":"path","required":true,"schema":{"$ref":"#/components/schemas/BillingProductKey"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingAccount"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"disableProduct"}},"/v2/billing/sales-meeting":{"get":{"tags":["billing"],"summary":"Sales meeting link","description":"Return the organization's sales meeting link.","operationId":"GetBillingSalesMeeting","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesMeeting"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"getSalesMeeting"}},"/v2/billing/summary":{"get":{"tags":["billing"],"summary":"Billing summary","description":"Return balances and the current-period draft invoice.","operationId":"GetBillingSummary","security":[{"HTTPBearer":[]}],"parameters":[{"name":"force_refresh","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Force Refresh"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getSummary"}},"/v2/billing/usage":{"get":{"tags":["billing"],"summary":"Usage","description":"Return product-grouped usage totals and chart windows.","operationId":"GetBillingUsage","security":[{"HTTPBearer":[]}],"parameters":[{"name":"window","in":"query","required":false,"schema":{"enum":["DAY","MONTH"],"type":"string","x-speakeasy-enum-format":"union","title":"Window","description":"Chart bucket size.","default":"DAY"},"description":"Chart bucket size."},{"name":"starting_on","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Starting On","description":"Range start (inclusive); defaults to the current billing period."},"description":"Range start (inclusive); defaults to the current billing period."},{"name":"ending_before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ending Before","description":"Range end (exclusive); defaults to the current billing period."},"description":"Range end (exclusive); defaults to the current billing period."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getUsage"}},"/v2/billing/invoices":{"get":{"tags":["billing"],"summary":"Invoice history","description":"Return a page of Stripe invoice history.","operationId":"GetBillingInvoices","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["draft","open","paid","uncollectible","void"],"type":"string","x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicePage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listInvoices"}},"/v2/billing/portal":{"post":{"tags":["billing"],"summary":"Customer portal session","description":"Create a Stripe Customer Portal session.","operationId":"PostBillingPortal","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"createPortalSession"}},"/v2/billing/session":{"post":{"tags":["billing"],"summary":"Stripe session secrets","description":"Create Stripe Customer Session and SetupIntent client secrets.","operationId":"PostBillingSession","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionResponse"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"createSession"}},"/v2/billing/checkout":{"post":{"tags":["billing"],"summary":"Payment method checkout","description":"Create a hosted Stripe session for updating payment details.","operationId":"PostBillingCheckout","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"createCheckout"}},"/v2/billing/details":{"put":{"tags":["billing"],"summary":"Update billing details","description":"Update the customer's Stripe billing details.","operationId":"PutBillingDetails","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBillingDetailsRequest"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"updateDetails"}},"/v2/billing/credits/quote":{"post":{"tags":["billing"],"summary":"Quote credits","description":"Quote a prepaid credit purchase with estimated tax.","operationId":"PostBillingCreditsQuote","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuyCreditsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"quoteCredits"}},"/v2/billing/credits":{"post":{"tags":["billing"],"summary":"Buy credits","description":"Purchase prepaid credits and stream payment status.","operationId":"PostBillingCredits","security":[{"HTTPBearer":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":255,"description":"Unique key for this intended purchase; reuse it when retrying the same request.","title":"Idempotency-Key"},"description":"Unique key for this intended purchase; reuse it when retrying the same request."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuyCreditsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"text/event-stream":{"schema":{"$ref":"#/components/schemas/CreditPurchaseStream"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"buyCredits"}},"/v2/billing/credits/stream":{"get":{"tags":["billing"],"summary":"Credit purchase stream","description":"Reconnect to the active credit purchase stream.","operationId":"GetBillingCreditsStream","responses":{"200":{"description":"Successful Response","content":{"text/event-stream":{"schema":{"$ref":"#/components/schemas/CreditPurchaseStream"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"streamCreditPurchase"}},"/v2/billing/auto-reload":{"put":{"tags":["billing"],"summary":"Configure auto-reload","description":"Configure or disable automatic balance reloads.","operationId":"PutBillingAutoReload","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAutoReloadRequest"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"updateAutoReload"}},"/v2/billing/budget":{"put":{"tags":["billing"],"summary":"Set budget","description":"Set or disable the spend budget.","operationId":"PutBillingBudget","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBudgetRequest"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"updateBudget"}},"/v2/blacklist/domains":{"get":{"tags":["blacklist"],"summary":"List Blacklisted Domains","description":"The email domains barred from self-service registration.","operationId":"GetBlacklistDomains","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response Getblacklistdomains"}}}}},"x-speakeasy-name-override":"listDomains"}},"/v2/bulk-actions":{"post":{"tags":["bulk-actions"],"summary":"Create Bulk Action","description":"Return an operation ID after DBOS accepts the background task assignment.","operationId":"bulk_actions.create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkActionRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/bulk-actions/{operation_id}":{"get":{"tags":["bulk-actions"],"summary":"Retrieve Bulk Action","description":"Read only the current user's operation in the current organization.","operationId":"bulk_actions.retrieve","security":[{"HTTPBearer":[]}],"parameters":[{"name":"operation_id","in":"path","required":true,"schema":{"type":"string","format":"typeid","pattern":"^([a-z][a-z0-9_]*_)?[0-9a-z]{26}$","description":"TypeID identifier","examples":["01h2xcejqtf2nbrexx3vqjhp41","usr_01h2xcejqtf2nbrexx3vqjhp41"],"title":"Operation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/business-identities":{"get":{"tags":["business-identities"],"summary":"List Business Identities","description":"List the organization's verified legal entities, one per Twilio Secondary Profile.\n\nUnpaginated on purpose: the largest tenant has five, and the caller needs all of them to group.","operationId":"GetBusinessIdentities","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BusinessIdentity"},"type":"array","title":"Response Getbusinessidentities"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"list"}},"/v2/business-identities/{business_identity_id}/trust-products":{"post":{"tags":["business-identities"],"summary":"Register Trust Products","description":"Add CNAM and/or Voice Integrity to a legal entity Twilio has already approved. The products\ncreated when a profile is first approved cover whatever was supplied then; this is how a tenant\nadds one later.\n\nSHAKEN is not registrable here because its policy takes no input — but an identity missing one\nis topped up automatically while this runs, so \"add what is missing\" covers all three.","operationId":"PostBusinessIdentitiesBusinessIdentityIdTrustProducts","security":[{"HTTPBearer":[]}],"parameters":[{"name":"business_identity_id","in":"path","required":true,"schema":{"type":"string","title":"Business Identity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrustProductRegistration"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterTrustProductsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"registerTrustProducts"}},"/v2/business-units":{"get":{"tags":["business-units"],"summary":"List Business Units","description":"List business units the current user has access to.","operationId":"GetBusinessUnits","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_BusinessUnit_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"},"post":{"tags":["business-units"],"summary":"Create a Business Unit","description":"Creates a business unit. Pass `compliance` to make it a separate legal entity — that provisions its\nown Twilio Secondary Profile asynchronously and links it. Requires organization admin.","operationId":"PostBusinessUnits","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBusinessUnitRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessUnit"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"create"}},"/v2/business-units/{business_unit_id}/compliance":{"post":{"tags":["business-units"],"summary":"Provision Secondary Profile","description":"Turn an existing business unit into its own legal entity, so its numbers assert its CNAM and\nattestation rather than the organization's. `POST /business-units` takes the same payload at\ncreation; this is the only way to add one afterwards.\n\nTwilio review takes one to two business days. Numbers can be attached to the profile while it is\npending — they activate on approval.","operationId":"PostBusinessUnitsBusinessUnitIdCompliance","security":[{"HTTPBearer":[]}],"parameters":[{"name":"business_unit_id","in":"path","required":true,"schema":{"type":"string","title":"Business Unit Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecondaryProfileCompliance-Input"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessUnitSecondaryProfileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"provisionSecondaryProfile"}},"/v2/business-units/{business_unit_id}":{"patch":{"tags":["business-units"],"summary":"Update a Business Unit","description":"Rename a business unit or edit its description / customer-facing display name (PATCH: only fields\npresent are applied). Requires organization admin.","operationId":"PatchBusinessUnitsBusinessUnitId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"business_unit_id","in":"path","required":true,"schema":{"type":"string","title":"Business Unit Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBusinessUnitRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessUnit"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"update"},"delete":{"tags":["business-units"],"summary":"Delete a Business Unit","description":"Delete a business unit. Its partners are unassigned (their business unit is cleared) and its\nmember / number assignments are removed. If it had its own legal identity, its Twilio Secondary\nProfile is torn down asynchronously. Requires organization admin.","operationId":"DeleteBusinessUnitsBusinessUnitId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"business_unit_id","in":"path","required":true,"schema":{"type":"string","title":"Business Unit Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"delete"}},"/v2/business-units/{business_unit_id}/members/{user_id}":{"put":{"tags":["business-units"],"summary":"Add Business Unit Member","description":"Add a user as a member of a business unit. The user must belong to the same organization.\nIdempotent. Requires organization admin.","operationId":"PutBusinessUnitsBusinessUnitIdMembersUserId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"business_unit_id","in":"path","required":true,"schema":{"type":"string","title":"Business Unit Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"addMember"}},"/v2/business-units/{business_unit_id}/members":{"get":{"tags":["business-units"],"summary":"List Business Unit Members","description":"List the users who are members of a business unit. An empty list means the unit is not\nrestricted to anyone — every user who isn't scoped to some other unit can see it. Requires\norganization admin.","operationId":"GetBusinessUnitsBusinessUnitIdMembers","security":[{"HTTPBearer":[]}],"parameters":[{"name":"business_unit_id","in":"path","required":true,"schema":{"type":"string","title":"Business Unit Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"},"title":"Response Getbusinessunitsbusinessunitidmembers"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listMembers"},"put":{"tags":["business-units"],"summary":"Set Business Unit Members","description":"Update the business unit's membership so it matches the given users, and return the resulting\nmembers. The list is the complete set, so anyone missing from it loses their membership — this\ncovers additions and removals in a single call.\n\n- Pass one or more user IDs to restrict the unit to those people.\n- Pass an empty list (`[]`) to remove all members, leaving the unit unrestricted.\n\nDropping a user's last membership makes them unscoped again, so they regain visibility of every\nbusiness unit. Requires organization admin.","operationId":"PutBusinessUnitsBusinessUnitIdMembers","security":[{"HTTPBearer":[]}],"parameters":[{"name":"business_unit_id","in":"path","required":true,"schema":{"type":"string","title":"Business Unit Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetBusinessUnitMembersRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"},"title":"Response Putbusinessunitsbusinessunitidmembers"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"setMembers"}},"/v2/business-units/{business_unit_id}/mailboxes":{"get":{"tags":["business-units"],"summary":"List Business Unit Mailboxes","description":"List the shared mailboxes scoped to this business unit. A shared mailbox with no business unit\nat all is visible to every user and isn't scoped to any one unit, so it won't appear here — see\n`GET /mailboxes` for every mailbox and its current scoping. Requires organization admin.","operationId":"GetBusinessUnitsBusinessUnitIdMailboxes","security":[{"HTTPBearer":[]}],"parameters":[{"name":"business_unit_id","in":"path","required":true,"schema":{"type":"string","title":"Business Unit Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Mailbox"},"title":"Response Getbusinessunitsbusinessunitidmailboxes"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listMailboxes"},"put":{"tags":["business-units"],"summary":"Set Business Unit Mailboxes","description":"Update which shared mailboxes are scoped to this business unit, and return the resulting\nmailboxes. The list is the complete set for THIS business unit only — a mailbox also scoped to\nother business units keeps those other assignments; only its membership in this one is added\nor removed.\n\n- Pass one or more mailbox IDs to scope those shared mailboxes to this business unit.\n- Pass an empty list (`[]`) to remove this business unit from every mailbox it was scoped to.\n\nOnly shared mailboxes can be scoped — a personal mailbox is always visible to its owner\nregardless of business unit, so assigning one here would have no effect. A hybrid mailbox's\npaired SendGrid sender (which isn't itself a selectable shared mailbox) is kept scoped\nidentically, since it's what actually sends mail for a hybrid sender. Requires organization\nadmin.","operationId":"PutBusinessUnitsBusinessUnitIdMailboxes","security":[{"HTTPBearer":[]}],"parameters":[{"name":"business_unit_id","in":"path","required":true,"schema":{"type":"string","title":"Business Unit Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetBusinessUnitMailboxesRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Mailbox"},"title":"Response Putbusinessunitsbusinessunitidmailboxes"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"setMailboxes"}},"/v2/business-units/{business_unit_id}/secondary-profile":{"get":{"tags":["business-units"],"summary":"Get Secondary Profile Status","description":"The business unit's Twilio Secondary Profile verification status. Served from what Twilio last\npushed to the `/trust-hub` callback; a status Twilio could still change is re-read live so a\nmissed callback repairs itself. Best-effort: returns a null status when the BU has no profile,\nthe org has no sub-account, or Twilio is unreachable. Requires organization admin.","operationId":"GetBusinessUnitsBusinessUnitIdSecondaryProfile","security":[{"HTTPBearer":[]}],"parameters":[{"name":"business_unit_id","in":"path","required":true,"schema":{"type":"string","title":"Business Unit Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecondaryProfileStatus"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getSecondaryProfile"}},"/v2/business-units/{business_unit_id}/secondary-profile/details":{"get":{"tags":["business-units"],"summary":"Get Secondary Profile Details","description":"Everything registered on the business unit's Twilio Secondary Profile — the business, its address\nand its authorized representatives. Read live from Twilio on every call: we keep only the SIDs, so\nthere is nothing stored to serve. Roughly seven blocking round trips, so this is for an on-demand\nview; the list endpoint must keep using the stored status instead.\n\n404 when the business unit has no profile of its own — it inherits the organization's identity and\nthere is nothing here to show. Requires organization admin.","operationId":"GetBusinessUnitsBusinessUnitIdSecondaryProfileDetails","security":[{"HTTPBearer":[]}],"parameters":[{"name":"business_unit_id","in":"path","required":true,"schema":{"type":"string","title":"Business Unit Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecondaryProfileDetails"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getSecondaryProfileDetails"}},"/v2/call-agent":{"patch":{"tags":["call-agent"],"summary":"Update Call Agent","description":"Update Call Agent\n\nUpdate voice and personality settings for the organization's call agent.","operationId":"PatchCallAgent","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCallAgentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallAgentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"update"}},"/v2/call-agent/voices":{"get":{"tags":["call-agent"],"summary":"List Voices","description":"List Call Agent Voices\n\nList available voices for the call agent.","operationId":"GetCallAgentVoices","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListVoicesResponse"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"listVoices"}},"/v2/call-agent/preview-speech":{"post":{"tags":["call-agent"],"summary":"Preview Speech","description":"Preview Speech\n\nSynthesize a short text snippet with the call agent's voice (for the pronunciation editor's\naudio preview). Returns base64-encoded audio with its MIME type.","operationId":"PostCallAgentPreviewSpeech","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewSpeechRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewSpeechResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"previewSpeech"}},"/v2/call-agent-scenarios":{"get":{"tags":["call-agent-scenarios"],"summary":"List every scenario for the caller's organization in creation order","description":"List every scenario for the caller's organization in creation order.","operationId":"GetCallAgentScenarios","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCallAgentScenariosSchema"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"list"},"post":{"tags":["call-agent-scenarios"],"summary":"Create a scenario in the caller's organization","description":"Create a scenario in the caller's organization.","operationId":"PostCallAgentScenarios","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCallAgentScenarioSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallAgentScenarioSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"create"}},"/v2/call-agent-scenarios/{call_agent_scenario_id}":{"get":{"tags":["call-agent-scenarios"],"summary":"Retrieve a scenario owned by the caller's organization","description":"Retrieve a scenario owned by the caller's organization.","operationId":"GetCallAgentScenariosCallAgentScenarioId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"call_agent_scenario_id","in":"path","required":true,"schema":{"type":"string","title":"Call Agent Scenario Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallAgentScenarioSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"},"post":{"tags":["call-agent-scenarios"],"summary":"Update both text fields without changing ownership","description":"Update both text fields without changing ownership.","operationId":"PostCallAgentScenariosCallAgentScenarioId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"call_agent_scenario_id","in":"path","required":true,"schema":{"type":"string","title":"Call Agent Scenario Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCallAgentScenarioSchema"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallAgentScenarioSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"update"},"delete":{"tags":["call-agent-scenarios"],"summary":"Delete an owned scenario; missing or foreign IDs remain a no-op","description":"Delete an owned scenario; missing or foreign IDs remain a no-op.","operationId":"DeleteCallAgentScenariosCallAgentScenarioId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"call_agent_scenario_id","in":"path","required":true,"schema":{"type":"string","title":"Call Agent Scenario Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"delete"}},"/v2/call-settings":{"get":{"tags":["call-settings"],"summary":"Get the current organization's call settings","description":"Get the current organization's call settings.","operationId":"GetCallSettings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallSettings"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"get"},"patch":{"tags":["call-settings"],"summary":"Update the current organization's call settings","description":"Update the current organization's call settings.","operationId":"PatchCallSettings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCallSettingsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallSettings"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"update"}},"/v2/calls":{"get":{"tags":["calls"],"summary":"List Calls","description":"Retrieve a paginated list of calls with optional filters.","operationId":"GetCalls","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CallStatus"}},{"type":"null"}],"title":"Status","description":"Filter by one or more call statuses, regardless of provider."},"description":"Filter by one or more call statuses, regardless of provider."},{"name":"business_unit_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Business Unit Id  In","description":"Filter by business unit IDs."},"description":"Filter by business unit IDs."},{"name":"sentiment","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CallSentiment"}},{"type":"null"}],"title":"Sentiment","description":"Filter by one or more sentiment values."},"description":"Filter by one or more sentiment values."},{"name":"answered_by","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["human","machine-ivr","machine-vm","machine-unavailable","uncertain"],"type":"string","x-speakeasy-enum-format":"union"}},{"type":"null"}],"title":"Answered By","description":"Filter LiveKit outbound calls by their final detected recipient. Uncertain matches recorded uncertain verdicts only; missing classifications are excluded."},"description":"Filter LiveKit outbound calls by their final detected recipient. Uncertain matches recorded uncertain verdicts only; missing classifications are excluded."},{"name":"classification","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/InteractionType"}},{"type":"null"}],"title":"Classification","description":"Filter by one or more call classification values."},"description":"Filter by one or more call classification values."},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/CallDirection"},{"type":"null"}],"title":"Direction","description":"Filter by call direction."},"description":"Filter by call direction."},{"name":"partner_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partner Id","description":"Filter by partner ID."},"description":"Filter by partner ID."},{"name":"invoice_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Id","description":"Filter by invoice ID."},"description":"Filter by invoice ID."},{"name":"workflow_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workflow Id","description":"Filter by workflow ID."},"description":"Filter by workflow ID."},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"Before","description":"Return calls that started or were created before this time."},"description":"Return calls that started or were created before this time."},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"After","description":"Return calls that started or were created after this time."},"description":"Return calls that started or were created after this time."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_CallListSchema_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"}},"/v2/calls/{call_id}":{"get":{"tags":["calls"],"summary":"Retrieve Call","description":"Return visible call details, including transcript, tasks, invoices and recording URL.\nBoth LiveKit and Retell records are read from the stored call; no provider lookup occurs.","operationId":"GetCallsCallId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"call_id","in":"path","required":true,"schema":{"type":"string","title":"Call Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallDetailSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"retrieve"}},"/v2/calls/export":{"post":{"tags":["calls"],"summary":"Export Calls","description":"Download all visible calls matching the list filters as calls.csv.\nUses the existing CSV columns and UTF-8 BOM; pagination is not applied.","operationId":"PostCallsExport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallFilters"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"text/csv":{"schema":{"type":"string","format":"binary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"export"}},"/v2/cash-app/auto-post/config":{"get":{"tags":["cash-app"],"summary":"Get Config","description":"Get Auto-Post Config\n\nReturns the current organization's cash-app auto-post configuration.","operationId":"GetCashAppAutoPostConfig","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoPostConfig"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"getConfig"},"patch":{"tags":["cash-app"],"summary":"Update Config","description":"Update Auto-Post Config\n\nUpdate the organization's auto-post configuration. Admin only.\nOmitted fields are left unchanged.","operationId":"PatchCashAppAutoPostConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAutoPostConfigRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoPostConfig"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"updateConfig"}},"/v2/cash-app/auto-post/profiles":{"get":{"tags":["cash-app"],"summary":"List Profiles","description":"List Auto-Post Profiles\n\nList the selectable auto-post policy profiles, each with display text for the settings UI.","operationId":"GetCashAppAutoPostProfiles","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AutoPostProfileInfo"},"type":"array","title":"Response Getcashappautopostprofiles"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"listProfiles"}},"/v2/cash-app/outreach":{"get":{"tags":["cash-app"],"summary":"List Outreach","description":"List Cash App Outreach Log\n\nList outreach log entries for the organization.\nCan be filtered by payment_id, bank_transaction_id, partner_id, outreach_type, and status.","operationId":"GetCashAppOutreach","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"sort_by","in":"query","required":false,"schema":{"const":"created_at","type":"string","title":"Sort By","default":"created_at"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","title":"","default":"desc"}},{"name":"payment_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Id","description":"Filter by payment ID."},"description":"Filter by payment ID."},{"name":"bank_transaction_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bank Transaction Id","description":"Filter by bank transaction ID."},"description":"Filter by bank transaction ID."},{"name":"partner_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partner Id","description":"Filter by partner ID."},"description":"Filter by partner ID."},{"name":"outreach_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/CashAppOutreachType"},{"type":"null"}],"title":"Outreach Type","description":"Filter by outreach type."},"description":"Filter by outreach type."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/CashAppOutreachStatus"},{"type":"null"}],"title":"Status","description":"Filter by status."},"description":"Filter by status."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_OutreachLogEntry_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"}},"/v2/cash-app/outreach/remittance-request/preview":{"get":{"tags":["cash-app"],"summary":"Preview Remittance Request Endpoint","description":"Preview Remittance Request\n\nReturns what would happen if a remittance request were sent for this bank transaction,\nincluding rendered email preview with actual transaction/customer data.\nRead-only — no emails are sent and no records are created.","operationId":"GetCashAppOutreachRemittanceRequestPreview","security":[{"HTTPBearer":[]}],"parameters":[{"name":"bank_transaction_id","in":"query","required":true,"schema":{"type":"string","description":"The bank transaction ID to preview a remittance request for.","title":"Bank Transaction Id"},"description":"The bank transaction ID to preview a remittance request for."},{"name":"partner_id","in":"query","required":true,"schema":{"type":"string","description":"The partner ID to preview with.","title":"Partner Id"},"description":"The partner ID to preview with."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemittanceRequestPreview"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"previewRemittanceRequest"}},"/v2/cash-app/outreach/remittance-request":{"post":{"tags":["cash-app"],"summary":"Send Remittance Request Endpoint","description":"Send Remittance Request\n\nSends a remittance request email for the given bank transaction.\nCreates a CashAppOutreach record tracking the result.\nAccepts optional custom subject and body to override template.","operationId":"PostCashAppOutreachRemittanceRequest","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendRemittanceRequestRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutreachLogEntry"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"sendRemittanceRequest"}},"/v2/cash-app/outreach/payment-receipt":{"post":{"tags":["cash-app"],"summary":"Send Payment Receipt Endpoint","description":"Send Payment Receipt\n\nSends a payment receipt email for the given payment.\nCreates a CashAppOutreach record tracking the result.","operationId":"PostCashAppOutreachPaymentReceipt","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendPaymentReceiptRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutreachLogEntry"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"sendPaymentReceipt"}},"/v2/credit-memos/search":{"get":{"tags":["credit-memos"],"summary":"Get Credit Memo Search","description":"Search Credit Memos\n\nSearch with fuzzy matching and pagination.\n\nNote:\n`Amounts are in standard units (e.g., 10.25 for $10.25 USD)`","operationId":"GetCreditMemosSearch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"query","in":"query","required":false,"schema":{"type":"string","title":"Query","description":"Search query (credit memo number, partner name, reference, etc.)","default":""},"description":"Search query (credit memo number, partner name, reference, etc.)"},{"name":"amount","in":"query","required":false,"schema":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":"Amount","description":"Amount in standard units (e.g., 10.25 for $10.25 USD) for relevance sorting by remaining balance proximity"},"description":"Amount in standard units (e.g., 10.25 for $10.25 USD) for relevance sorting by remaining balance proximity"},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"Currency","description":"ISO 4217 currency code for filtering and relevance scoring"},"description":"ISO 4217 currency code for filtering and relevance scoring"},{"name":"status__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CreditMemoStatus"}},{"type":"null"}],"title":"Status  In","description":"Filter by credit memo status"},"description":"Filter by credit memo status"},{"name":"partner_ids__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Partner Ids  In","description":"Filter by partner IDs"},"description":"Filter by partner IDs"},{"name":"business_unit_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Business Unit Id  In","description":"Filter by business unit IDs"},"description":"Filter by business unit IDs"},{"name":"min_score","in":"query","required":false,"schema":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Min Score","description":"Minimum relevance score threshold","default":0.0},"description":"Minimum relevance score threshold"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_CreditMemoSearchResult_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"search"}},"/v2/custom-fields":{"get":{"tags":["custom-fields"],"summary":"List all Custom Fields for the organization","description":"List all Custom Fields for the organization.","operationId":"GetCustomFields","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CustomFieldSchema"},"type":"array","title":"Response Getcustomfields"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"list"},"post":{"tags":["custom-fields"],"summary":"Create a Custom Field","description":"Defines a new, user-editable custom field for the given object type. The\nstorage key is derived from the name and, like the type, is immutable\nonce created.","operationId":"PostCustomFields","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomFieldInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"create"}},"/v2/custom-table-templates/available-columns":{"get":{"tags":["custom-table-templates"],"summary":"List Available Columns","description":"List Available Columns for Entity Type","operationId":"GetCustomTableTemplatesAvailableColumns","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entity_type","in":"query","required":false,"schema":{"type":"string","default":"overdue_invoices","title":"Entity Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AvailableColumn"},"title":"Response Getcustomtabletemplatesavailablecolumns"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listAvailableColumns"}},"/v2/custom-table-templates":{"get":{"tags":["custom-table-templates"],"summary":"List Templates","description":"List Custom Table Templates","operationId":"GetCustomTableTemplates","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_CustomTableTemplateSchema_"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"list"},"post":{"tags":["custom-table-templates"],"summary":"Create Template","description":"Create a Custom Table Template","operationId":"PostCustomTableTemplates","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomTableTemplateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomTableTemplateSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"create"}},"/v2/custom-table-templates/{template_id}":{"get":{"tags":["custom-table-templates"],"summary":"Get Template","description":"Get a Custom Table Template","operationId":"GetCustomTableTemplatesTemplateId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomTableTemplateSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"},"patch":{"tags":["custom-table-templates"],"summary":"Update Template","description":"Update a Custom Table Template","operationId":"PatchCustomTableTemplatesTemplateId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCustomTableTemplateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomTableTemplateSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"update"},"delete":{"tags":["custom-table-templates"],"summary":"Delete Template","description":"Delete a Custom Table Template","operationId":"DeleteCustomTableTemplatesTemplateId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"delete"}},"/v2/customer-segments":{"get":{"tags":["customer-segments"],"summary":"List Customer Segments","description":"Returns all customer segments for the organization, ordered by priority.","operationId":"GetCustomerSegments","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CustomerSegment"},"title":"Response Getcustomersegments"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"},"post":{"tags":["customer-segments"],"summary":"Create a Customer Segment","description":"Creates a new customer segment with the specified name, priority, and optional conditions.","operationId":"PostCustomerSegments","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomerSegmentInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerSegment"}}}},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"create"}},"/v2/customer-segments/custom-fields":{"get":{"tags":["customer-segments"],"summary":"List Custom Fields","description":"Returns custom fields available for the given object type.\nDefaults to partner custom fields for backward compatibility.","operationId":"GetCustomerSegmentsCustomFields","security":[{"HTTPBearer":[]}],"parameters":[{"name":"object_type","in":"query","required":false,"schema":{"type":"string","default":"partner","title":"Object Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PartnerCustomFieldSchema"},"title":"Response Getcustomersegmentscustomfields"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list_custom_fields"}},"/v2/customer-segments/reorder":{"post":{"tags":["customer-segments"],"summary":"Reorder Segments","description":"Updates the priority order of all segments. All organization segments must be included.","operationId":"PostCustomerSegmentsReorder","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/stuut__api_service__v2__routers__customer_segments__schemas__ReorderSegmentsInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CustomerSegment"},"type":"array","title":"Response Postcustomersegmentsreorder"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"reorder"}},"/v2/customer-segments/partners/{partner_id}":{"get":{"tags":["customer-segments"],"summary":"Get Segment for Partner","description":"Returns the customer segment that the specified partner belongs to,\nbased on priority-based exclusivity, including attached workflows.","operationId":"GetCustomerSegmentsPartnersPartnerId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/CustomerSegmentWithWorkflows"},{"type":"null"}],"title":"Response Getcustomersegmentspartnerspartnerid"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get_by_partner"}},"/v2/customer-segments/match":{"post":{"tags":["customer-segments"],"summary":"Match Segments for Partners","description":"Given a list of partner IDs, returns a mapping of partner_id to their\nmatching customer segment (highest priority). Partners with no matching\nsegment map to null.","operationId":"PostCustomerSegmentsMatch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchSegmentsInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/CustomerSegment"},{"type":"null"}]},"type":"object","title":"Response Postcustomersegmentsmatch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"match_for_partners"}},"/v2/customer-segments/{segment_id}":{"get":{"tags":["customer-segments"],"summary":"Get a Customer Segment","description":"Returns a customer segment by ID.","operationId":"GetCustomerSegmentsSegmentId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"segment_id","in":"path","required":true,"schema":{"type":"string","title":"Segment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerSegment"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"},"patch":{"tags":["customer-segments"],"summary":"Update a Customer Segment","description":"Updates a customer segment's name, description, priority, or conditions.","operationId":"PatchCustomerSegmentsSegmentId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"segment_id","in":"path","required":true,"schema":{"type":"string","title":"Segment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCustomerSegmentInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerSegment"}}}},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"update"},"delete":{"tags":["customer-segments"],"summary":"Delete a Customer Segment","description":"Permanently deletes a customer segment. Segments assigned to generic\nworkflows must be removed from those workflows first.","operationId":"DeleteCustomerSegmentsSegmentId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"segment_id","in":"path","required":true,"schema":{"type":"string","title":"Segment Id"}}],"responses":{"204":{"description":"Successful Response"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"delete"}},"/v2/customer-segments/{segment_id}/partners":{"get":{"tags":["customer-segments"],"summary":"Preview Partners","description":"Returns a paginated list of partners that match the segment's conditions.","operationId":"GetCustomerSegmentsSegmentIdPartners","security":[{"HTTPBearer":[]}],"parameters":[{"name":"segment_id","in":"path","required":true,"schema":{"type":"string","title":"Segment Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"exclusive","in":"query","required":false,"schema":{"type":"boolean","title":"Exclusive","description":"Deprecated and ignored; previews now always include every matching partner.","deprecated":true,"default":true},"description":"Deprecated and ignored; previews now always include every matching partner.","deprecated":true}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PartnerSummary"},"title":"Response Getcustomersegmentssegmentidpartners"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"preview_partners"}},"/v2/customer-segments/{segment_id}/count":{"get":{"tags":["customer-segments"],"summary":"Count Partners","description":"Returns the count of partners matching the segment's conditions.\n\nServes the cached ``partner_count`` when populated.","operationId":"GetCustomerSegmentsSegmentIdCount","security":[{"HTTPBearer":[]}],"parameters":[{"name":"segment_id","in":"path","required":true,"schema":{"type":"string","title":"Segment Id"}},{"name":"exclusive","in":"query","required":false,"schema":{"type":"boolean","description":"Deprecated and ignored; counts now include every matching partner.","deprecated":true,"default":true,"title":"Exclusive"},"description":"Deprecated and ignored; counts now include every matching partner.","deprecated":true}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"integer"},"title":"Response Getcustomersegmentssegmentidcount"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"count_partners"}},"/v2/deductions/knowledge/export":{"get":{"tags":["deductions-knowledge"],"summary":"Export Knowledge Entries as CSV","description":"Export Knowledge Entries as CSV","operationId":"GetDeductionsKnowledgeExport","responses":{"200":{"description":"Successful Response","content":{"text/csv":{"schema":{"type":"string"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"exportCsv"}},"/v2/deductions/knowledge/partners/{partner_id}/{operation}":{"put":{"tags":["deductions-knowledge"],"summary":"Save Customer Knowledge Entry","description":"Create or update a customer-scoped knowledge entry for a partner + operation.","operationId":"PutDeductionsKnowledgePartnersPartnerIdOperation","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}},{"name":"operation","in":"path","required":true,"schema":{"$ref":"#/components/schemas/Operation"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveKnowledgeEntryRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeEntry"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"saveByPartner"},"delete":{"tags":["deductions-knowledge"],"summary":"Delete Customer Knowledge Entry","description":"Delete a customer-scoped knowledge entry for a partner + operation.","operationId":"DeleteDeductionsKnowledgePartnersPartnerIdOperation","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}},{"name":"operation","in":"path","required":true,"schema":{"$ref":"#/components/schemas/Operation"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"deleteByPartner"}},"/v2/deductions/knowledge":{"get":{"tags":["deductions-knowledge"],"summary":"List Knowledge","description":"Returns all knowledge entries (global + customer-specific).","operationId":"GetDeductionsKnowledge","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeEntryList"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"list"}},"/v2/deductions/knowledge/{operation}":{"put":{"tags":["deductions-knowledge"],"summary":"Save Global Knowledge Entry","description":"Create or update a global knowledge entry for an operation.","operationId":"PutDeductionsKnowledgeOperation","security":[{"HTTPBearer":[]}],"parameters":[{"name":"operation","in":"path","required":true,"schema":{"$ref":"#/components/schemas/Operation"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveKnowledgeEntryRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeEntry"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"save"},"delete":{"tags":["deductions-knowledge"],"summary":"Delete Global Knowledge Entry","description":"Delete a global-scoped knowledge entry for an operation.","operationId":"DeleteDeductionsKnowledgeOperation","security":[{"HTTPBearer":[]}],"parameters":[{"name":"operation","in":"path","required":true,"schema":{"$ref":"#/components/schemas/Operation"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"delete"}},"/v2/dunning-states":{"get":{"tags":["dunning-states"],"summary":"List Dunning States","description":"List Dunning States","operationId":"GetDunningStates","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_DunningStateSchema_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"},"post":{"tags":["dunning-states"],"summary":"Create a Dunning State","description":"Create a Dunning State","operationId":"PostDunningStates","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDunningStateInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DunningStateSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"create"}},"/v2/dunning-states/{dunning_state_id}":{"get":{"tags":["dunning-states"],"summary":"Get a Dunning State","description":"Get a Dunning State","operationId":"GetDunningStatesDunningStateId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"dunning_state_id","in":"path","required":true,"schema":{"type":"string","title":"Dunning State Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DunningStateSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"},"patch":{"tags":["dunning-states"],"summary":"Update a Dunning State","description":"Update a Dunning State","operationId":"PatchDunningStatesDunningStateId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"dunning_state_id","in":"path","required":true,"schema":{"type":"string","title":"Dunning State Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDunningStateInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DunningStateSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"update"},"delete":{"tags":["dunning-states"],"summary":"Delete a Dunning State","description":"Delete a Dunning State","operationId":"DeleteDunningStatesDunningStateId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"dunning_state_id","in":"path","required":true,"schema":{"type":"string","title":"Dunning State Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"delete"}},"/v2/email-threads":{"get":{"tags":["email-threads"],"summary":"List Email Threads","description":"List Email Threads","operationId":"GetEmailThreads","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":50},"description":"Number of records per page."},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/EmailThreadCategories"},{"type":"null"}],"title":"Category","description":"Filter threads by category: drafts, unread, sent, or all."},"description":"Filter threads by category: drafts, unread, sent, or all."},{"name":"partner_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partner Id","description":"Filter threads by partner ID."},"description":"Filter threads by partner ID."},{"name":"invoice_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Id","description":"Filter threads by invoice ID."},"description":"Filter threads by invoice ID."},{"name":"credit_memo_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Credit Memo Id","description":"Filter threads by credit memo ID."},"description":"Filter threads by credit memo ID."},{"name":"workflow_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workflow Id","description":"Filter threads by workflow ID."},"description":"Filter threads by workflow ID."},{"name":"business_unit_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Business Unit Id  In","description":"Filter threads by business unit IDs. Independent of the user's BU visibility scope, which is always enforced."},"description":"Filter threads by business unit IDs. Independent of the user's BU visibility scope, which is always enforced."},{"name":"assignee","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assignee","description":"Filter by partner assignee user ID. Empty string filters to unassigned threads."},"description":"Filter by partner assignee user ID. Empty string filters to unassigned threads."},{"name":"has_responses","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Responses","description":"True: threads with more than one email; False: single-email threads."},"description":"True: threads with more than one email; False: single-email threads."},{"name":"read","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Read","description":"True: no unread inbound emails; False: at least one unread inbound email."},"description":"True: no unread inbound emails; False: at least one unread inbound email."},{"name":"has_open_tasks","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Open Tasks","description":"Filter threads by whether they have any open tasks."},"description":"Filter threads by whether they have any open tasks."},{"name":"triage_status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/EmailThreadTriageStatus"},{"type":"null"}],"title":"Triage Status","description":"Filter to threads in a specific triage state. Takes precedence over is_triaged and triaged_by__in."},"description":"Filter to threads in a specific triage state. Takes precedence over is_triaged and triaged_by__in."},{"name":"is_triaged","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Triaged","description":"True: AUTO_MATCHED or MANUALLY_MATCHED; False: PENDING. Ignored when triage_status is set."},"description":"True: AUTO_MATCHED or MANUALLY_MATCHED; False: PENDING. Ignored when triage_status is set."},{"name":"triaged_by__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Triaged By  In","description":"Filter resolved triage threads by the actor that resolved them. Use TRIAGE_AI_ACTOR_ID for AI-resolved."},"description":"Filter resolved triage threads by the actor that resolved them. Use TRIAGE_AI_ACTOR_ID for AI-resolved."},{"name":"is_from_centralized_inbox","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is From Centralized Inbox","description":"Filter threads to those from (or not from) the centralized inbox."},"description":"Filter threads to those from (or not from) the centralized inbox."},{"name":"is_internal","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Internal","description":"True: show only internal-to-internal threads (every address on every email belongs to the org). When True, bypasses the default partner_id requirement since internal threads have no partner. False/None: existing behavior."},"description":"True: show only internal-to-internal threads (every address on every email belongs to the org). When True, bypasses the default partner_id requirement since internal threads have no partner. False/None: existing behavior."},{"name":"exclude_drafts","in":"query","required":false,"schema":{"type":"boolean","title":"Exclude Drafts","description":"True: skip draft-only threads and order by the latest non-draft email. Drafts inside returned threads are still included.","default":false},"description":"True: skip draft-only threads and order by the latest non-draft email. Drafts inside returned threads are still included."},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search","description":"Search threads by partner name or email."},"description":"Search threads by partner name or email."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_EmailThreadSummary_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"}},"/v2/email-threads/{email_thread_id}/read":{"post":{"tags":["email-threads"],"summary":"Mark As Read","description":"Mark Email Thread As Read","operationId":"PostEmailThreadsEmailThreadIdRead","security":[{"HTTPBearer":[]}],"parameters":[{"name":"email_thread_id","in":"path","required":true,"schema":{"type":"string","title":"Email Thread Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"markAsRead"}},"/v2/email-threads/{email_thread_id}/assign":{"post":{"tags":["email-threads"],"summary":"Assign Thread Partner","description":"Assign Triage Thread To Partner","operationId":"PostEmailThreadsEmailThreadIdAssign","security":[{"HTTPBearer":[]}],"parameters":[{"name":"email_thread_id","in":"path","required":true,"schema":{"type":"string","title":"Email Thread Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignPartnerRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriageActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"assignPartner"}},"/v2/email-threads/{email_thread_id}/dismiss":{"post":{"tags":["email-threads"],"summary":"Dismiss Email Thread","description":"Dismiss Triage Thread","operationId":"PostEmailThreadsEmailThreadIdDismiss","security":[{"HTTPBearer":[]}],"parameters":[{"name":"email_thread_id","in":"path","required":true,"schema":{"type":"string","title":"Email Thread Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DismissThreadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriageActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"dismiss"}},"/v2/email-threads/{email_thread_id}/reopen":{"post":{"tags":["email-threads"],"summary":"Reopen Email Thread","description":"Reopen Dismissed Triage Thread","operationId":"PostEmailThreadsEmailThreadIdReopen","security":[{"HTTPBearer":[]}],"parameters":[{"name":"email_thread_id","in":"path","required":true,"schema":{"type":"string","title":"Email Thread Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriageActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"reopen"}},"/v2/email-threads/inbox/status":{"get":{"tags":["email-threads"],"summary":"Inbox Status","description":"Get Inbox Status","operationId":"GetEmailThreadsInboxStatus","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboxStatusResponse"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"inboxStatus"}},"/v2/email-threads/senders/{email_sender_id}/centralized-inbox":{"post":{"tags":["email-threads"],"summary":"Toggle Centralized Inbox Endpoint","description":"Toggle Centralized Inbox","operationId":"PostEmailThreadsSendersEmailSenderIdCentralizedInbox","security":[{"HTTPBearer":[]}],"parameters":[{"name":"email_sender_id","in":"path","required":true,"schema":{"type":"string","title":"Email Sender Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CentralizedInboxToggleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"toggleCentralizedInbox"}},"/v2/email-threads/settings":{"get":{"tags":["email-threads"],"summary":"Get Settings Endpoint","description":"Get Centralized Inbox Settings","operationId":"GetEmailThreadsSettings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CentralizedInboxSettingsResponse"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"getSettings"},"patch":{"tags":["email-threads"],"summary":"Update Settings Endpoint","description":"Update Centralized Inbox Settings","operationId":"PatchEmailThreadsSettings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoAssignSettingsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CentralizedInboxSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"updateSettings"}},"/v2/email-threads/{email_thread_id}/emails/{email_id}/invoices/{invoice_id}/pdf/presign":{"post":{"tags":["email-threads"],"summary":"Presign Invoice Pdf","description":"Presign Invoice PDF Upload On Draft Email","operationId":"PostEmailThreadsEmailThreadIdEmailsEmailIdInvoicesInvoiceIdPdfPresign","security":[{"HTTPBearer":[]}],"parameters":[{"name":"email_thread_id","in":"path","required":true,"schema":{"type":"string","title":"Email Thread Id"}},{"name":"email_id","in":"path","required":true,"schema":{"type":"string","title":"Email Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignInvoicePdfRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignInvoicePdfResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"presignInvoicePdf"}},"/v2/email-threads/{email_thread_id}/emails/{email_id}/invoices/{invoice_id}/pdf/{attachment_id}/verify":{"post":{"tags":["email-threads"],"summary":"Verify Invoice Pdf","description":"Verify Invoice PDF Upload On Draft Email","operationId":"PostEmailThreadsEmailThreadIdEmailsEmailIdInvoicesInvoiceIdPdfAttachmentIdVerify","security":[{"HTTPBearer":[]}],"parameters":[{"name":"email_thread_id","in":"path","required":true,"schema":{"type":"string","title":"Email Thread Id"}},{"name":"email_id","in":"path","required":true,"schema":{"type":"string","title":"Email Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}},{"name":"attachment_id","in":"path","required":true,"schema":{"type":"string","title":"Attachment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attachment"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"verifyInvoicePdf"}},"/v2/emails/{email_id}/translate":{"post":{"tags":["emails"],"summary":"Translate Email","description":"Preview a translation of displayed email content or an unsaved draft.","operationId":"PostEmailsEmailIdTranslate","security":[{"HTTPBearer":[]}],"parameters":[{"name":"email_id","in":"path","required":true,"schema":{"type":"string","title":"Email Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranslateEmailRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailTranslation"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"translate"}},"/v2/emails/{email_id}/forward":{"post":{"tags":["emails"],"summary":"Forward Email","description":"Create a DRAFT forward of an existing email. Does not send.\n\nThe forwarded draft renders the source email Gmail-style and re-attaches its\nattachments. Recipient lists come exclusively from the request body — the\nsource email's recipients are never used.","operationId":"PostEmailsEmailIdForward","security":[{"HTTPBearer":[]}],"parameters":[{"name":"email_id","in":"path","required":true,"schema":{"type":"string","title":"Email Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForwardEmailRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"createForwardDraft"}},"/v2/emails/drafts/regenerate":{"post":{"tags":["emails"],"summary":"Regenerate Drafts","description":"Regenerate pending outreach drafts from their current templates.\n\nDrafts are rendered when an outreach stage or statement schedule runs, so a\ntemplate fix does not reach drafts already waiting for approval. This queues a\nbackground job that re-renders the selected unsent drafts through the same\npath that created them and replaces the old drafts. Nothing is sent. By\ndefault, drafts a user has already edited are left as they are.\n\nWith no filter every pending outreach draft is regenerated; `workflow_id`\nlimits it to one workflow and `email_ids` to specific drafts. Returns the\nnumber of drafts queued; the regeneration completes asynchronously.","operationId":"PostEmailsDraftsRegenerate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegenerateDraftsRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegenerateDraftsResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"regenerateDrafts"}},"/v2/emails/{email_id}/attach-task-attachments":{"post":{"tags":["emails"],"summary":"Attach Task Attachments","description":"Copy a task's attachments onto a draft email, skipping files it already has.","operationId":"PostEmailsEmailIdAttachTaskAttachments","security":[{"HTTPBearer":[]}],"parameters":[{"name":"email_id","in":"path","required":true,"schema":{"type":"string","title":"Email Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachTaskAttachmentsRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"attachTaskAttachments"}},"/v2/api-keys":{"get":{"tags":["api-keys"],"summary":"List the organization's API keys without revealing their secrets","description":"List the organization's API keys without revealing their secrets.","operationId":"GetApiKeys","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyListResponse"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"list"},"post":{"tags":["api-keys"],"summary":"Create an API key with explicit scopes and reveal its secret once","description":"Create an API key with explicit scopes and reveal its secret once.","operationId":"PostApiKeys","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAPIKeyRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAPIKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"create"}},"/v2/api-keys/owners":{"get":{"tags":["api-keys"],"summary":"List organization users and the API scopes they can grant to a key","description":"List organization users and the API scopes they can grant to a key.","operationId":"GetApiKeysOwners","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyOwnerListResponse"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"listOwners"}},"/v2/api-keys/{key_id}":{"delete":{"tags":["api-keys"],"summary":"Revoke an organization's API key immediately","description":"Revoke an organization's API key immediately.","operationId":"DeleteApiKeysKeyId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"revoke"}},"/v2/exports":{"post":{"tags":["exports"],"summary":"Create Export","description":"Request Export\n\nRequest an async export of data. The export will be processed in the background\nand you will receive an email with a download link when it's ready.\n\nIf a pending/processing export with the same type and filters exists,\nreturns that instead of creating a duplicate.","operationId":"PostExports","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateExportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"create"},"get":{"tags":["exports"],"summary":"List Exports Endpoint","description":"List Exports\n\nRetrieve a list of exports. By default, only shows exports created by the\ncurrent user. Admins can see all organization exports by setting include_all_org=true.","operationId":"GetExports","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"title":"Limit","default":50}},{"name":"include_all_org","in":"query","required":false,"schema":{"type":"boolean","title":"Include All Org","description":"If true (and user is admin), show all organization exports","default":false},"description":"If true (and user is admin), show all organization exports"},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id","description":"Filter exports by the user who requested them (admin only)"},"description":"Filter exports by the user who requested them (admin only)"},{"name":"created_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created After","description":"Filter exports created on or after this date"},"description":"Filter exports created on or after this date"},{"name":"created_before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created Before","description":"Filter exports created on or before this date"},"description":"Filter exports created on or before this date"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"}},"/v2/exports/{export_id}":{"get":{"tags":["exports"],"summary":"Get Export","description":"Get Export\n\nRetrieve details of a specific export including download URL if ready.\nUsers can only access their own exports unless they are org admins.","operationId":"GetExportsExportId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"export_id","in":"path","required":true,"schema":{"type":"string","title":"Export Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"}},"/v2/integrations/connections":{"get":{"tags":["integrations"],"summary":"List Connections","description":"Retrieve a list of integration connections.","operationId":"GetIntegrationsConnections","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/IntegrationConnection"},"type":"array","title":"Response Getintegrationsconnections"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"integrations.connections","x-speakeasy-name-override":"list"},"post":{"tags":["integrations"],"summary":"Create a Connection","description":"Create an integration connection. Body varies by integration provider.","operationId":"PostIntegrationsConnections","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConnectionCreateBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConnection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"integrations.connections","x-speakeasy-name-override":"create"}},"/v2/integrations/connections/{connection_id}":{"get":{"tags":["integrations"],"summary":"Get a Connection","description":"Retrieve a single integration connection by ID.","operationId":"GetIntegrationsConnectionsConnectionId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConnection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.connections","x-speakeasy-name-override":"get"},"patch":{"tags":["integrations"],"summary":"Update a Connection","description":"Update an integration connection. Body varies by integration provider.","operationId":"PatchIntegrationsConnectionsConnectionId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConnectionUpdateBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConnection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.connections","x-speakeasy-name-override":"update"},"delete":{"tags":["integrations"],"summary":"Delete a Connection","description":"Delete the connection and its provider-side resources. Idempotent:\nreturns 204 even when the connection does not exist.","operationId":"DeleteIntegrationsConnectionsConnectionId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.connections","x-speakeasy-name-override":"delete"}},"/v2/integrations/connections/{connection_id}/authenticate":{"post":{"tags":["integrations"],"summary":"Authenticate a Connection","description":"Submit credentials for the connection's provider, clear the\npending-authentication flag, and run a health check.","operationId":"PostIntegrationsConnectionsConnectionIdAuthenticate","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConnectionAuthenticateBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConnection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.connections","x-speakeasy-name-override":"authenticateConnection"}},"/v2/integrations/connections/{connection_id}/check-health":{"post":{"tags":["integrations"],"summary":"Check Connection Health","description":"Run a health check for the connection.","operationId":"PostIntegrationsConnectionsConnectionIdCheckHealth","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConnection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.connections","x-speakeasy-name-override":"checkConnectionHealth"}},"/v2/integrations/connections/{connection_id}/logs":{"get":{"tags":["integrations"],"summary":"List Connection API Request Logs","description":"Retrieve a paginated list of API request logs for an integration connection.","operationId":"GetIntegrationsConnectionsConnectionIdLogs","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"search","in":"query","required":false,"schema":{"type":"string","title":"Search","description":"Search in request URL"},"description":"Search in request URL"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_IntegrationConnectionAPIRequestLog_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.connections","x-speakeasy-name-override":"listConnectionAPILogs"}},"/v2/integrations/connections/{connection_id}/logs/{log_id}":{"get":{"tags":["integrations"],"summary":"List Connection API Request Logs","description":"Retrieve a paginated list of API request logs for an integration connection.","operationId":"GetIntegrationsConnectionsConnectionIdLogsLogId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}},{"name":"log_id","in":"path","required":true,"schema":{"type":"string","title":"Log Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConnectionAPIRequestLog"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.connections","x-speakeasy-name-override":"getConnectionAPILog"}},"/v2/integrations/connections/{connection_id}/webhook-logs":{"get":{"tags":["integrations"],"summary":"List Connection Webhook Logs","description":"Retrieve a paginated list of webhook logs for an integration connection.","operationId":"GetIntegrationsConnectionsConnectionIdWebhookLogs","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_IntegrationConnectionWebhook_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.connections","x-speakeasy-name-override":"listConnectionWebhookLogs"}},"/v2/integrations/connections/{connection_id}/api-usage-metrics":{"get":{"tags":["integrations"],"summary":"Get Connection API Metrics","description":"Return API usage metrics for the connection, optionally limited to\nrequests made since the given timestamp.","operationId":"GetIntegrationsConnectionsConnectionIdApiUsageMetrics","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationAPIUsageMetrics"},"title":"Response Getintegrationsconnectionsconnectionidapiusagemetrics"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.connections","x-speakeasy-name-override":"getConnectionAPIUsageMetrics"}},"/v2/integrations/connections/{connection_id}/sync":{"post":{"tags":["integrations"],"summary":"Request a Sync","description":"Request a data sync for an integration connection.","operationId":"PostIntegrationsConnectionsConnectionIdSync","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationConnectionModelSync"},"title":"Response Postintegrationsconnectionsconnectionidsync"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.connections","x-speakeasy-name-override":"requestSync"}},"/v2/integrations/models/{model_id}/syncs":{"get":{"tags":["integrations"],"summary":"List Model Syncs","description":"List the sync runs of an integration model, newest first, with the file and the uploader of each file sync.\n\n`model_id` is a linked model ID (`lim_…`). A linked integration is the record behind a connector\n(a v2 connection), and a linked model is one data type in it. Connection model IDs (`ign_cx_mdl_…`)\nare not accepted.","operationId":"GetIntegrationsModelsModelIdSyncs","security":[{"HTTPBearer":[]}],"parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","description":"A linked model ID (`lim_…`).","title":"Model Id"},"description":"A linked model ID (`lim_…`)."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_IntegrationModelSyncSummary_"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.models","x-speakeasy-name-override":"listSyncs"}},"/v2/integrations/providers":{"get":{"tags":["integrations"],"summary":"List Providers","description":"Retrieve a list of integration providers. LD-gated integrations are\nexcluded for tenants that haven't been targeted.","operationId":"GetIntegrationsProviders","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/IntegrationProviderResponse"},"type":"array","title":"Response Getintegrationsproviders"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"integrations.providers","x-speakeasy-name-override":"list"}},"/v2/integrations/providers/boomi/customers":{"post":{"tags":["integrations"],"summary":"Push a batch of customer master records from Boomi","description":"Maximum 100 records per request. Each record is upserted by\n`<customer_code>-<company_code>` against `Partner.remote_id` within the\ntenant resolved from the API key — one partner per company-code\nrelationship. Records without a `company_code` come back as\nCOMPANY_CODE_REQUIRED.","operationId":"PostIntegrationsProvidersBoomiCustomers","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BoomiCustomerPayload"},"type":"array","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoomiInboundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"integrations.providers.Boomi","x-speakeasy-name-override":"pushCustomers"}},"/v2/integrations/providers/boomi/contacts":{"post":{"tags":["integrations"],"summary":"Push a batch of customer contact records from Boomi","description":"Maximum 100 records per request. Each contact is upserted by `remote_id`\nunder every company-code partner of the customer named by `customer_code`,\nso the same person is reachable from each entity's statements and dunning.","operationId":"PostIntegrationsProvidersBoomiContacts","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BoomiContactPayload"},"type":"array","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoomiInboundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"integrations.providers.Boomi","x-speakeasy-name-override":"pushContacts"}},"/v2/integrations/providers/boomi/invoices":{"post":{"tags":["integrations"],"summary":"Push a batch of invoice / credit-memo records from Boomi","description":"Documents with `debit_credit_indicator == \"H\"` are routed to the\nCreditMemo model; \"S\" lands as an Invoice. Max 100 per request.","operationId":"PostIntegrationsProvidersBoomiInvoices","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BoomiInvoicePayload"},"type":"array","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoomiInboundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"integrations.providers.Boomi","x-speakeasy-name-override":"pushInvoices"}},"/v2/integrations/providers/boomi/activities/processing-response":{"post":{"tags":["integrations"],"summary":"Boomi → Stuut: confirm whether SAP applied a writeback","description":"Authenticates with the same Bearer ``api_key`` the inbound push endpoints\nuse. The ``request_id`` must match a ``BoomiActivityDelivery`` row owned\nby the resolved connection — Stuut flips that row to DELIVERED on\n``status == \"success\"`` or FAILED otherwise.\n\nRe-posting the same terminal status is a no-op (returns the cached row's\nstate). Posting a *different* terminal status for the same request_id\nis rejected with 409 so Boomi noise doesn't silently overwrite a prior\noutcome.","operationId":"PostIntegrationsProvidersBoomiActivitiesProcessingResponse","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoomiActivityProcessingResponse"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoomiActivityProcessingAck"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"integrations.providers.Boomi","x-speakeasy-name-override":"ackActivityProcessing"}},"/v2/integrations/providers/boomi/invoices/{remote_id}/pdf":{"post":{"tags":["integrations"],"summary":"Attach a PDF to an existing invoice by URL — Stuut GETs the PDF from","description":"`pdf_url` and stores it. The invoice record must already have been pushed\nvia `/invoices`; otherwise this returns 404.","operationId":"PostIntegrationsProvidersBoomiInvoicesRemoteIdPdf","security":[{"HTTPBearer":[]}],"parameters":[{"name":"remote_id","in":"path","required":true,"schema":{"type":"string","title":"Remote Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoomiInvoicePdfPayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoomiInboundResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.providers.Boomi","x-speakeasy-name-override":"uploadInvoicePDF"}},"/v2/integrations/providers/citi/{connection_id}/accounts":{"get":{"tags":["integrations"],"summary":"List Citi Bank Accounts","description":"List all Citi bank accounts visible to a connection, for the account-selection setting.","operationId":"GetIntegrationsProvidersCitiConnectionIdAccounts","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CitiBankAccountOption"},"title":"Response Getintegrationsprovidersciticonnectionidaccounts"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.providers.Citi","x-speakeasy-name-override":"listAccounts"}},"/v2/integrations/providers/kyriba/{connection_id}/process-templates":{"get":{"tags":["integrations"],"summary":"List Process Templates","description":"List all available process templates for a Kyriba connection.","operationId":"GetIntegrationsProvidersKyribaConnectionIdProcessTemplates","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KyribaProcessTemplate"},"title":"Response Getintegrationsproviderskyribaconnectionidprocesstemplates"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.providers.Kyriba","x-speakeasy-name-override":"listProcessTemplates"}},"/v2/integrations/providers/ms-dynamics-bc/{connection_id}/environments":{"get":{"tags":["integrations"],"summary":"List Business Central Environments","description":"List all Business Central environments for a given connection.","operationId":"GetIntegrationsProvidersMsDynamicsBcConnectionIdEnvironments","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Getintegrationsprovidersmsdynamicsbcconnectionidenvironments"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.providers.MsDynamicsBc","x-speakeasy-name-override":"listEnvironments"}},"/v2/integrations/providers/ms-dynamics-bc/{connection_id}/companies":{"get":{"tags":["integrations"],"summary":"List Business Central Companies","description":"List all Business Central companies for a given connection.","operationId":"GetIntegrationsProvidersMsDynamicsBcConnectionIdCompanies","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}},{"name":"environment","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Environment"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BusinessCentralCompany"},"title":"Response Getintegrationsprovidersmsdynamicsbcconnectionidcompanies"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.providers.MsDynamicsBc","x-speakeasy-name-override":"listCompanies"}},"/v2/integrations/providers/ms-dynamics-fo/{connection_id}/legal-entities":{"get":{"tags":["integrations"],"summary":"List Finance & Operations Legal Entities","description":"List all legal entities (companies) for a given connection.","operationId":"GetIntegrationsProvidersMsDynamicsFoConnectionIdLegalEntities","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LegalEntity"},"title":"Response Getintegrationsprovidersmsdynamicsfoconnectionidlegalentities"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.providers.MsDynamicsFo","x-speakeasy-name-override":"listLegalEntities"}},"/v2/integrations/providers/netsuite/{connection_id}/certificate.pem":{"get":{"tags":["integrations"],"summary":"Download the M2M public certificate as a .pem file for uploading to NetSuite","description":"Download the M2M public certificate as a .pem file for uploading to NetSuite.","operationId":"GetIntegrationsProvidersNetsuiteConnectionIdCertificate.Pem","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.providers.Netsuite","x-speakeasy-name-override":"downloadCertificate"}},"/v2/integrations/providers/oracle-fusion2/{connection_id}/business-event-subscriptions":{"post":{"tags":["integrations"],"summary":"Enqueue OIC deployment in integration-service","description":"Enqueue OIC deployment in integration-service.","operationId":"PostIntegrationsProvidersOracleFusion2ConnectionIdBusinessEventSubscriptions","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OracleOICOnboarding"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OracleOICJob"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.providers.OracleFusion2","x-speakeasy-name-override":"registerBusinessEventSubscriptions"},"delete":{"tags":["integrations"],"summary":"Enqueue OIC teardown in integration-service","description":"Enqueue OIC teardown in integration-service.","operationId":"DeleteIntegrationsProvidersOracleFusion2ConnectionIdBusinessEventSubscriptions","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OracleOICJob"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.providers.OracleFusion2","x-speakeasy-name-override":"deleteBusinessEventSubscriptions"},"get":{"tags":["integrations"],"summary":"Read the latest OIC request status without contacting OIC","description":"Read the latest OIC request status without contacting OIC.","operationId":"GetIntegrationsProvidersOracleFusion2ConnectionIdBusinessEventSubscriptions","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OracleOICStatus"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-group":"integrations.providers.OracleFusion2"}},"/v2/integrations/providers/sap-btp/customers":{"post":{"tags":["integrations"],"summary":"Push a batch of customer master records from SAP BTP","description":"Maximum 100 records per request. Each record is upserted by\n``id`` against Partner.remote_id within the tenant\nresolved from the API key.","operationId":"PostIntegrationsProvidersSapBtpCustomers","requestBody":{"content":{"application/json":{"schema":{"items":{"anyOf":[{"$ref":"#/components/schemas/CustomerPayload"},{"$ref":"#/components/schemas/SapBtpCustomerPayload"}]},"type":"array","maxItems":100,"title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"413":{"description":"Batch exceeds the record limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"422":{"description":"Batch rejected; no records processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"default":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"integrations.providers.SapBtp","x-speakeasy-name-override":"pushCustomers"}},"/v2/integrations/providers/sap-btp/contacts":{"post":{"tags":["integrations"],"summary":"Push a batch of customer contact records from SAP BTP","description":"Maximum 100 records per request. Each contact is upserted by ``id``\nunder the customer named by ``customer_id``.","operationId":"PostIntegrationsProvidersSapBtpContacts","requestBody":{"content":{"application/json":{"schema":{"items":{"anyOf":[{"$ref":"#/components/schemas/ContactPayload"},{"$ref":"#/components/schemas/SapBtpContactPayload"}]},"type":"array","maxItems":100,"title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"413":{"description":"Batch exceeds the record limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"422":{"description":"Batch rejected; no records processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"default":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"integrations.providers.SapBtp","x-speakeasy-name-override":"pushContacts"}},"/v2/integrations/providers/sap-btp/invoices":{"post":{"tags":["integrations"],"summary":"Push a batch of invoice/credit-memo records from SAP BTP","description":"Maximum 100 records per request. ``debit_credit_code`` S = Invoice,\nH = CreditMemo. Invoice status is derived from ``clearing_date``.","operationId":"PostIntegrationsProvidersSapBtpInvoices","requestBody":{"content":{"application/json":{"schema":{"items":{"anyOf":[{"$ref":"#/components/schemas/InvoicePayload"},{"$ref":"#/components/schemas/SapBtpInvoicePayload"}]},"type":"array","maxItems":100,"title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"413":{"description":"Batch exceeds the record limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"422":{"description":"Batch rejected; no records processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"default":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"integrations.providers.SapBtp","x-speakeasy-name-override":"pushInvoices"}},"/v2/integrations/providers/sap-btp/payments":{"post":{"tags":["integrations"],"summary":"Push a batch of payment records from SAP BTP","description":"Maximum 100 records per request. Each payment carries allocations\nlinking it to the invoices/CMs it clears.","operationId":"PostIntegrationsProvidersSapBtpPayments","requestBody":{"content":{"application/json":{"schema":{"items":{"anyOf":[{"$ref":"#/components/schemas/PaymentPayload"},{"$ref":"#/components/schemas/SapBtpPaymentPayload"}]},"type":"array","maxItems":100,"title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"413":{"description":"Batch exceeds the record limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"422":{"description":"Batch rejected; no records processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}},"default":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SapBtpInboundResponse"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"integrations.providers.SapBtp","x-speakeasy-name-override":"pushPayments"}},"/v2/integrations/providers/zoominfo/contacts/company":{"post":{"tags":["integrations"],"summary":"Find ZoomInfo Company","description":"Find the account's company from its email domain, else from its name, with other name matches to pick\nfrom. Spends no lookup credit.","operationId":"PostIntegrationsProvidersZoominfoContactsCompany","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoomInfoCompanyBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoomInfoCompanyMatch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"integrations.providers.Zoominfo","x-speakeasy-name-override":"findCompany"}},"/v2/integrations/providers/zoominfo/contacts/search":{"post":{"tags":["integrations"],"summary":"Search ZoomInfo Contacts","description":"Suggest finance contacts with an email or a phone at the chosen company. Spends no lookup credit.","operationId":"PostIntegrationsProvidersZoominfoContactsSearch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoomInfoContactSearchBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ZoomInfoSuggestedContact"},"type":"array","title":"Response Postintegrationsproviderszoominfocontactssearch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"integrations.providers.Zoominfo","x-speakeasy-name-override":"searchContacts"}},"/v2/integrations/providers/zoominfo/contacts/reveal":{"post":{"tags":["integrations"],"summary":"Reveal ZoomInfo Contact","description":"Reveal one suggested contact's email and phone, spending one lookup credit when ZoomInfo returns it. A 404 when\nZoomInfo no longer has a current match, which spends nothing.","operationId":"PostIntegrationsProvidersZoominfoContactsReveal","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoomInfoContactRevealBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoomInfoRevealedContact"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-group":"integrations.providers.Zoominfo","x-speakeasy-name-override":"revealContact"}},"/v2/internal-contacts":{"post":{"tags":["internal-contacts"],"summary":"Create an Internal Contact","description":"Creates a new internal contact (a person within the organization) and\nrecords their role via a floating assignment (no partner attached).","operationId":"PostInternalContacts","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInternalContactRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalContactAssignment"}}}},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Unprocessable Content"}},"x-speakeasy-name-override":"create"},"get":{"tags":["internal-contacts"],"summary":"List Internal Contacts","description":"List internal contacts for the current organization.","operationId":"GetInternalContacts","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_InternalContact_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"}},"/v2/internal-contacts/{internal_contact_id}":{"get":{"tags":["internal-contacts"],"summary":"Get an Internal Contact","description":"Fetch a single internal contact by ID.","operationId":"GetInternalContactsInternalContactId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"internal_contact_id","in":"path","required":true,"schema":{"type":"string","title":"Internal Contact Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalContact"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"},"patch":{"tags":["internal-contacts"],"summary":"Update an Internal Contact","description":"Update fields on an internal contact. Name and phone changes propagate to\nall partner assignments automatically since the person is a single row.","operationId":"PatchInternalContactsInternalContactId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"internal_contact_id","in":"path","required":true,"schema":{"type":"string","title":"Internal Contact Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateInternalContactRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalContact"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Unprocessable Content"}},"x-speakeasy-name-override":"update"}},"/v2/invoice-pdf-templates":{"get":{"tags":["invoice-pdf-templates"],"summary":"List Templates","description":"List Invoice PDF Templates\n\nThe default template first, then the other templates by name. Unset fields report\ntheir defaults. An organization without a default template gets one, with generation off.","operationId":"GetInvoicePdfTemplates","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/InvoicePdfTemplateResponse"},"type":"array","title":"Response Getinvoicepdftemplates"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"listTemplates"},"post":{"tags":["invoice-pdf-templates"],"summary":"Create Template","description":"Create Invoice PDF Template\n\nCreate a template picked by invoices whose `invoice_template` custom field equals `slug`;\nwithout a slug it is never picked automatically. The slug must not be another template's.\nStart from `duplicate_from_id` or `layout_name`, not both. Requires admin access.","operationId":"PostInvoicePdfTemplates","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicePdfTemplateCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicePdfTemplateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"createTemplate"}},"/v2/invoice-pdf-templates/layouts":{"get":{"tags":["invoice-pdf-templates"],"summary":"List Layouts","description":"List Invoice PDF Layouts\n\nShared designs, then any built for this organization. `layout_name` must be one of these.","operationId":"GetInvoicePdfTemplatesLayouts","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/InvoicePdfLayoutOption"},"type":"array","title":"Response Getinvoicepdftemplateslayouts"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"listLayouts"}},"/v2/invoice-pdf-templates/line-item-custom-fields":{"get":{"tags":["invoice-pdf-templates"],"summary":"List Line Item Custom Fields","description":"List Line-Item Custom Fields\n\nCustom fields found on the line items of the organization's newest invoices, for\n`custom_field` line-item columns. `label` is the one the integration stored, if any.","operationId":"GetInvoicePdfTemplatesLineItemCustomFields","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/LineItemCustomFieldOption"},"type":"array","title":"Response Getinvoicepdftemplateslineitemcustomfields"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"listLineItemCustomFields"}},"/v2/invoice-pdf-templates/build-from-pdf":{"post":{"tags":["invoice-pdf-templates"],"summary":"Build From Pdf","description":"Draft a Template From an Invoice PDF\n\nReads a PDF the organization's own billing system printed (one invoice, or several, with any\nterms pages) and drafts the template that prints like it: the closest layout, the elements it\nprints, issuer and payment details as printed, line-item columns, header fields and terms.\nThe logo is cut out of page 1 and stored, so the draft's `logo_url` is ready to use. Nothing\nelse is saved; pass the draft's `config` to `createTemplate`. Bank details are copied from the\npage and listed under `review` for checking. PDF only, up to 20 MB. Requires admin access.","operationId":"PostInvoicePdfTemplatesBuildFromPdf","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_PostInvoicePdfTemplatesBuildFromPdf"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicePdfTemplateBuildResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"buildFromPdf"}},"/v2/invoice-pdf-templates/generation":{"put":{"tags":["invoice-pdf-templates"],"summary":"Set Generation","description":"Turn Invoice PDF Generation On or Off\n\nThe organization's explicit opt-in, off until someone with settings access turns it on, and read back as\n`is_invoice_pdf_generation_enabled` on the organization. Stored in LaunchDarkly, so a read straight after this can briefly return the old\nvalue; use this response instead. Requires admin access.","operationId":"PutInvoicePdfTemplatesGeneration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicePdfGenerationSwitch"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicePdfGenerationSwitch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"setGeneration"}},"/v2/invoice-pdf-templates/{template_id}":{"put":{"tags":["invoice-pdf-templates"],"summary":"Update Template","description":"Update Invoice PDF Template\n\nOnly fields included in the request are updated. Requires admin access.","operationId":"PutInvoicePdfTemplatesTemplateId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicePdfTemplateUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicePdfTemplateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"updateTemplate"},"delete":{"tags":["invoice-pdf-templates"],"summary":"Delete Template","description":"Delete Invoice PDF Template\n\nThe default template cannot be deleted. Requires admin access.","operationId":"DeleteInvoicePdfTemplatesTemplateId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"deleteTemplate"}},"/v2/invoice-pdf-templates/preview":{"post":{"tags":["invoice-pdf-templates"],"summary":"Post Preview Pdf","description":"Preview Invoice PDF\n\nRender a sample invoice with template `template_id` (the default when omitted), with\nany fields in the body layered on top so unsaved edits can be previewed.","operationId":"PostInvoicePdfTemplatesPreview","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/InvoicePdfTemplateRequest"},{"type":"null"}],"title":"Config"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}},"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"previewPdf"}},"/v2/invoices":{"get":{"tags":["invoices"],"summary":"Get Invoices","description":"List Invoices\n\nRetrieve a paginated list of invoices with filtering and sorting.","operationId":"GetInvoices","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"enum":["default","due_date","issued_at","paid_at","amount_due","amount_remaining","pending_amount_remaining","total_amount","number","last_outreach_at","promised_to_pay_date"],"type":"string","x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","title":"","default":"desc"}},{"name":"status__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/InvoiceVirtualStatus"}},{"type":"null"}],"title":"Status  In","description":"Filter by invoice status. Includes virtual statuses: 'processing' (open with payment), 'partially_paid', 'overdue' (open and past due), 'promised' (open with an upcoming or current promise-to-pay date), 'broken_promise' (open with a promise-to-pay date that has passed)."},"description":"Filter by invoice status. Includes virtual statuses: 'processing' (open with payment), 'partially_paid', 'overdue' (open and past due), 'promised' (open with an upcoming or current promise-to-pay date), 'broken_promise' (open with a promise-to-pay date that has passed)."},{"name":"partner_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partner Id","description":"Filter by partner ID"},"description":"Filter by partner ID"},{"name":"assignee_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assignee Id","description":"Filter by assignee ID"},"description":"Filter by assignee ID"},{"name":"number__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Number  In","description":"Filter by invoice numbers"},"description":"Filter by invoice numbers"},{"name":"amount_remaining_lte","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"Amount Remaining Lte"}},{"name":"amount_remaining_gte","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"Amount Remaining Gte"}},{"name":"in_dispute","in":"query","required":false,"schema":{"type":"boolean","title":"In Dispute","description":"Filter by whether invoice is in dispute"},"description":"Filter by whether invoice is in dispute"},{"name":"due_date__eq","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date  Eq","description":"Due date exactly on"},"description":"Due date exactly on"},{"name":"due_date__gte","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date  Gte","description":"Due date on or after"},"description":"Due date on or after"},{"name":"due_date__lte","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date  Lte","description":"Due date on or before"},"description":"Due date on or before"},{"name":"issued_at__eq","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Issued At  Eq","description":"Issued at exactly on"},"description":"Issued at exactly on"},{"name":"issued_at__gte","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Issued At  Gte","description":"Issued at on or after"},"description":"Issued at on or after"},{"name":"issued_at__lte","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Issued At  Lte","description":"Issued at on or before"},"description":"Issued at on or before"},{"name":"promised_to_pay_date__eq","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Promised To Pay Date  Eq","description":"Promised to pay exactly on"},"description":"Promised to pay exactly on"},{"name":"promised_to_pay_date__lte","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Promised To Pay Date  Lte","description":"Promised to pay on or before"},"description":"Promised to pay on or before"},{"name":"promised_to_pay_date__gte","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Promised To Pay Date  Gte","description":"Promised to pay on or after"},"description":"Promised to pay on or after"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search","description":"Search in invoice number, partner name, account number, PO number, order number"},"description":"Search in invoice number, partner name, account number, PO number, order number"},{"name":"business_unit_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Business Unit Id  In","description":"Filter by business unit IDs (via partner)"},"description":"Filter by business unit IDs (via partner)"},{"name":"has_outreach","in":"query","required":false,"schema":{"type":"boolean","title":"Has Outreach","description":"Filter by whether invoice has had outreach"},"description":"Filter by whether invoice has had outreach"},{"name":"customer_outreach_paused","in":"query","required":false,"schema":{"type":"boolean","title":"Customer Outreach Paused","description":"Filter by whether customer outreach is paused"},"description":"Filter by whether customer outreach is paused"},{"name":"currency__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Currency"}},{"type":"null"}],"title":"Currency  In","description":"Filter by currency codes (ISO 4217, e.g., ['usd', 'eur'])"},"description":"Filter by currency codes (ISO 4217, e.g., ['usd', 'eur'])"},{"name":"ap_portal_status__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/APPortalInvoiceStatus"}},{"type":"null"}],"title":"Ap Portal Status  In","description":"Filter by AP portal status (lowercase wire values, e.g. ['submitted', 'approved']). 'not_submitted' also matches invoices whose PO is swept on the partner's portal account but have no portal invoice row. Untracked invoices are excluded when set."},"description":"Filter by AP portal status (lowercase wire values, e.g. ['submitted', 'approved']). 'not_submitted' also matches invoices whose PO is swept on the partner's portal account but have no portal invoice row. Untracked invoices are excluded when set."},{"name":"custom_fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Fields"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_InvoiceListSchema_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"}},"/v2/invoices/currencies":{"get":{"tags":["invoices"],"summary":"Get Available Currencies","description":"List Available Currencies\n\nReturns distinct currency codes from invoices in the organization.\nUseful for populating currency filter dropdowns.","operationId":"GetInvoicesCurrencies","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response Getinvoicescurrencies"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"list_currencies"}},"/v2/invoices/consolidated":{"get":{"tags":["invoices"],"summary":"Get Consolidated Invoices","description":"List Consolidated Invoices\n\nRetrieve a paginated list of consolidated invoices — ERP-side billing groups shown and\npaid as a single document — with filtering and sorting.\n\nGated by the `consolidated-invoices-view` feature flag; 403s for organizations it isn't\nenabled for.","operationId":"GetInvoicesConsolidated","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"enum":["default","due_date","issued_at","number","total_amount","amount_paid","amount_remaining","pending_amount_remaining","promised_to_pay_date","member_invoice_count"],"type":"string","x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","title":"","default":"desc"}},{"name":"partner_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partner Id","description":"Only consolidated invoices with at least one member invoice belonging to this partner."},"description":"Only consolidated invoices with at least one member invoice belonging to this partner."},{"name":"number__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Number  In","description":"Filter by consolidated invoice numbers"},"description":"Filter by consolidated invoice numbers"},{"name":"currency__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Currency"}},{"type":"null"}],"title":"Currency  In","description":"Filter by currency codes (ISO 4217, e.g., ['usd', 'eur'])"},"description":"Filter by currency codes (ISO 4217, e.g., ['usd', 'eur'])"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search","description":"Search by consolidated invoice number or billing partner name"},"description":"Search by consolidated invoice number or billing partner name"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_ConsolidatedInvoiceListSchema_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listConsolidated"}},"/v2/invoices/search":{"get":{"tags":["invoices"],"summary":"Get Invoice Search","description":"Search Invoices\n\nSearch with fuzzy matching and pagination.\n\nNote:\n`Amounts are in standard units (e.g., 10.25 for $10.25 USD)`","operationId":"GetInvoicesSearch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"query","in":"query","required":false,"schema":{"type":"string","title":"Query","description":"Search query (invoice number, PO, customer name, etc.)","default":""},"description":"Search query (invoice number, PO, customer name, etc.)"},{"name":"amount","in":"query","required":false,"schema":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":"Amount","description":"Amount in standard units (e.g., 10.25 for $10.25 USD) for relevance sorting"},"description":"Amount in standard units (e.g., 10.25 for $10.25 USD) for relevance sorting"},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"Currency","description":"ISO 4217 currency code for filtering and relevance scoring"},"description":"ISO 4217 currency code for filtering and relevance scoring"},{"name":"status__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/InvoiceStatus"}},{"type":"null"}],"title":"Status  In","description":"Filter by invoice status"},"description":"Filter by invoice status"},{"name":"partner_ids__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Partner Ids  In","description":"Filter by partner IDs"},"description":"Filter by partner IDs"},{"name":"min_score","in":"query","required":false,"schema":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Min Score","description":"Minimum relevance score threshold","default":0.0},"description":"Minimum relevance score threshold"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_InvoiceSearchResult_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"search"}},"/v2/invoices/search/numbers":{"post":{"tags":["invoices"],"summary":"Search Invoices By Numbers","description":"Search Invoices by Numbers\n\nLook up many invoices at once by exact invoice number, ignoring case. Built for\npasted lists of invoice numbers, so it does no fuzzy matching and applies no\nstatus filter; numbers that match nothing come back in `missing`.\n\nNote:\n`Amounts are in standard units (e.g., 10.25 for $10.25 USD)`","operationId":"PostInvoicesSearchNumbers","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceNumberSearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceNumberSearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"searchByNumbers"}},"/v2/invoices/bulk/pdf":{"post":{"tags":["invoices"],"summary":"Bulk Download Invoice Pdfs","description":"Bulk Download Invoice PDFs\n\nEnqueue an async export that downloads stored PDFs for up to 250 invoices, zips them,\nuploads to S3, and emails you a download link when ready.\n\nPoll `GET /v2/exports/{id}` for status and a presigned download URL once complete.","operationId":"PostInvoicesBulkPdf","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPdfDownloadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateExportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"bulkDownloadPdf"}},"/v2/invoices/{invoice_id}/pdf":{"get":{"tags":["invoices"],"summary":"Download Invoice Pdf","description":"Download Invoice PDF\n\nThe invoice's ERP PDF when it has one, otherwise a PDF Stuut generates on demand, saved and\nreused until something printed on it changes. Honors `If-None-Match` for 304 short-circuits.","operationId":"GetInvoicesInvoiceIdPdf","security":[{"HTTPBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"downloadPdf"}},"/v2/invoices/bulk/promised-to-pay-date":{"post":{"tags":["invoices"],"summary":"Bulk Update Promised To Pay Date Endpoint","description":"Bulk Update Promised To Pay Date\n\nUpdate the promised-to-pay date for multiple invoices at once.\nPass null for promised_to_pay_date to clear existing dates.","operationId":"PostInvoicesBulkPromisedToPayDate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUpdatePromisedToPayDateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUpdatePromisedToPayDateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"bulkUpdatePromisedToPayDate"}},"/v2/invoices/{invoice_id}/payment-promises":{"get":{"tags":["invoices"],"summary":"Get Invoice Payment Promises","description":"List Payment Promises\n\nReturn the payment-promise history for an invoice, newest first.","operationId":"GetInvoicesInvoiceIdPaymentPromises","security":[{"HTTPBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PaymentPromiseSchema"},"title":"Response Getinvoicesinvoiceidpaymentpromises"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listPaymentPromises"}},"/v2/invoices/{invoice_id}/ap-portal-status":{"get":{"tags":["invoices"],"summary":"Get Ap Portal Status","description":"Get AP Portal Status\n\nThe invoice's AP portal status (lifecycle + reject reason + submit-gate): the latest\nswept portal row matched to it, else NOT_SUBMITTED with PO context when only its PO\nis swept, else null. Mirrors the invoices-list column.","operationId":"GetInvoicesInvoiceIdApPortalStatus","security":[{"HTTPBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/APPortalStatusSummary"},{"type":"null"}],"title":"Response Getinvoicesinvoiceidapportalstatus"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getApPortalStatus"}},"/v2/kyb/settings":{"get":{"tags":["kyb"],"summary":"Get Settings","description":"Get KYB Settings\n\nReturns the KYB configuration for the current organization.","operationId":"GetKybSettings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYBSettingsResponse"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"getSettings"},"put":{"tags":["kyb"],"summary":"Put Settings","description":"Update KYB Settings\n\nConfigure which KYB features are enabled for the organization.\nOnly provided fields are updated; omitted fields remain unchanged.\nRequires admin access.","operationId":"PutKybSettings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYBSettingsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYBSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"updateSettings"}},"/v2/partners/{partner_id}/kyb":{"post":{"tags":["kyb"],"summary":"Start Verification","description":"Start KYB Verification\n\nInitiates a Know Your Business (KYB) verification for the specified partner.\nThe verification runs asynchronously - use the GET endpoint to check status.\n\nIf business_name, address, or tin are not provided in the request, they will\nbe derived from the partner's existing data (name/legal_name, billing_address,\ntax_number).","operationId":"PostPartnersPartnerIdKyb","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/KYBVerificationRequest"},{"type":"null"}],"title":"Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYBVerificationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"startVerification"},"get":{"tags":["kyb"],"summary":"List Verifications","description":"List KYB Verifications\n\nReturns all KYB verifications for the specified partner, newest first.","operationId":"GetPartnersPartnerIdKyb","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KYBVerificationSummary"},"title":"Response Getpartnerspartneridkyb"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listVerifications"}},"/v2/partners/{partner_id}/kyb/{verification_id}":{"get":{"tags":["kyb"],"summary":"Get Verification","description":"Get KYB Verification Detail\n\nReturns detailed verification results including officers, liens, and watchlist hits.","operationId":"GetPartnersPartnerIdKybVerificationId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}},{"name":"verification_id","in":"path","required":true,"schema":{"type":"string","title":"Verification Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KYBVerificationDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getVerification"}},"/v2/ledger-accounts":{"get":{"tags":["ledger-accounts"],"summary":"List Ledger Accounts","description":"List Ledger Accounts","operationId":"GetLedgerAccounts","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"classification","in":"query","required":false,"schema":{"$ref":"#/components/schemas/LedgerAccountClassification","title":""}},{"name":"search","in":"query","required":false,"schema":{"type":"string","title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_LedgerAccount_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"}},"/v2/ledger-accounts/{ledger_account_id}":{"get":{"tags":["ledger-accounts"],"summary":"Get Ledger Account","description":"Get a Ledger Account","operationId":"GetLedgerAccountsLedgerAccountId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"ledger_account_id","in":"path","required":true,"schema":{"type":"string","title":"Ledger Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LedgerAccount"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"}},"/v2/mailbox-settings":{"get":{"tags":["mailbox-settings"],"summary":"Get Email Settings","description":"The full structured email settings for the current organization, or\nnull if none have been configured yet.","operationId":"GetMailboxSettings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/EmailSettings"},{"type":"null"}],"title":"Response Getmailboxsettings"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"get"},"patch":{"tags":["mailbox-settings"],"summary":"Update Email Settings","description":"Update the centralized-inbox workflow knobs (auto-assign, threshold,\nmatching guidelines) and the per-provider kill-switches. Provider\nconnection and consent are managed via the /microsoft endpoints.","operationId":"PatchMailboxSettings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEmailSettingsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailSettings"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"update"}},"/v2/mailbox-settings/provider-health":{"post":{"tags":["mailbox-settings"],"summary":"Check Provider Health","description":"Probes admin-consent state from Microsoft Graph and writes the result back\nto settings — catches out-of-band portal consent and revocation. Uses the\ntenant id recorded at consent time (admin consent returns the authoritative\ntenant); skips the probe if it's missing. Returns the refreshed\nEmailSettings. Safe to poll.","operationId":"PostMailboxSettingsProviderHealth","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailSettings"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"provider_health"}},"/v2/mailbox-settings/microsoft":{"post":{"tags":["mailbox-settings"],"summary":"Connect Microsoft (BYO Entra app)","description":"Registers a Nylas credential for a customer-supplied (bring-your-own) Entra\napp, so the org connects via its own app instead of Stuut's shared one.\nDefault-app orgs do **not** need this — they go straight to the consent\nflow (``/consent-url`` → ``/consent-callback``), which uses the shared\ncredential. After connecting, the admin completes consent as usual.\n\nBoth ``azure_tenant_id`` and ``credentials`` are required (enforced by the\nrequest schema) — this endpoint is for BYO only.","operationId":"PostMailboxSettingsMicrosoft","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MicrosoftConnectionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailSettings"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"connect"}},"/v2/mailbox-settings/microsoft/consent-url":{"get":{"tags":["mailbox-settings"],"summary":"Get Admin Consent URL","description":"Resolves the org's Entra tenant, registers (or reuses) a **per-tenant**\nNylas adminconsent credential for it, and returns the **Nylas-hosted**\nadmin-consent URL bound to that credential. Consent runs through Nylas so it\nbinds to the per-tenant credential on Nylas's side — required before an\napplication grant can be minted. A single shared ``tenant=common`` credential\ncan't back multiple tenants (its consent is single-tenant and re-consenting\none evicts the others), so every org gets its own credential.","operationId":"GetMailboxSettingsMicrosoftConsentUrl","security":[{"HTTPBearer":[]}],"parameters":[{"name":"redirect_uri","in":"query","required":true,"schema":{"type":"string","title":"Redirect Uri"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentUrlResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"consent_url"}},"/v2/mailbox-settings/microsoft/consent-callback":{"post":{"tags":["mailbox-settings"],"summary":"Handle Admin Consent Callback","description":"Unauthenticated: Microsoft redirects the browser here without a Stuut\nsession, so the signed ``state`` token is the only proof of who started\nthe flow. We verify it, derive the org from its claims, and open a tenant\nsession for that org. On success, stamps the consent timestamp and stores\nthe granted scopes; on failure, raises with the provider error.","operationId":"PostMailboxSettingsMicrosoftConsentCallback","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentCallbackRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailSettings"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"consent_callback"}},"/v2/mailbox-settings/microsoft/revoke-consent":{"post":{"tags":["mailbox-settings"],"summary":"Revoke Admin Consent","description":"Clears Stuut's record of Microsoft admin consent — the consent timestamp\nand the recorded scopes — so Stuut no longer treats the org as consented.\nExisting Nylas grants are left intact.\n\nNote: this only clears Stuut's state. The Entra-side grant lives in the\ncustomer's tenant; true removal is done by their admin in the Entra portal.\nUntil then, a provider-health probe may re-detect consent and re-populate\nthese fields.","operationId":"PostMailboxSettingsMicrosoftRevokeConsent","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailSettings"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"revoke_consent"}},"/v2/mailbox-settings/microsoft/discover":{"get":{"tags":["mailbox-settings"],"summary":"Discover Shared Mailboxes","description":"Lists Microsoft shared mailboxes in the organization's connected tenant\nthat an admin can add to Stuut as application-permission mailboxes.\nRequires admin consent to be in place. Narrow the directory walk with\n``search`` (matched against display name and email) and cap the result\nsize with ``limit``.","operationId":"GetMailboxSettingsMicrosoftDiscover","security":[{"HTTPBearer":[]}],"parameters":[{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"description":"Match shared mailboxes by display name or email (server-side Graph search).","title":"Search"},"description":"Match shared mailboxes by display name or email (server-side Graph search)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"description":"Maximum number of shared mailboxes to return.","default":50,"title":"Limit"},"description":"Maximum number of shared mailboxes to return."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DiscoverableMailbox"},"title":"Response Getmailboxsettingsmicrosoftdiscover"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"discover"}},"/v2/mailboxes":{"get":{"tags":["mailboxes"],"summary":"List Mailboxes","description":"List mailboxes connected for the current organization.","operationId":"GetMailboxes","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Mailbox"},"type":"array","title":"Response Getmailboxes"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"list"},"post":{"tags":["mailboxes"],"summary":"Create or Reconnect a Shared Mailbox","description":"Mints an application-permission Nylas grant via /v3/connect/custom using the\norganization's configured Microsoft credential, and creates the shared\nmailbox. Requires admin consent to already be in place.\n\nIdempotent per email: if a shared mailbox for this address already exists,\nits grant is **re-minted** (a fresh grant replaces the old one in place) —\nthis is how an application mailbox \"reconnects\", since it has no delegated\nuser to re-authenticate.","operationId":"PostMailboxes","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSharedMailboxRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mailbox"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"create_shared"}},"/v2/mailboxes/{mailbox_id}":{"patch":{"tags":["mailboxes"],"summary":"Update a Mailbox","description":"Updates editable fields: display name, signature, reply-to, and the\nshared / centralized-inbox flags. Connection state (provider, grant,\npermission type) is set by the auth flow, not here.\n\nPermissions: the owner can update their own delegated mailbox; shared\nmailboxes can be updated by any org member; centralized inboxes require\nmailbox configuration rights.","operationId":"PatchMailboxesMailboxId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"mailbox_id","in":"path","required":true,"schema":{"type":"string","title":"Mailbox Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMailboxRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mailbox"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"update"}},"/v2/mailboxes/{mailbox_id}/archive":{"post":{"tags":["mailboxes"],"summary":"Archive a Mailbox","description":"Disconnects the mailbox from Stuut: revokes the underlying Nylas grant when\nno other sender still holds it (so it stops syncing) and marks it archived,\nwhile preserving the row for historical email attribution. Detaches it from\nemails and any user's default-sender pointer.","operationId":"PostMailboxesMailboxIdArchive","security":[{"HTTPBearer":[]}],"parameters":[{"name":"mailbox_id","in":"path","required":true,"schema":{"type":"string","title":"Mailbox Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mailbox"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"archive"}},"/v2/mailboxes/{mailbox_id}/business-units":{"put":{"tags":["mailboxes"],"summary":"Set Mailbox Business Units","description":"Assigns a shared mailbox to one or more business units. This is a full\nreplacement — the provided list becomes the complete set of assignments.\n\n- Pass one or more BU IDs to scope the mailbox to those BUs.\n- Pass an empty list (`[]`) to remove all scoping, making the mailbox\n  visible to all users in the organisation (the default behaviour).\n\nUsers scoped to a business unit will only see collections-inbox triage\nthreads from mailboxes assigned to their business unit (or unscoped\nmailboxes). For a hybrid mailbox (Nylas + a paired SendGrid sender), the\npaired sender is scoped identically since it's what actually sends mail.\nRequires organisation admin.","operationId":"PutMailboxesMailboxIdBusinessUnits","security":[{"HTTPBearer":[]}],"parameters":[{"name":"mailbox_id","in":"path","required":true,"schema":{"type":"string","title":"Mailbox Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetMailboxBusinessUnitsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mailbox"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"setBusinessUnits"}},"/v2/mailboxes/{mailbox_id}/business-units/{business_unit_id}":{"delete":{"tags":["mailboxes"],"summary":"Remove a Business Unit from a Mailbox","description":"Removes a single business unit assignment from a shared mailbox. If the\nmailbox has no remaining assignments after removal it becomes unscoped\nand visible to all users in the organisation. For a hybrid mailbox, the\npaired SendGrid sender is kept scoped identically. Requires organisation\nadmin.","operationId":"DeleteMailboxesMailboxIdBusinessUnitsBusinessUnitId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"mailbox_id","in":"path","required":true,"schema":{"type":"string","title":"Mailbox Id"}},{"name":"business_unit_id","in":"path","required":true,"schema":{"type":"string","title":"Business Unit Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"removeBusinessUnit"}},"/v2/mailboxes/auth/url":{"get":{"tags":["mailboxes"],"summary":"Get Delegated OAuth URL","description":"Returns the hosted-OAuth URL for a user to sign in and connect their\npersonal mailbox. Uses the org's Nylas credential when one is set,\notherwise falls back to the connector defaults.","operationId":"GetMailboxesAuthUrl","security":[{"HTTPBearer":[]}],"parameters":[{"name":"redirect_uri","in":"query","required":true,"schema":{"type":"string","title":"Redirect Uri"}},{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"enum":["microsoft","google"],"type":"string","x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"Provider"}},{"name":"email","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},{"name":"email_sender_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Sender Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthUrlResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"auth_url"}},"/v2/mailboxes/auth/callback":{"post":{"tags":["mailboxes"],"summary":"Handle Delegated OAuth Callback","description":"Exchanges the authorization code for a grant, then creates the mailbox\nfor the authenticated user — or refreshes an existing one if this is a\nre-auth (same grant email already connected).","operationId":"PostMailboxesAuthCallback","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCallbackRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mailbox"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"auth_callback"}},"/v2/media/uploads/sign":{"post":{"tags":["media"],"summary":"Sign a Media Upload","description":"Mints a short-lived signature for a direct browser-to-Cloudinary upload.\nThe browser POSTs the file plus every returned field to ``upload_url`` and\nreads ``secure_url`` from Cloudinary's response. The API secret never\nleaves the backend; only the upload is signed (delivery stays public).","operationId":"PostMediaUploadsSign","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignUploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignedUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"signUpload"}},"/v2/members":{"get":{"tags":["members"],"summary":"List Members","description":"Returns the org's memberships with their user and role, optionally filtered\nby role and status. Stuut staff hold no memberships and never appear.","operationId":"GetMembers","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"role_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role Id","description":"Only memberships holding this role."},"description":"Only memberships holding this role."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/MembershipStatus"},{"type":"null"}],"title":"Status","description":"Only memberships with this status; omit for all."},"description":"Only memberships with this status; omit for all."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_MemberSchema_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"},"post":{"tags":["members"],"summary":"Add a Member","description":"Adds a user who already has a Stuut account in another organization. Unknown\nemails 404 — send an invite instead. An explicit role requires roles:assign;\nwithout it the member lands on the default invite role.","operationId":"PostMembers","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddMemberRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberSchema"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Unprocessable Content"}},"x-speakeasy-name-override":"add"}},"/v2/members/{member_id}":{"patch":{"tags":["members"],"summary":"Update a Member's Role","description":"Assigns the membership a different role. The org's last active member who\ncan assign roles cannot be demoted.","operationId":"PatchMembersMemberId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","title":"Member Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMemberRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberSchema"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"update"},"delete":{"tags":["members"],"summary":"Remove a Member","description":"Revokes the member's access to the organization; their partners and tasks\ncan be reassigned. The org's last active member who can assign roles\ncannot be removed. The membership row stays, disabled, as the access\nrecord.","operationId":"DeleteMembersMemberId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","title":"Member Id"}},{"name":"reassign_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"User to reassign the member's partners and tasks to.","title":"Reassign To"},"description":"User to reassign the member's partners and tasks to."}],"responses":{"204":{"description":"Successful Response"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"remove"}},"/v2/notes":{"get":{"tags":["notes"],"summary":"List notes for the current organization","description":"List notes for the current organization.","operationId":"GetNotes","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"partner","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partner","description":"Partner ID."},"description":"Partner ID."},{"name":"dispute","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dispute","description":"Dispute ID."},"description":"Dispute ID."},{"name":"invoice","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice","description":"Invoice ID."},"description":"Invoice ID."},{"name":"credit_memo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Credit Memo","description":"Credit memo ID."},"description":"Credit memo ID."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_Note_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"},"post":{"tags":["notes"],"summary":"Create a note attached to a partner, dispute, invoice, or credit memo","description":"Create a note attached to a partner, dispute, invoice, or credit memo.","operationId":"PostNotes","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNoteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Note"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"create"}},"/v2/notes/{note_id}":{"get":{"tags":["notes"],"summary":"Retrieve a note","description":"Retrieve a note.","operationId":"GetNotesNoteId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"note_id","in":"path","required":true,"schema":{"type":"string","title":"Note Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Note"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"},"patch":{"tags":["notes"],"summary":"Update a note's content or pinned state","description":"Update a note's content or pinned state.","operationId":"PatchNotesNoteId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"note_id","in":"path","required":true,"schema":{"type":"string","title":"Note Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNoteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Note"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"update"},"delete":{"tags":["notes"],"summary":"Delete a note","description":"Delete a note.","operationId":"DeleteNotesNoteId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"note_id","in":"path","required":true,"schema":{"type":"string","title":"Note Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"delete"}},"/v2/onboarding":{"get":{"tags":["onboarding"],"summary":"Get Onboarding","description":"Returns the current onboarding state for the org/user context.","operationId":"GetOnboarding","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Onboarding"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"get"}},"/v2/onboarding/flows/{flow_key}/dismiss":{"post":{"tags":["onboarding"],"summary":"Dismiss Flow","description":"Dismisses a dismissible onboarding flow so it no longer surfaces to the user.","operationId":"PostOnboardingFlowsFlowKeyDismiss","security":[{"HTTPBearer":[]}],"parameters":[{"name":"flow_key","in":"path","required":true,"schema":{"type":"string","title":"Flow Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Onboarding"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"dismissFlow"}},"/v2/onboarding/flows/{flow_key}/restore":{"post":{"tags":["onboarding"],"summary":"Restore Flow","description":"Restores a previously dismissed flow so it surfaces to the user again.","operationId":"PostOnboardingFlowsFlowKeyRestore","security":[{"HTTPBearer":[]}],"parameters":[{"name":"flow_key","in":"path","required":true,"schema":{"type":"string","title":"Flow Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Onboarding"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"restoreFlow"}},"/v2/onboarding/flows/{flow_key}/steps/{step_key}/complete":{"post":{"tags":["onboarding"],"summary":"Complete Step","description":"Marks an available onboarding step as completed, optionally merging in step data.","operationId":"PostOnboardingFlowsFlowKeyStepsStepKeyComplete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"flow_key","in":"path","required":true,"schema":{"type":"string","title":"Flow Key"}},{"name":"step_key","in":"path","required":true,"schema":{"type":"string","title":"Step Key"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/CompleteStepRequest"},{"type":"null"}],"title":"Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Onboarding"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"completeStep"}},"/v2/onboarding/flows/{flow_key}/steps/{step_key}/skip":{"post":{"tags":["onboarding"],"summary":"Skip Step","description":"Marks an optional onboarding step as skipped, recording the reason.","operationId":"PostOnboardingFlowsFlowKeyStepsStepKeySkip","security":[{"HTTPBearer":[]}],"parameters":[{"name":"flow_key","in":"path","required":true,"schema":{"type":"string","title":"Flow Key"}},{"name":"step_key","in":"path","required":true,"schema":{"type":"string","title":"Step Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkipStepRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Onboarding"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"skipStep"}},"/v2/onboarding/flows/{flow_key}/steps/{step_key}/reset":{"post":{"tags":["onboarding"],"summary":"Reset Step","description":"Resets an onboarding step back to its not-started state, clearing completion and\nskip metadata.","operationId":"PostOnboardingFlowsFlowKeyStepsStepKeyReset","security":[{"HTTPBearer":[]}],"parameters":[{"name":"flow_key","in":"path","required":true,"schema":{"type":"string","title":"Flow Key"}},{"name":"step_key","in":"path","required":true,"schema":{"type":"string","title":"Step Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Onboarding"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"resetStep"}},"/v2/onboarding/flows/{flow_key}/steps/{step_key}/data":{"patch":{"tags":["onboarding"],"summary":"Set Step Data","description":"Merges the supplied data into the step's existing state data.","operationId":"PatchOnboardingFlowsFlowKeyStepsStepKeyData","security":[{"HTTPBearer":[]}],"parameters":[{"name":"flow_key","in":"path","required":true,"schema":{"type":"string","title":"Flow Key"}},{"name":"step_key","in":"path","required":true,"schema":{"type":"string","title":"Step Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetStepDataRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Onboarding"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"setStepData"}},"/v2/onboarding/flows/{flow_key}/data":{"patch":{"tags":["onboarding"],"summary":"Set Flow Data","description":"Merges the supplied data into the flow's existing state data.","operationId":"PatchOnboardingFlowsFlowKeyData","security":[{"HTTPBearer":[]}],"parameters":[{"name":"flow_key","in":"path","required":true,"schema":{"type":"string","title":"Flow Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetFlowDataRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Onboarding"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"setFlowData"}},"/v2/onboarding/business-profile":{"put":{"tags":["onboarding"],"summary":"Set business profile","description":"Persists the pre-access business profile (ARR, ERP, CRM) on the\norganization — ERP/CRM onto their columns, ARR into `meta` — and re-syncs\nthe CRM with it. Partial submits are fine: only provided fields write.","operationId":"PutOnboardingBusinessProfile","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessProfileRequest"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"setBusinessProfile"}},"/v2/organization":{"get":{"tags":["organization"],"summary":"Get Organization","description":"Returns the current organization's profile and branding.","operationId":"GetOrganization","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Organization"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"get"},"patch":{"tags":["organization"],"summary":"Update Organization","description":"Updates the current organization's editable profile fields. Only provided\nfields are changed. Requires organization admin.","operationId":"PatchOrganization","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Organization"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"update"}},"/v2/organizations/sso-connection-status":{"get":{"tags":["organizations"],"summary":"Get Organization Sso Connection Status","description":"Get SSO Connection Status\n\nWhether the organization already has an enterprise SSO connection\nconfigured. Used to hide the self-service setup option once a connection\nexists.","operationId":"GetOrganizationsSsoConnectionStatus","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SsoConnectionStatusSchema"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"getSsoConnectionStatus"}},"/v2/organizations/sso-ticket":{"post":{"tags":["organizations"],"summary":"Create Organization Sso Ticket","description":"Create SSO Setup Ticket\n\nGenerate a self-service Auth0 SSO setup link the customer can use to\nconfigure their own enterprise connection.","operationId":"PostOrganizationsSsoTicket","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSsoTicketRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SsoTicketSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"createSsoTicket"}},"/v2/organizations/compliance":{"post":{"tags":["organizations"],"summary":"Provision Organization Secondary Profile","description":"Provision Secondary Profile\n\nGive the organization its own Twilio Secondary Customer Profile — the legal identity carrying\nattestation and branding for numbers the organization holds directly. Compliance is optional at\ntenant creation, and until this endpoint existed, skipping it was permanent.\n\nTwilio review takes one to two business days. Numbers can be attached to the profile while it is\npending — they activate on approval.","operationId":"PostOrganizationsCompliance","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecondaryProfileCompliance-Input"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationSecondaryProfileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"provisionSecondaryProfile"}},"/v2/collections-readiness/stats":{"get":{"tags":["collections-readiness"],"summary":"Get Stats","description":"Get Collections Readiness Stats\n\nReturns aggregate counts and overdue totals for partners blocked from outbound\ncollections because of missing data. Overdue totals are in standard units of\nthe returned `currency` (the org base currency). Results are scoped to the\ncaller's business-unit / assignee visibility, matching the partners list\nendpoint.","operationId":"GetCollectionsReadinessStats","security":[{"HTTPBearer":[]}],"parameters":[{"name":"channel","in":"query","required":false,"schema":{"enum":["all","email","phone"],"type":"string","x-speakeasy-enum-format":"union","description":"Outreach channel to scope the missing-contact blocker to. `all` counts partners missing a primary contact on either channel; `email` or `phone` counts only those missing that channel's primary.","default":"all","title":"Channel"},"description":"Outreach channel to scope the missing-contact blocker to. `all` counts partners missing a primary contact on either channel; `email` or `phone` counts only those missing that channel's primary."},{"name":"include_on_hold","in":"query","required":false,"schema":{"type":"boolean","description":"Also count partners on an open-ended manual or integration pause.","default":false,"title":"Include On Hold"},"description":"Also count partners on an open-ended manual or integration pause."},{"name":"include_coming_due","in":"query","required":false,"schema":{"type":"boolean","description":"Also count partners with open AR but nothing overdue, in `reached` and `not_in_workflow`, as the partners lists do.","default":false,"title":"Include Coming Due"},"description":"Also count partners with open AR but nothing overdue, in `reached` and `not_in_workflow`, as the partners lists do."},{"name":"include_no_assignee","in":"query","required":false,"schema":{"type":"boolean","description":"Count the no-assignee blocker in `total`. False for orgs that do not track assignees.","default":true,"title":"Include No Assignee"},"description":"Count the no-assignee blocker in `total`. False for orgs that do not track assignees."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CollectionsReadinessStats"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getStats"}},"/v2/collections-readiness/partners":{"get":{"tags":["collections-readiness"],"summary":"List Partners","description":"List Collections Readiness Partners\n\nReturns the partners outreach would send to, largest overdue first, for the readiness\ndrill-down tables. Under parent outreach a parent row carries its family's invoice stats and\nits children are not listed. Counts match `/collections-readiness/stats` unless\n`include_coming_due` adds partners with open AR but nothing overdue.","operationId":"GetCollectionsReadinessPartners","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"missing_information__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["primary_email","primary_phone","assignee","assignee_email_linked","disabled_email","disabled_phone","any_contact","any_email_contact","any_phone_contact"],"type":"string","x-speakeasy-enum-format":"union"}},{"type":"null"}],"title":"Missing Information  In"}},{"name":"missing_information__nin","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["primary_email","primary_phone","assignee","assignee_email_linked","disabled_email","disabled_phone","any_contact","any_email_contact","any_phone_contact"],"type":"string","x-speakeasy-enum-format":"union"}},{"type":"null"}],"title":"Missing Information  Nin"}},{"name":"missing_information__eq","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["primary_email","primary_phone","assignee","assignee_email_linked","disabled_email","disabled_phone","any_contact","any_email_contact","any_phone_contact"],"type":"string","x-speakeasy-enum-format":"union"}},{"type":"null"}],"title":"Missing Information  Eq"}},{"name":"include_on_hold","in":"query","required":false,"schema":{"type":"boolean","title":"Include On Hold","description":"Also list partners on an open-ended manual or integration pause.","default":false},"description":"Also list partners on an open-ended manual or integration pause."},{"name":"include_coming_due","in":"query","required":false,"schema":{"type":"boolean","title":"Include Coming Due","description":"Also list partners with open AR but nothing overdue, after the overdue ones and soonest due first. The stats count them with the same flag.","default":false},"description":"Also list partners with open AR but nothing overdue, after the overdue ones and soonest due first. The stats count them with the same flag."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_CollectionsReadinessPartner_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listPartners"}},"/v2/collections-readiness/not-in-workflow":{"get":{"tags":["collections-readiness"],"summary":"List Not In Workflow","description":"List Collections Readiness Not In Workflow Partners\n\nReturns the accounts outreach won't reach, largest overdue first, each with why.\nThese are the rows `/collections-readiness/stats` counts in `not_in_workflow` for the same\n`include_on_hold` and `include_coming_due`. Under parent outreach a parent row carries its family's invoice stats, and\na paused child the parent's letter leaves out is its own row.","operationId":"GetCollectionsReadinessNotInWorkflow","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"include_on_hold","in":"query","required":false,"schema":{"type":"boolean","title":"Include On Hold","description":"Count accounts on an open-ended manual or integration pause as reached, matching the stats.","default":false},"description":"Count accounts on an open-ended manual or integration pause as reached, matching the stats."},{"name":"include_coming_due","in":"query","required":false,"schema":{"type":"boolean","title":"Include Coming Due","description":"Also list accounts with open AR but nothing overdue, after the overdue ones and soonest due first.","default":false},"description":"Also list accounts with open AR but nothing overdue, after the overdue ones and soonest due first."},{"name":"reason","in":"query","required":false,"schema":{"anyOf":[{"enum":["paused","disputed","excluded","payment_pending","promised","none"],"type":"string","x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"Reason","description":"Only accounts carrying this reason, or `none` for accounts carrying no reason."},"description":"Only accounts carrying this reason, or `none` for accounts carrying no reason."},{"name":"reason__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["paused","disputed","excluded","payment_pending","promised","none"],"type":"string","x-speakeasy-enum-format":"union"}},{"type":"null"}],"title":"Reason  In","description":"Only accounts carrying any of these reasons, `none` standing for accounts carrying no reason."},"description":"Only accounts carrying any of these reasons, `none` standing for accounts carrying no reason."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_CollectionsReadinessUnreachedPartner_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listNotInWorkflow"}},"/v2/collections-readiness/past-last-stage":{"get":{"tags":["collections-readiness"],"summary":"List Past Last Stage","description":"List Collections Readiness Past Last Stage Partners\n\nReturns the accounts in a workflow that no stage will send to today, largest overdue first:\npast every stage's window, or overdue only past the org's trigger cap. These are the rows\n`/collections-readiness/stats` counts in `past_last_stage` for the same `include_on_hold`.","operationId":"GetCollectionsReadinessPastLastStage","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"include_on_hold","in":"query","required":false,"schema":{"type":"boolean","title":"Include On Hold","description":"Count accounts on an open-ended manual or integration pause as reached, matching the stats.","default":false},"description":"Count accounts on an open-ended manual or integration pause as reached, matching the stats."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_CollectionsReadinessPartner_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listPastLastStage"}},"/v2/outreach-workflows/{workflow_id}/statement-schedule":{"post":{"tags":["outreach-workflows"],"summary":"Create a statement schedule for a workflow","description":"The schedule controls when recurring account statements are sent for\npartners on the workflow.","operationId":"PostOutreachWorkflowsWorkflowIdStatementSchedule","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateStatementScheduleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountStatementScheduleResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"createStatementSchedule"}},"/v2/outreach-workflows/{workflow_id}/statement-schedule/{schedule_id}":{"patch":{"tags":["outreach-workflows"],"summary":"Update a statement schedule","description":"Applies partial updates: only the fields present in the request body are\nchanged.","operationId":"PatchOutreachWorkflowsWorkflowIdStatementScheduleScheduleId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","title":"Workflow Id"}},{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateStatementScheduleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountStatementScheduleResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"updateStatementSchedule"},"delete":{"tags":["outreach-workflows"],"summary":"Delete a statement schedule","description":"Returns 204 on success, or 404 when the schedule does not exist on the\nworkflow.","operationId":"DeleteOutreachWorkflowsWorkflowIdStatementScheduleScheduleId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","title":"Workflow Id"}},{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"deleteStatementSchedule"}},"/v2/partners/{entity_id}/custom-fields":{"post":{"tags":["partners"],"summary":"Set Custom Field Values","description":"Update custom field values.","operationId":"PostPartnersEntityIdCustomFields","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetCustomFieldValues"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"object","additionalProperties":true},"title":"Response Postpartnersentityidcustomfields"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"updateCustomFields"}},"/v2/partners":{"get":{"tags":["partners"],"summary":"List Partners","description":"Retrieve a list of partners with invoice stats and outreach state.","operationId":"GetPartners","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["currency","email","is_overdue","num_open_invoices","name","oldest_open_invoice_due_date","phone","invoice_balance","total_overdue","last_outreach_at","account_number","remote_id"],"type":"string","x-speakeasy-enum-format":"union","title":"Sort By","default":"total_overdue"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","title":"","default":"desc"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"delimited_search","in":"query","required":false,"schema":{"type":"boolean","title":"Delimited Search","default":false}},{"name":"group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group Id"}},{"name":"with_overdue_invoices","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"With Overdue Invoices"}},{"name":"has_outreach","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Outreach"}},{"name":"outreach_paused","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Outreach Paused"}},{"name":"on_hold","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"On Hold","description":"Filter by whether the partner is on an open-ended manual or integration pause."},"description":"Filter by whether the partner is on an open-ended manual or integration pause."},{"name":"on_payment_plan","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"On Payment Plan","description":"Filter by whether the partner has an active payment plan."},"description":"Filter by whether the partner has an active payment plan."},{"name":"segment_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Id","description":"Filter by customer segment ID."},"description":"Filter by customer segment ID."},{"name":"segment_exclusive","in":"query","required":false,"schema":{"type":"boolean","title":"Segment Exclusive","description":"Deprecated and ignored; the segment filter now includes every matching partner.","deprecated":true,"default":true},"description":"Deprecated and ignored; the segment filter now includes every matching partner.","deprecated":true},{"name":"business_unit_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Business Unit Id  In","description":"Filter by business unit IDs"},"description":"Filter by business unit IDs"},{"name":"assignee_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Assignee Id  In"}},{"name":"assignee_id__nin","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Assignee Id  Nin"}},{"name":"billing_address__country__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Billing Address  Country  In"}},{"name":"dunning_state_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Dunning State Id  In"}},{"name":"dunning_state_id__nin","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Dunning State Id  Nin"}},{"name":"invoice_balance__gte","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Invoice Balance  Gte","description":"Minor units in the organization's base currency (forex-converted)."},"description":"Minor units in the organization's base currency (forex-converted)."},{"name":"invoice_balance__lte","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Invoice Balance  Lte","description":"Minor units in the organization's base currency (forex-converted)."},"description":"Minor units in the organization's base currency (forex-converted)."},{"name":"num_open_invoices__gte","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Num Open Invoices  Gte"}},{"name":"num_open_invoices__lte","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Num Open Invoices  Lte"}},{"name":"missing_information__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["primary_email","primary_phone","assignee","assignee_email_linked","disabled_email","disabled_phone","any_contact","any_email_contact","any_phone_contact"],"type":"string","x-speakeasy-enum-format":"union"}},{"type":"null"}],"title":"Missing Information  In"}},{"name":"missing_information__nin","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["primary_email","primary_phone","assignee","assignee_email_linked","disabled_email","disabled_phone","any_contact","any_email_contact","any_phone_contact"],"type":"string","x-speakeasy-enum-format":"union"}},{"type":"null"}],"title":"Missing Information  Nin"}},{"name":"missing_information__eq","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["primary_email","primary_phone","assignee","assignee_email_linked","disabled_email","disabled_phone","any_contact","any_email_contact","any_phone_contact"],"type":"string","x-speakeasy-enum-format":"union"}},{"type":"null"}],"title":"Missing Information  Eq"}},{"name":"missing_information__ne","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["primary_email","primary_phone","assignee","assignee_email_linked","disabled_email","disabled_phone","any_contact","any_email_contact","any_phone_contact"],"type":"string","x-speakeasy-enum-format":"union"}},{"type":"null"}],"title":"Missing Information  Ne"}},{"name":"custom_fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Fields"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_PartnerListSummary_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"}},"/v2/partners/{partner_id}":{"get":{"tags":["partners"],"summary":"Get a Partner","description":"Retrieve a single partner with its cached invoice stats (currency-aware).","operationId":"GetPartnersPartnerId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerDetail"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"}},"/v2/partners/{partner_id}/transactions":{"get":{"tags":["partners"],"summary":"List Customer Transactions","description":"Retrieve a unified, date-ordered ledger of a customer's invoices, payments,\nand credit memos. All monetary fields are in standard units (e.g., 10.25 for\n$10.25). Each row carries an `open_balance`: the invoice amount remaining, the\npayment's unapplied amount, or the credit memo's remaining amount.","operationId":"GetPartnersPartnerIdTransactions","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"type__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["invoice","payment","credit_memo"],"type":"string","x-speakeasy-enum-format":"union"}},{"type":"null"}],"title":"Type  In","description":"Filter by transaction type. Defaults to all types when omitted."},"description":"Filter by transaction type. Defaults to all types when omitted."},{"name":"status__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CustomerTransactionStatus"}},{"type":"null"}],"title":"Status  In","description":"Filter by unified settlement status."},"description":"Filter by unified settlement status."},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search","description":"Case-insensitive substring match on the reference number (invoice/credit-memo number or payment reference number)."},"description":"Case-insensitive substring match on the reference number (invoice/credit-memo number or payment reference number)."},{"name":"currency__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Currency"}},{"type":"null"}],"title":"Currency  In","description":"Filter by currency codes (ISO 4217, e.g., ['usd', 'eur'])."},"description":"Filter by currency codes (ISO 4217, e.g., ['usd', 'eur'])."},{"name":"date__gte","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date  Gte","description":"Only include transactions dated on or after this date."},"description":"Only include transactions dated on or after this date."},{"name":"date__lte","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date  Lte","description":"Only include transactions dated on or before this date."},"description":"Only include transactions dated on or before this date."},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["date","due_date","cleared_at","number","po_number"],"type":"string","x-speakeasy-enum-format":"union","title":"Sort By","description":"Field to sort by: transaction date (default), due date, cleared date, reference number, or purchase order number. Rows without a value for the chosen field sort last regardless of direction — payments have no due date or PO number, and open transactions have no cleared date.","default":"date"},"description":"Field to sort by: transaction date (default), due date, cleared date, reference number, or purchase order number. Rows without a value for the chosen field sort last regardless of direction — payments have no due date or PO number, and open transactions have no cleared date."},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","title":"","description":"Sort direction. Defaults to newest first.","default":"desc"},"description":"Sort direction. Defaults to newest first."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_CustomerTransaction_"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listTransactions"}},"/v2/partners/{partner_id}/exposure":{"get":{"tags":["partners"],"summary":"Get Partner Exposure","description":"Computes the partner's full trade credit exposure right now — the partner\nplus its direct children, treated as one buyer — including every invoice,\ncredit memo, payment, dispute item, and sales order line it was built\nfrom, and the FX rates used to price them.","operationId":"GetPartnersPartnerIdExposure","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}},{"name":"target_currency","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"description":"Currency to convert every balance into. Defaults to the organization's base currency.","title":"Target Currency"},"description":"Currency to convert every balance into. Defaults to the organization's base currency."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerExposure"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getExposure"}},"/v2/partners/{partner_id}/payment-behavior":{"get":{"tags":["partners"],"summary":"Get Partner Payment Behavior","description":"How promptly this partner has paid: invoice count, average/median/stddev\ndays to pay from due date, average days to pay from issued date, and a\ndays-beyond-due-date bucket distribution. Covers paid invoices that have a\ndue date. `all_time` is always included; `windows` adds trailing-window\nbreakdowns. Scoped to this partner, not its hierarchy.","operationId":"GetPartnersPartnerIdPaymentBehavior","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}},{"name":"windows","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer","exclusiveMinimum":0},"maxItems":6},{"type":"null"}],"description":"Trailing window sizes in days to compute payment-timing metrics over, e.g. `?windows=30&windows=60&windows=90` to chart a trend. Duplicates are dropped. `all_time` is always included regardless of this param.","title":"Windows"},"description":"Trailing window sizes in days to compute payment-timing metrics over, e.g. `?windows=30&windows=60&windows=90` to chart a trend. Duplicates are dropped. `all_time` is always included regardless of this param."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentBehavior"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Unprocessable Content"}},"x-speakeasy-name-override":"getPaymentBehavior"}},"/v2/partners/bulk/dunning-state":{"post":{"tags":["partners"],"summary":"Bulk Update Dunning State","description":"Update the dunning state for multiple partners at once.\nUses batch operations for optimal performance.","operationId":"PostPartnersBulkDunningState","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUpdateDunningStateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUpdateDunningStateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"bulkUpdateDunningState"}},"/v2/partners/bulk/reassign":{"post":{"tags":["partners"],"summary":"Bulk Reassign Partners","description":"Reassign multiple partners to a different assignee.\nUpdates the assignee for all specified partners and optionally reassigns their tasks.\nUses batch operations for optimal performance.","operationId":"PostPartnersBulkReassign","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkReassignRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkReassignResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"bulkReassign"}},"/v2/partners/{partner_id}/business-unit":{"patch":{"tags":["partners"],"summary":"Assign Partner to Business Unit","description":"Sets the partner's business unit. Reassigns if the partner\nwas already linked to another unit. Requires organization admin.","operationId":"PatchPartnersPartnerIdBusinessUnit","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignPartnerBusinessUnitRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerSummary"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"assignBusinessUnit"}},"/v2/partners/{partner_id}/internal-contacts":{"get":{"tags":["partners"],"summary":"List Internal Contacts For a Partner","description":"Returns all internal contact assignments for this partner, with nested\nperson data (email, name, phone).","operationId":"GetPartnersPartnerIdInternalContacts","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InternalContactAssignment"},"title":"Response Getpartnerspartneridinternalcontacts"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listInternalContacts"},"post":{"tags":["partners"],"summary":"Add Internal Contact to a Partner","description":"Assigns an internal contact to this partner with the specified role.\nThe person is identified by email (within the organization) — reused if\nthey already exist, created if not.","operationId":"PostPartnersPartnerIdInternalContacts","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignInternalContactRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalContactAssignment"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Unprocessable Content"}},"x-speakeasy-name-override":"addInternalContact"}},"/v2/partners/{partner_id}/internal-contacts/{assignment_id}":{"patch":{"tags":["partners"],"summary":"Update Internal Contact Role","description":"Change the role of an existing assignment. The underlying InternalContact\n(person) is not modified.","operationId":"PatchPartnersPartnerIdInternalContactsAssignmentId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}},{"name":"assignment_id","in":"path","required":true,"schema":{"type":"string","title":"Assignment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateInternalContactAssignmentRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalContactAssignment"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"updateInternalContactRole"},"delete":{"tags":["partners"],"summary":"Remove Internal Contact From a Partner","description":"Removes the assignment. The InternalContact (person) remains and may still\nbe assigned to other partners.","operationId":"DeletePartnersPartnerIdInternalContactsAssignmentId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}},{"name":"assignment_id","in":"path","required":true,"schema":{"type":"string","title":"Assignment Id"}}],"responses":{"204":{"description":"Successful Response"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"removeInternalContact"}},"/v2/payment-plans/avg-weekly-sales":{"get":{"tags":["payment-plans"],"summary":"Payment Plan Projected Sales Rate","description":"Suggested `avg_weekly_sales` for the structured form: what the partner was invoiced over the last\n6 completed calendar months, per week. Null when they have no history predating that window.","operationId":"GetPaymentPlansAvgWeeklySales","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"query","required":true,"schema":{"type":"string","title":"Partner Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvgWeeklySalesResponse"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"avgWeeklySales"}},"/v2/payment-plans/preview":{"post":{"tags":["payment-plans"],"summary":"Preview a Payment Plan","description":"Stateless: compute the total and installment schedule without persisting anything.","operationId":"PostPaymentPlansPreview","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewPaymentPlanRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanProposalResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"preview"}},"/v2/payment-plans":{"post":{"tags":["payment-plans"],"summary":"Create a Payment Plan","description":"Create an ACTIVE plan with its installments and pause the partner's outreach.","operationId":"PostPaymentPlans","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePaymentPlanRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentPlanDetail"}}}},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Unprocessable Content"}},"x-speakeasy-name-override":"create"},"get":{"tags":["payment-plans"],"summary":"List Payment Plans","description":"Payment plans for the org, optionally filtered by partner or status, with per-card rollups.","operationId":"GetPaymentPlans","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"partner_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partner Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/PaymentPlanStatus"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_PaymentPlanSummary_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"}},"/v2/payment-plans/{plan_id}":{"get":{"tags":["payment-plans"],"summary":"Get a Payment Plan","description":"Full plan detail: installment schedule, collected/remaining totals, and any unlinked payments.","operationId":"GetPaymentPlansPlanId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","title":"Plan Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentPlanDetail"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"},"delete":{"tags":["payment-plans"],"summary":"Delete a Draft Payment Plan","description":"Hard-delete a draft and its installments. Only drafts can be deleted; cancel non-drafts instead.","operationId":"DeletePaymentPlansPlanId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","title":"Plan Id"}}],"responses":{"204":{"description":"Successful Response"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"delete"}},"/v2/payment-plans/{plan_id}/installments/{installment_id}/receipt":{"post":{"tags":["payment-plans"],"summary":"Record an Installment Receipt","description":"Record one receipt on an installment; accumulates across calls. May link synced payments.","operationId":"PostPaymentPlansPlanIdInstallmentsInstallmentIdReceipt","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","title":"Plan Id"}},{"name":"installment_id","in":"path","required":true,"schema":{"type":"string","title":"Installment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordReceiptRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentPlanDetail"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Bad Request"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"recordReceipt"}},"/v2/payment-plans/{plan_id}/activate":{"post":{"tags":["payment-plans"],"summary":"Activate a Draft Payment Plan","description":"Turn a draft into the partner's active plan: pause outreach and run the deferred creation\nside effects. Rejected if the draft's first due date has passed or the partner already has\nan active plan.","operationId":"PostPaymentPlansPlanIdActivate","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","title":"Plan Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentPlanDetail"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Bad Request"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"activate"}},"/v2/payment-plans/{plan_id}/cancel":{"post":{"tags":["payment-plans"],"summary":"Cancel a Payment Plan","description":"Cancel an active plan, terminate its open installments, and lift its outreach pauses.","operationId":"PostPaymentPlansPlanIdCancel","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","title":"Plan Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelPaymentPlanRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentPlanDetail"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"cancel"}},"/v2/payment-plans/{plan_id}/complete":{"post":{"tags":["payment-plans"],"summary":"Complete a Payment Plan","description":"Manually close a short-paid plan: cancel its still-open installments and lift its outreach pauses.","operationId":"PostPaymentPlansPlanIdComplete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","title":"Plan Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentPlanDetail"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"complete"}},"/v2/payment-plans/{plan_id}/mark-paid":{"post":{"tags":["payment-plans"],"summary":"Mark a Payment Plan Paid in Full","description":"Mark every installment received in full, complete the plan, and lift its outreach pauses.","operationId":"PostPaymentPlansPlanIdMarkPaid","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","title":"Plan Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentPlanDetail"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"markPaid"}},"/v2/payment-plans/{plan_id}/contact":{"post":{"tags":["payment-plans"],"summary":"Set a Payment Plan's Contact","description":"Set or clear the contact this plan's dunning emails are sent to (null clears, reverting to the\npartner default).","operationId":"PostPaymentPlansPlanIdContact","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","title":"Plan Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPlanContactRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentPlanDetail"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Bad Request"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"setContact"},"get":{"tags":["payment-plans"],"summary":"Get a Payment Plan's Contact","description":"The plan's dunning recipient as a contact: the attached contact when set, else the partner default\n(`id` null). `email` is the exact address the plan's dunning emails are sent to.","operationId":"GetPaymentPlansPlanIdContact","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","title":"Plan Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Contact"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getContact"}},"/v2/payments/{payment_id}/log":{"get":{"tags":["payments"],"summary":"Get Payment Log","description":"Get Payment Audit Log\n\nRetrieve the log of recorded events the payment participated in,\ngrouped into logical operations by correlation id.","operationId":"GetPaymentsPaymentIdLog","security":[{"HTTPBearer":[]}],"parameters":[{"name":"payment_id","in":"path","required":true,"schema":{"type":"string","title":"Payment Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_AuditLogEntry_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getLog"}},"/v2/payments/{payment_id}/finding":{"get":{"tags":["payments"],"summary":"Get Payment Finding","description":"Get Payment Investigation Finding\n\nThe newest finding the Payment Investigator wrote for the payment; the\nfinding is null when it has not investigated it, or when the\norganization's users are not yet shown findings.","operationId":"GetPaymentsPaymentIdFinding","security":[{"HTTPBearer":[]}],"parameters":[{"name":"payment_id","in":"path","required":true,"schema":{"type":"string","title":"Payment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentFindingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getFinding"}},"/v2/payments/bulk/approve":{"post":{"tags":["payments"],"summary":"Bulk Approve Payments Endpoint","description":"Bulk Approve Payments\n\nApprove all payments for multiple transactions at once.\nEach transaction is processed independently - failures for one transaction\ndo not affect other transactions.","operationId":"PostPaymentsBulkApprove","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkApprovePaymentsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkApprovePaymentsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"bulkApprove"}},"/v2/phone-numbers":{"get":{"tags":["phone-numbers"],"summary":"List Phone Numbers","description":"The organization's number inventory, oldest first, with each number's business-unit assignments.","operationId":"GetPhoneNumbers","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PhoneNumber"},"type":"array","title":"Response Getphonenumbers"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"list"},"post":{"tags":["phone-numbers"],"summary":"Provision Phone Number","description":"Buy an additional number into the inventory. The org's first number becomes its default;\nadditional numbers are picked at dial time by business unit + destination country.","operationId":"PostPhoneNumbers","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProvisionPhoneNumberRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneNumber"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"provision"}},"/v2/phone-numbers/available":{"get":{"tags":["phone-numbers"],"summary":"Search Available Phone Numbers","description":"Numbers Twilio has for sale in a country, excluding any that need a registered address.\n`number_type` matters: GB and AU have no voice-capable local numbers but 30 mobile each, while\nSE mobile numbers are SMS-only. A country that sells nothing of that type answers 422, and one\nwhose numbers all require an address returns an empty list. Nothing here is reserved.\n\nTwilio caps this at 30 results and does not paginate, so exactly 30 means \"narrow the search\".","operationId":"GetPhoneNumbersAvailable","security":[{"HTTPBearer":[]}],"parameters":[{"name":"country","in":"query","required":false,"schema":{"type":"string","description":"ISO 3166-1 alpha-2 code, e.g. US. Case-insensitive","enum":["AW","AF","AO","AI","AX","AL","AD","AE","AR","AM","AS","AQ","TF","AG","AU","AT","AZ","BI","BE","BJ","BQ","BF","BD","BG","BH","BS","BA","BL","BY","BZ","BM","BO","BR","BB","BN","BT","BV","BW","CF","CA","CC","CH","CL","CN","CI","CM","CD","CG","CK","CO","KM","CV","CR","CU","CW","CX","KY","CY","CZ","DE","DJ","DM","DK","DO","DZ","EC","EG","ER","EH","ES","EE","ET","FI","FJ","FK","FR","FO","FM","GA","GB","GE","GG","GH","GI","GN","GP","GM","GW","GQ","GR","GD","GL","GT","GF","GU","GY","HK","HM","HN","HR","HT","HU","ID","IM","IN","IO","IE","IR","IQ","IS","IL","IT","JM","JE","JO","JP","KZ","KE","KG","KH","KI","KN","KR","KW","LA","LB","LR","LY","LC","LI","LK","LS","LT","LU","LV","MO","MF","MA","MC","MD","MG","MV","MX","MH","MK","ML","MT","MM","ME","MN","MP","MZ","MR","MS","MQ","MU","MW","MY","YT","NA","NC","NE","NF","NG","NI","NU","NL","NO","NP","NR","NZ","OM","PK","PA","PN","PE","PH","PW","PG","PL","PR","KP","PT","PY","PS","PF","QA","RE","RO","RU","RW","SA","SD","SN","SG","GS","SH","SJ","SB","SL","SV","SM","SO","PM","RS","SS","ST","SR","SK","SI","SE","SZ","SX","SC","SY","TC","TD","TG","TH","TJ","TK","TM","TL","TO","TT","TN","TR","TV","TW","TZ","UG","UA","UM","UY","US","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","ZA","ZM","ZW"],"x-speakeasy-enum-format":"union","default":"US","title":"Country"},"description":"ISO 3166-1 alpha-2 code, e.g. US. Case-insensitive"},{"name":"number_type","in":"query","required":false,"schema":{"enum":["local","mobile","toll_free"],"type":"string","x-speakeasy-enum-format":"union","description":"Local is geographic. GB and AU sell no voice-capable local numbers, only mobile","default":"local","title":"Number Type"},"description":"Local is geographic. GB and AU sell no voice-capable local numbers, only mobile"},{"name":"area_code","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":999,"minimum":200},{"type":"null"}],"description":"NANP area code, e.g. 610. US and Canada only","title":"Area Code"},"description":"NANP area code, e.g. 610. US and Canada only"},{"name":"contains","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^[0-9A-Za-z*%+$]{2,16}$"},{"type":"null"}],"description":"Pattern the number must match, e.g. 610555 or STUUT. `+` and `%` must be percent-encoded","title":"Contains"},"description":"Pattern the number must match, e.g. 610555 or STUUT. `+` and `%` must be percent-encoded"},{"name":"locality","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"description":"City the number is rated to","title":"Locality"},"description":"City the number is rated to"},{"name":"near_number","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\+[1-9]\\d{6,14}$"},{"type":"null"}],"description":"E.164 number to search near. US and Canada only","title":"Near Number"},"description":"E.164 number to search near. US and Canada only"},{"name":"region","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"description":"State or province, e.g. PA. US and Canada only","title":"Region"},"description":"State or province, e.g. PA. US and Canada only"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AvailablePhoneNumber"},"title":"Response Getphonenumbersavailable"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listAvailable"}},"/v2/phone-numbers/supported-countries":{"get":{"tags":["phone-numbers"],"summary":"List Supported Countries","description":"Countries this account may place low-risk calls *to*. A dialing-permission list, not a list of\ncountries numbers can be bought in — the available-numbers search answers that.","operationId":"GetPhoneNumbersSupportedCountries","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SupportedCountry"},"type":"array","title":"Response Getphonenumberssupportedcountries"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"listSupportedCountries"}},"/v2/phone-numbers/{phone_number_id}":{"patch":{"tags":["phone-numbers"],"summary":"Update Phone Number","description":"Set the human-friendly label for the number (PATCH: applied only when present).","operationId":"PatchPhoneNumbersPhoneNumberId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"phone_number_id","in":"path","required":true,"schema":{"type":"string","title":"Phone Number Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePhoneNumberRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneNumber"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"update"}},"/v2/phone-numbers/{phone_number_id}/set-default":{"post":{"tags":["phone-numbers"],"summary":"Set Org Default Phone Number","description":"Make the number the organization's default caller ID. The org default is standalone — a number\nassigned to a business unit can't be it. The previous default is unset in the same transaction.","operationId":"PostPhoneNumbersPhoneNumberIdSetDefault","security":[{"HTTPBearer":[]}],"parameters":[{"name":"phone_number_id","in":"path","required":true,"schema":{"type":"string","title":"Phone Number Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneNumber"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"set_default"}},"/v2/phone-numbers/{phone_number_id}/business-units":{"post":{"tags":["phone-numbers"],"summary":"Assign Phone Number to Business Unit","description":"Assign an existing inventory number to a business unit so that BU dials from it. The org's\ndefault number is standalone and can't be assigned.","operationId":"PostPhoneNumbersPhoneNumberIdBusinessUnits","security":[{"HTTPBearer":[]}],"parameters":[{"name":"phone_number_id","in":"path","required":true,"schema":{"type":"string","title":"Phone Number Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignBusinessUnitRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneNumber"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"assign_business_unit"}},"/v2/phone-numbers/{phone_number_id}/business-units/{business_unit_id}/set-default":{"post":{"tags":["phone-numbers"],"summary":"Set Business-Unit Default","description":"Make this number the business unit's default caller ID.","operationId":"PostPhoneNumbersPhoneNumberIdBusinessUnitsBusinessUnitIdSetDefault","security":[{"HTTPBearer":[]}],"parameters":[{"name":"phone_number_id","in":"path","required":true,"schema":{"type":"string","title":"Phone Number Id"}},{"name":"business_unit_id","in":"path","required":true,"schema":{"type":"string","title":"Business Unit Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneNumber"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"set_business_unit_default"}},"/v2/phone-numbers/{phone_number_id}/business-units/{business_unit_id}":{"delete":{"tags":["phone-numbers"],"summary":"Unassign Phone Number from Business Unit","description":"Remove the number from the business unit. If it was that BU's default the BU is left with no\ndefault (the resolver falls back to the org default) — set a new BU default explicitly if wanted.","operationId":"DeletePhoneNumbersPhoneNumberIdBusinessUnitsBusinessUnitId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"phone_number_id","in":"path","required":true,"schema":{"type":"string","title":"Phone Number Id"}},{"name":"business_unit_id","in":"path","required":true,"schema":{"type":"string","title":"Business Unit Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"unassign_business_unit"}},"/v2/profile/email-signature":{"get":{"tags":["profile"],"summary":"Get Your Email Signature","description":"Returns your personal email signature (HTML). It replaces the mailbox\nsignature on emails you send from shared or centralized inboxes, and on\nautomated emails from those inboxes to accounts assigned to you. Null means\nthe mailbox signature is used.","operationId":"GetProfileEmailSignature","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailSignature"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"getEmailSignature"},"patch":{"tags":["profile"],"summary":"Update Your Email Signature","description":"Sets your personal email signature (HTML). Null or an empty editor value\nclears it, so emails fall back to the mailbox signature.","operationId":"PatchProfileEmailSignature","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailSignature"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailSignature"}}}},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"updateEmailSignature"}},"/v2/profile/view-as":{"patch":{"tags":["profile"],"summary":"Set or Clear the Staff View-as Role","description":"Previews the current org through the given role's eyes: permission\nresolution intersects the role with the staff baseline, so it can only\nnarrow access. A null role id clears the preview.","operationId":"PatchProfileViewAs","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewAsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewAsSchema"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}}},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"setViewAs"}},"/v2/pronunciations":{"get":{"tags":["pronunciations"],"summary":"List Pronunciations","description":"List the organization's pronunciation overrides applied to agent speech before TTS.","operationId":"GetPronunciations","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PronunciationResponse"},"type":"array","title":"Response Getpronunciations"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"list"},"post":{"tags":["pronunciations"],"summary":"Create a Pronunciation","description":"Add a term (grapheme) and its spoken replacement (phoneme).","operationId":"PostPronunciations","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePronunciationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PronunciationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"create"}},"/v2/pronunciations/{pronunciation_id}":{"patch":{"tags":["pronunciations"],"summary":"Update a Pronunciation","description":"Update the term (grapheme) and/or its spoken replacement (phoneme).","operationId":"PatchPronunciationsPronunciationId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pronunciation_id","in":"path","required":true,"schema":{"type":"string","title":"Pronunciation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePronunciationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PronunciationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"update"},"delete":{"tags":["pronunciations"],"summary":"Delete a Pronunciation","description":"Remove a pronunciation entry.","operationId":"DeletePronunciationsPronunciationId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pronunciation_id","in":"path","required":true,"schema":{"type":"string","title":"Pronunciation Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"delete"}},"/v2/register-temp/check-email":{"post":{"tags":["register-temp"],"summary":"Check an Email for Registration","description":"Reports whether an email can start a new registration — well-formed, a work\n(non-public) domain, and not already registered. Returns the failure as a\nstructured ``reason`` rather than an error, for inline form validation.","operationId":"PostRegisterTempCheckEmail","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckEmailRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckEmailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"checkEmail"}},"/v2/register-temp/send-code":{"post":{"tags":["register-temp"],"summary":"Email a Verification Code","description":"Sends a one-time code to the work email so it can be verified before registration.\nRepeat requests within the resend window succeed without sending another email —\nthe previously delivered code remains valid, so the flow can always proceed to\ncode entry. (A recent code whose delivery is still in flight is waited on, and\nreplaced if that delivery failed.) The work-email constraint is enforced by the\n``WorkEmail`` field type.","operationId":"PostRegisterTempSendCode","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendCodeRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"sendCode"}},"/v2/register-temp/verify-email":{"post":{"tags":["register-temp"],"summary":"Verify an Emailed Code","description":"Confirms the code and returns a short-lived registration token plus prefill\nsuggestions (organization display name / name) for the registration form.","operationId":"PostRegisterTempVerifyEmail","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyEmailRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistrationTokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"verifyEmail"}},"/v2/register-temp/exchange-code":{"post":{"tags":["register-temp"],"summary":"Exchange an OAuth Code","description":"Verifies an auth0 authorization code. For a new identity, returns a registration token\nplus prefill suggestions for the registration form. If the email already belongs to an\naccount/tenant, the exchange has already produced a valid session, so the user is logged\nin directly: returns ExistingAccountSession (with the session tokens + refresh cookie)\ninstead, and the frontend goes straight into the app. Discriminate by which response\nshape comes back (registration_token vs. access_token).","operationId":"PostRegisterTempExchangeCode","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeCodeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/RegistrationTokenResponse"},{"$ref":"#/components/schemas/ExistingAccountSession"}],"title":"Response Postregistertempexchangecode"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"exchangeCode"}},"/v2/register-temp/register":{"post":{"tags":["register-temp"],"summary":"Register a New Organization","description":"Completes registration from a verified registration token and logs the new user in:\nreturns the access/id tokens and sets the refresh token as an httponly cookie. Two\nmodes, by the request's organization field: a string (an existing org id) accepts that\npending invite and joins the org; an object founds a new org with the user as its first\nadmin. For email/password this also creates the auth0 identity. Temporary endpoint\npending the proper registration flow.","operationId":"PostRegisterTempRegister","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PasswordRegister"},{"$ref":"#/components/schemas/OAuthRegister"}],"title":"Request"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"register"}},"/v2/report-configs/types":{"get":{"tags":["report-configs"],"summary":"List Types","description":"List Report Types\n\nList all available report types that can be configured.","operationId":"GetReportConfigsTypes","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ReportTypeInfo"},"type":"array","title":"Response Getreportconfigstypes"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"listTypes"}},"/v2/report-configs":{"get":{"tags":["report-configs"],"summary":"List Configs","description":"List Report Configs\n\nList report configurations for the organization.\nOptionally filter by report type.","operationId":"GetReportConfigs","security":[{"HTTPBearer":[]}],"parameters":[{"name":"report_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ReportType"},{"type":"null"}],"title":"Report Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReportConfig"},"title":"Response Getreportconfigs"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"},"post":{"tags":["report-configs"],"summary":"Create","description":"Create a Report Config\n\nCreate a new report configuration.\nOnly one config per report type per organization is allowed.","operationId":"PostReportConfigs","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateReportConfigRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportConfig"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"create"}},"/v2/report-configs/{report_config_id}":{"patch":{"tags":["report-configs"],"summary":"Update","description":"Update a Report Config\n\nUpdate an existing report configuration.","operationId":"PatchReportConfigsReportConfigId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"report_config_id","in":"path","required":true,"schema":{"type":"string","title":"Report Config Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateReportConfigRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportConfig"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"update"}},"/v2/report-configs/{report_config_id}/send-now":{"post":{"tags":["report-configs"],"summary":"Send Now","description":"Send Report Now\n\nTrigger an immediate report send for the given config, bypassing the schedule.\nWorks for all report types.","operationId":"PostReportConfigsReportConfigIdSendNow","security":[{"HTTPBearer":[]}],"parameters":[{"name":"report_config_id","in":"path","required":true,"schema":{"type":"string","title":"Report Config Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"sendNow"}},"/v2/roles/registry":{"get":{"tags":["roles"],"summary":"Get the Permission Registry","description":"Returns every gatable resource with its actions.","operationId":"GetRolesRegistry","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRegistryResponse"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"getRegistry"}},"/v2/roles":{"get":{"tags":["roles"],"summary":"List Roles","description":"Returns the global system roles followed by the org's custom roles.","operationId":"GetRoles","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRolesResponse"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"list"},"post":{"tags":["roles"],"summary":"Create a Role","description":"Creates a custom role for the organization; the slug is derived from the name.","operationId":"PostRoles","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRoleRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleSchema"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"create"}},"/v2/roles/{role_id}":{"patch":{"tags":["roles"],"summary":"Update a Role","description":"Updates a custom role's name, permissions, or visibility scope. System roles\ncannot be modified.","operationId":"PatchRolesRoleId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"string","title":"Role Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleSchema"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Unprocessable Content"}},"x-speakeasy-name-override":"update"},"delete":{"tags":["roles"],"summary":"Delete a Role","description":"Deletes a custom role nobody holds, counting deactivated members. System\nroles cannot be deleted, and a role with members must have them reassigned\nfirst.","operationId":"DeleteRolesRoleId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"string","title":"Role Id"}}],"responses":{"204":{"description":"Successful Response"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"delete"}},"/v2/sales-order-cases":{"get":{"tags":["sales-order-cases"],"summary":"List Sales Order Cases","description":"Retrieve a paginated list of sales order cases with filtering and sorting.","operationId":"GetSalesOrderCases","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["default","created_at","current_ship_date"],"type":"string","x-speakeasy-enum-format":"union","title":"Sort By","description":"`default` puts open cases that need attention first, then orders by next touch, then newest. `sort_order` does not apply to it.","default":"default"},"description":"`default` puts open cases that need attention first, then orders by next touch, then newest. `sort_order` does not apply to it."},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","title":"","default":"desc"}},{"name":"is_open","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Open","description":"Filter to open (true) or resolved (false) cases"},"description":"Filter to open (true) or resolved (false) cases"},{"name":"needs_attention","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Needs Attention","description":"Filter by whether the case needs attention"},"description":"Filter by whether the case needs attention"},{"name":"type__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/SalesOrderCaseType"}},{"type":"null"}],"title":"Type  In","description":"Filter by case type"},"description":"Filter by case type"},{"name":"business_group__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Business Group  In","description":"Filter by the sales order's business group (any of)"},"description":"Filter by the sales order's business group (any of)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_SalesOrderCaseListItemSchema_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"}},"/v2/sales-order-cases/{case_id}":{"get":{"tags":["sales-order-cases"],"summary":"Get a Sales Order Case","description":"Get a Sales Order Case","operationId":"GetSalesOrderCasesCaseId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","title":"Case Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesOrderCaseDetailSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"}},"/v2/sales-order-cases/{case_id}/events":{"get":{"tags":["sales-order-cases"],"summary":"List a Sales Order Case's Events","description":"List a Sales Order Case's Events","operationId":"GetSalesOrderCasesCaseIdEvents","security":[{"HTTPBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","title":"Case Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","title":"","description":"Order by `occurred_at`","default":"desc"},"description":"Order by `occurred_at`"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_SalesOrderCaseEventSchema_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listEvents"}},"/v2/sales-order-cases/{case_id}/resolve":{"post":{"tags":["sales-order-cases"],"summary":"Resolve a Sales Order Case","description":"Close the case with a reason. Resolving clears the attention flag.","operationId":"PostSalesOrderCasesCaseIdResolve","security":[{"HTTPBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","title":"Case Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveSalesOrderCaseRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesOrderCaseDetailSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"resolve"}},"/v2/sales-order-cases/{case_id}/pause":{"post":{"tags":["sales-order-cases"],"summary":"Pause a Sales Order Case's Outreach","description":"Pausing a paused case changes its resume time.","operationId":"PostSalesOrderCasesCaseIdPause","security":[{"HTTPBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","title":"Case Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PauseSalesOrderCaseOutreachRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesOrderCaseDetailSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"pauseOutreach"}},"/v2/sales-order-cases/{case_id}/resume":{"post":{"tags":["sales-order-cases"],"summary":"Resume a Sales Order Case's Outreach","description":"Resume a Sales Order Case's Outreach","operationId":"PostSalesOrderCasesCaseIdResume","security":[{"HTTPBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","title":"Case Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesOrderCaseDetailSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"resumeOutreach"}},"/v2/sales-order-cases/{case_id}/notes":{"post":{"tags":["sales-order-cases"],"summary":"Add a Note to a Sales Order Case","description":"Add a Note to a Sales Order Case","operationId":"PostSalesOrderCasesCaseIdNotes","security":[{"HTTPBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","title":"Case Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSalesOrderCaseNoteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesOrderCaseEventSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"createNote"}},"/v2/sales-order-cases/{case_id}/emails":{"post":{"tags":["sales-order-cases"],"summary":"Draft an Email from a Sales Order Case","description":"The draft goes to the case contact, or else the customer's outreach address, from the user's default\nsender. It names the order by the customer's PO, else the sales order number. An early ship case's\nbody lists the lines with their scheduled and new ship dates, for the user to edit before sending;\nother cases start with an empty line. Every body ends with an AI notice.","operationId":"PostSalesOrderCasesCaseIdEmails","security":[{"HTTPBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","title":"Case Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesOrderCaseEmailSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"createEmailDraft"}},"/v2/sales-order-cases/{case_id}/emails/{email_id}/send":{"post":{"tags":["sales-order-cases"],"summary":"Send a Sales Order Case's Draft Email","description":"Queues the draft. The case records `email_sent` once the provider accepts it.","operationId":"PostSalesOrderCasesCaseIdEmailsEmailIdSend","security":[{"HTTPBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","title":"Case Id"}},{"name":"email_id","in":"path","required":true,"schema":{"type":"string","title":"Email Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesOrderCaseEmailSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"sendEmail"}},"/v2/sales-orders":{"get":{"tags":["sales-orders"],"summary":"Get Sales Orders","description":"List Sales Orders\n\nRetrieve a paginated list of sales orders with filtering and sorting.","operationId":"GetSalesOrders","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["default","total_amount","issue_date","requested_delivery_date","number"],"type":"string","x-speakeasy-enum-format":"union","title":"Sort By","default":"default"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","title":"","default":"desc"}},{"name":"status__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/SalesOrderStatus"}},{"type":"null"}],"title":"Status  In","description":"Filter by sales order status"},"description":"Filter by sales order status"},{"name":"customer_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Id","description":"Filter by exact customer (obligor) ID"},"description":"Filter by exact customer (obligor) ID"},{"name":"partner_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Partner Id  In","description":"Filter by partner ID (any of)"},"description":"Filter by partner ID (any of)"},{"name":"assignee_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assignee Id","description":"Filter by the customer's assignee ID. Pass an empty string to filter for customers with no assignee."},"description":"Filter by the customer's assignee ID. Pass an empty string to filter for customers with no assignee."},{"name":"assignee_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Assignee Id  In","description":"Filter by customer assignee ID (any of)"},"description":"Filter by customer assignee ID (any of)"},{"name":"assignee_id__nin","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Assignee Id  Nin","description":"Exclude customer assignee ID (any of)"},"description":"Exclude customer assignee ID (any of)"},{"name":"total_amount_gte","in":"query","required":false,"schema":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":"Total Amount Gte","description":"Minimum total amount, in standard currency units"},"description":"Minimum total amount, in standard currency units"},{"name":"total_amount_lte","in":"query","required":false,"schema":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":"Total Amount Lte","description":"Maximum total amount, in standard currency units"},"description":"Maximum total amount, in standard currency units"},{"name":"issue_date_gte","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Issue Date Gte","description":"Issued on or after"},"description":"Issued on or after"},{"name":"issue_date_lte","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Issue Date Lte","description":"Issued on or before"},"description":"Issued on or before"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search","description":"Search in sales order number, customer name, and customer account number"},"description":"Search in sales order number, customer name, and customer account number"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_SalesOrderSchema_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"}},"/v2/sales-orders/{sales_order_id}":{"get":{"tags":["sales-orders"],"summary":"Get Sales Order Endpoint","description":"Get a Sales Order","operationId":"GetSalesOrdersSalesOrderId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sales_order_id","in":"path","required":true,"schema":{"type":"string","title":"Sales Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesOrderSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"}},"/v2/sales-orders/{sales_order_id}/lines":{"get":{"tags":["sales-orders"],"summary":"Get Sales Order Lines Endpoint","description":"List a Sales Order's Lines","operationId":"GetSalesOrdersSalesOrderIdLines","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sales_order_id","in":"path","required":true,"schema":{"type":"string","title":"Sales Order Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_SalesOrderLineSchema_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listLines"}},"/v2/segments":{"get":{"tags":["segments"],"summary":"List Segments","description":"List Segments","operationId":"GetSegments","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Segment"},"title":"Response Getsegments"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"},"post":{"tags":["segments"],"summary":"Create a Segment","description":"Create a Segment","operationId":"PostSegments","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSegmentInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Segment"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"create"}},"/v2/segments/count":{"post":{"tags":["segments"],"summary":"Count Customers for a Clause","description":"Count Customers for a Clause","operationId":"PostSegmentsCount","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountPartnersInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerCount"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"count_for_clause"}},"/v2/segments/generate":{"post":{"tags":["segments"],"summary":"Generate a Customer Segment Clause","description":"Generate a Customer Segment Clause","operationId":"PostSegmentsGenerate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateClauseInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneratedClause"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"generate"}},"/v2/segments/migrate":{"post":{"tags":["segments"],"summary":"Start or Retry Segment Migration","description":"Start or Retry Segment Migration","operationId":"PostSegmentsMigrate","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Segment"},"type":"array","title":"Response Postsegmentsmigrate"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"migrate"}},"/v2/segments/migrate/finalize":{"post":{"tags":["segments"],"summary":"Finalize Segment Migration","description":"Finalize Segment Migration","operationId":"PostSegmentsMigrateFinalize","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Segment"},"type":"array","title":"Response Postsegmentsmigratefinalize"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"finalize_migration"}},"/v2/segments/migrate/rollback":{"post":{"tags":["segments"],"summary":"Cancel Segment Migration","description":"Cancel Segment Migration","operationId":"PostSegmentsMigrateRollback","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Segment"},"type":"array","title":"Response Postsegmentsmigraterollback"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"rollback_migration"}},"/v2/segments/reorder":{"post":{"tags":["segments"],"summary":"Reorder Segments","description":"Reorder Segments","operationId":"PostSegmentsReorder","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/stuut__api_service__v2__routers__segments__schemas__ReorderSegmentsInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Segment"},"type":"array","title":"Response Postsegmentsreorder"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"reorder"}},"/v2/segments/partners/{partner_id}":{"get":{"tags":["segments"],"summary":"Get Segments for Customer","description":"Get Segments for Customer","operationId":"GetSegmentsPartnersPartnerId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Segment"},"title":"Response Getsegmentspartnerspartnerid"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get_by_partner"}},"/v2/segments/{segment_id}":{"get":{"tags":["segments"],"summary":"Get a Segment","description":"Get a Segment","operationId":"GetSegmentsSegmentId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"segment_id","in":"path","required":true,"schema":{"type":"string","title":"Segment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Segment"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"},"patch":{"tags":["segments"],"summary":"Update a Segment","description":"Update a Segment","operationId":"PatchSegmentsSegmentId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"segment_id","in":"path","required":true,"schema":{"type":"string","title":"Segment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSegmentInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Segment"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"update"},"delete":{"tags":["segments"],"summary":"Delete a Segment","description":"Delete a Segment","operationId":"DeleteSegmentsSegmentId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"segment_id","in":"path","required":true,"schema":{"type":"string","title":"Segment Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"delete"}},"/v2/segments/{segment_id}/migrate/approve":{"post":{"tags":["segments"],"summary":"Approve a Migrated Segment","description":"Approve a Migrated Segment","operationId":"PostSegmentsSegmentIdMigrateApprove","security":[{"HTTPBearer":[]}],"parameters":[{"name":"segment_id","in":"path","required":true,"schema":{"type":"string","title":"Segment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Segment"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"approve_migration"}},"/v2/segments/{segment_id}/partners":{"get":{"tags":["segments"],"summary":"Preview Customers","description":"Preview Customers","operationId":"GetSegmentsSegmentIdPartners","security":[{"HTTPBearer":[]}],"parameters":[{"name":"segment_id","in":"path","required":true,"schema":{"type":"string","title":"Segment Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PartnerSummary"},"title":"Response Getsegmentssegmentidpartners"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"preview_partners"}},"/v2/segments/{segment_id}/count":{"get":{"tags":["segments"],"summary":"Count Customers","description":"Count Customers","operationId":"GetSegmentsSegmentIdCount","security":[{"HTTPBearer":[]}],"parameters":[{"name":"segment_id","in":"path","required":true,"schema":{"type":"string","title":"Segment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerCount"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"count_partners"}},"/v2/sigma/generate-embed-url":{"post":{"tags":["sigma"],"summary":"Generate Sigma Embed URL","description":"Generate a signed Sigma embed URL for the requested content, scoped to\nthe caller's organization and business units via warehouse row-level\nsecurity. `business_unit_ids` narrows the session to the selected units;\na restricted user may only select units within their own scope. Cash App\norganizations are served the Cash App counterpart of the requested\ndashboard, and GBP organizations the GBP counterpart.\nThe URL is a bearer credential until it expires — never log it.","operationId":"PostSigmaGenerateEmbedUrl","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateSigmaEmbedUrlRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SigmaEmbedUrlResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"generateEmbedUrl"}},"/v2/sms/messages":{"post":{"tags":["sms"],"summary":"Create Sms Draft Message","description":"Create SMS Draft\n\nCreate an SMS draft message for a partner. The body can be provided directly,\ngenerated from a template, or generated by an LLM.","operationId":"PostSmsMessages","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSMSRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMS"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"createMessage"},"get":{"tags":["sms"],"summary":"List Sms Messages","description":"List SMS Messages\n\nRetrieve a paginated list of sent and received SMS messages, newest first, with optional\nfilters. Drafts are excluded. List a single conversation with\n`/sms/messages/{sms_id}/conversation`.","operationId":"GetSmsMessages","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"business_unit_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Business Unit Id  In","description":"Filter by business unit IDs."},"description":"Filter by business unit IDs."},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/SMSDirection"},{"type":"null"}],"title":"Direction","description":"Filter by message direction."},"description":"Filter by message direction."},{"name":"partner_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partner Id","description":"Filter by partner ID."},"description":"Filter by partner ID."},{"name":"invoice_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Id","description":"Filter by invoice ID."},"description":"Filter by invoice ID."},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"Before","description":"Return messages sent or created before this time."},"description":"Return messages sent or created before this time."},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"After","description":"Return messages sent or created after this time."},"description":"Return messages sent or created after this time."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_SMSMessage_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listMessages"}},"/v2/sms/messages/{sms_id}/send":{"post":{"tags":["sms"],"summary":"Send Sms Message","description":"Send SMS\n\nSend a draft SMS message via Twilio. The SMS must be in DRAFT status.","operationId":"PostSmsMessagesSmsIdSend","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sms_id","in":"path","required":true,"schema":{"type":"string","title":"Sms Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMS"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"sendMessage"}},"/v2/sms/messages/{sms_id}":{"patch":{"tags":["sms"],"summary":"Update Sms Message","description":"Update SMS Draft\n\nUpdate the body of a draft SMS message. The SMS must be in DRAFT status.","operationId":"PatchSmsMessagesSmsId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sms_id","in":"path","required":true,"schema":{"type":"string","title":"Sms Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSMSRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMS"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"updateMessage"}},"/v2/sms/messages/{sms_id}/conversation":{"get":{"tags":["sms"],"summary":"List Sms Conversation Messages","description":"List an SMS's Conversation\n\nRetrieve a paginated list of the sent and received messages in the conversation the SMS belongs\nto, newest first: every message between its organization number and customer number, whichever\npartner each is attributed to. The SMS itself may be a draft; drafts are excluded from the list.\nReturns 404 if the SMS is not found.","operationId":"GetSmsMessagesSmsIdConversation","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sms_id","in":"path","required":true,"schema":{"type":"string","title":"Sms Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_SMSMessage_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listConversationMessages"}},"/v2/sms/conversations":{"get":{"tags":["sms"],"summary":"List Sms Conversations","description":"List SMS Conversations\n\nReturns a paginated list of SMS conversations, each the messages exchanged between one\norganization number and one customer number, summarized by the latest message. Drafts are\nexcluded. List a conversation's messages with\n`/sms/messages/{latest_message_id}/conversation`.","operationId":"GetSmsConversations","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["latest_message_at","partner_name"],"type":"string","x-speakeasy-enum-format":"union","title":"Sort By","default":"latest_message_at"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","title":"","default":"desc"}},{"name":"partner_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Partner Id  In","description":"Filter to conversations with any message of the partners, or whose customer number is a partner's or one of its contacts' phone."},"description":"Filter to conversations with any message of the partners, or whose customer number is a partner's or one of its contacts' phone."},{"name":"assignee_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Assignee Id  In","description":"Filter by the assignee of the conversation's latest message's partner."},"description":"Filter by the assignee of the conversation's latest message's partner."},{"name":"business_unit_id__in","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Business Unit Id  In","description":"Filter by business unit IDs."},"description":"Filter by business unit IDs."},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search","description":"Search the partner name, or any message body when the organization does not vault SMS."},"description":"Search the partner name, or any message body when the organization does not vault SMS."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_SMSConversation_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listConversations"}},"/v2/sms/consent/{partner_id}":{"get":{"tags":["sms"],"summary":"Get Partner Sms Consent","description":"Get SMS Consent\n\nReturns whether the partner's outreach phone number has consented to receive SMS. Consent\nbelongs to the number, not the partner. The status is null if consent has never been requested\nfrom the number (or the partner has none), and otherwise one of `pending`, `granted` or `revoked`.","operationId":"GetSmsConsentPartnerId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMSConsent"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getConsent"}},"/v2/sms/consent/{partner_id}/request":{"post":{"tags":["sms"],"summary":"Request Partner Sms Consent","description":"Request SMS Consent\n\nSend the partner's outreach phone number an SMS asking them to opt in to receiving messages.\nReturns 409 if consent has already been requested from that number, whatever its current status.","operationId":"PostSmsConsentPartnerIdRequest","security":[{"HTTPBearer":[]}],"parameters":[{"name":"partner_id","in":"path","required":true,"schema":{"type":"string","title":"Partner Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMS"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"requestConsent"}},"/v2/sms-campaign-registration":{"get":{"tags":["sms-campaign-registration"],"summary":"Get Campaign Registration","description":"Get SMS Campaign Registration\n\nReturns the organization's A2P 10DLC campaign registration, if one exists.","operationId":"GetSmsCampaignRegistration","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMSCampaignRegistrationSchema"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"get"},"post":{"tags":["sms-campaign-registration"],"summary":"Create Campaign Registration","description":"Create SMS Campaign Registration\n\nSubmit A2P 10DLC campaign registration data including sample messages,\nconsent description, and proof of consent.","operationId":"PostSmsCampaignRegistration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSMSCampaignRegistrationRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMSCampaignRegistrationSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"create"}},"/v2/sms-campaign-registration/upload":{"post":{"tags":["sms-campaign-registration"],"summary":"Upload Proof Document Endpoint","description":"Upload Proof Document\n\nGet a presigned URL for uploading a consent proof document.\nAfter uploading to S3, pass the returned attachment_id when creating the registration.","operationId":"PostSmsCampaignRegistrationUpload","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadProofDocumentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadProofDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"uploadProofDocument"}},"/v2/sms-campaign-registration/upload/{attachment_id}/verify":{"post":{"tags":["sms-campaign-registration"],"summary":"Verify Proof Document Endpoint","description":"Verify Proof Document Upload\n\nConfirm that the proof document was successfully uploaded to S3.\nCall this after uploading the file using the presigned URL.","operationId":"PostSmsCampaignRegistrationUploadAttachmentIdVerify","security":[{"HTTPBearer":[]}],"parameters":[{"name":"attachment_id","in":"path","required":true,"schema":{"type":"string","title":"Attachment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attachment"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"verifyProofDocument"}},"/v2/sms-templates/variables":{"get":{"tags":["sms-templates"],"summary":"List Variables","description":"List SMS Template Variables","operationId":"GetSmsTemplatesVariables","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SMSTemplateVariable"},"type":"array","title":"Response Getsmstemplatesvariables"}}}}},"x-speakeasy-name-override":"listVariables"}},"/v2/sms-templates/validate":{"post":{"tags":["sms-templates"],"summary":"Validate Template","description":"Validate an SMS Template\n\nValidate an sms template body for syntax and length.","operationId":"PostSmsTemplatesValidate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateTemplateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateTemplateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"validate"}},"/v2/sms-templates":{"get":{"tags":["sms-templates"],"summary":"List Sms Templates","description":"List SMS Templates","operationId":"GetSmsTemplates","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["name","created_at"],"type":"string","x-speakeasy-enum-format":"union","title":"Sort By","default":"name"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","title":"","default":"asc"}},{"name":"search","in":"query","required":false,"schema":{"type":"string","title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_SMSTemplateSchema_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"},"post":{"tags":["sms-templates"],"summary":"Create Template","description":"Create an SMS Template","operationId":"PostSmsTemplates","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSMSTemplateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMSTemplateSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"create"}},"/v2/sms-templates/{sms_template_id}":{"get":{"tags":["sms-templates"],"summary":"Get Template","description":"Get an SMS Template","operationId":"GetSmsTemplatesSmsTemplateId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sms_template_id","in":"path","required":true,"schema":{"type":"string","title":"Sms Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMSTemplateSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"},"patch":{"tags":["sms-templates"],"summary":"Update Template","description":"Update an SMS Template","operationId":"PatchSmsTemplatesSmsTemplateId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sms_template_id","in":"path","required":true,"schema":{"type":"string","title":"Sms Template Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSMSTemplateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMSTemplateSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"update"},"delete":{"tags":["sms-templates"],"summary":"Delete Template","description":"Delete an SMS Template","operationId":"DeleteSmsTemplatesSmsTemplateId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sms_template_id","in":"path","required":true,"schema":{"type":"string","title":"Sms Template Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"delete"}},"/v2/sso":{"get":{"tags":["sso"],"summary":"Get Sso Connection Status","description":"Get SSO Connection Status\n\nThe organization's enterprise SSO connection state — whether a connection is\nconnected in Auth0, its name, and whether SSO auth is enabled. Used to drive\nthe self-service setup UI (when not connected, the client mints a setup ticket\nvia POST /sso/ticket).","operationId":"GetSso","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SSOConnection"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"get"}},"/v2/sso/ticket":{"post":{"tags":["sso"],"summary":"Create Sso Ticket","description":"Create SSO Setup Ticket\n\nGenerate a self-service Auth0 SSO setup link the customer can use to\nconfigure their own enterprise connection.","operationId":"PostSsoTicket","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSSOTicketRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SSOTicketSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"createSSOTicket"}},"/v2/staff-org-access":{"get":{"tags":["staff-org-access"],"summary":"List Staff Org Access Rows","description":"Returns the staff access rows, optionally filtered by staff email or\norganization. A row's role is what the staff member resolves to in that\norg; a null role means they are blocked from it.","operationId":"GetStaffOrgAccess","security":[{"HTTPBearer":[]}],"parameters":[{"name":"staff_email","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Staff Email"}},{"name":"organization_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListStaffOrgAccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"},"put":{"tags":["staff-org-access"],"summary":"Set a Staff Member's Org Access","description":"Creates or updates the access row for the (staff email, organization)\npair. A role id pins the staff member to that role in the org, replacing\ntheir home-org baseline; the role is a system role or one of the Stuut\norg's own custom roles. A null role id blocks them from the org\nentirely. Takes effect on the staff member's next request.","operationId":"PutStaffOrgAccess","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertStaffOrgAccessRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StaffOrgAccessSchema"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Unprocessable Content"}},"x-speakeasy-name-override":"upsert"},"delete":{"tags":["staff-org-access"],"summary":"Remove a Staff Member's Org Access Row","description":"Deletes the access row for the (staff email, organization) pair,\nreturning the staff member to their home-org baseline in that org.","operationId":"DeleteStaffOrgAccess","security":[{"HTTPBearer":[]}],"parameters":[{"name":"staff_email","in":"query","required":true,"schema":{"type":"string","title":"Staff Email"}},{"name":"organization_id","in":"query","required":true,"schema":{"type":"string","title":"Organization Id"}}],"responses":{"204":{"description":"Successful Response"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"revoke"}},"/v2/tags":{"get":{"tags":["tags"],"summary":"List Tags","description":"Returns paginated tags for the current organization, optionally filtered by name or tagged partner/workflow.","operationId":"GetTags","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search","description":"Filter tags by name."},"description":"Filter tags by name."},{"name":"partner_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partner Id","description":"Return only tags applied to this partner."},"description":"Return only tags applied to this partner."},{"name":"workflow_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workflow Id","description":"Return only tags applied to this workflow."},"description":"Return only tags applied to this workflow."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_TagSchema_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"},"post":{"tags":["tags"],"summary":"Create a Tag","description":"Creates an organization-scoped tag that can be applied to supported entities.","operationId":"PostTags","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTagRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagSchema"}}}},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}},"description":"Conflict"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Unprocessable Content"}},"x-speakeasy-name-override":"create"}},"/v2/tags/{tag_id}":{"get":{"tags":["tags"],"summary":"Get a Tag","description":"Returns a tag by ID when it belongs to the current organization.","operationId":"GetTagsTagId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","title":"Tag Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagSchema"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"},"patch":{"tags":["tags"],"summary":"Update a Tag","description":"Updates a tag's name or display color.","operationId":"PatchTagsTagId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","title":"Tag Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTagRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagSchema"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"update"},"delete":{"tags":["tags"],"summary":"Delete a Tag","description":"Deleting a tag also removes it from every entity it is applied to.","operationId":"DeleteTagsTagId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","title":"Tag Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"delete"}},"/v2/tags/{tag_id}/apply":{"post":{"tags":["tags"],"summary":"Apply a Tag to a Partner or Workflow","description":"Idempotent: re-applying an already-applied tag returns the existing association.","operationId":"PostTagsTagIdApply","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","title":"Tag Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagAssociationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PartnerTagSchema"},{"$ref":"#/components/schemas/WorkflowTagSchema"}],"title":"Response Posttagstagidapply"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Unprocessable Content"}},"x-speakeasy-name-override":"apply"}},"/v2/tags/{tag_id}/remove":{"post":{"tags":["tags"],"summary":"Remove a Tag from a Partner or Workflow","description":"Idempotent: removing a tag that is not applied is a no-op.","operationId":"PostTagsTagIdRemove","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","title":"Tag Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagAssociationRequest"}}}},"responses":{"204":{"description":"Successful Response"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Unprocessable Content"}},"x-speakeasy-name-override":"remove"}},"/v2/tasks/{task_id}/translate-email":{"post":{"tags":["tasks"],"summary":"Translate Task Email","description":"Preview a translation of a task email draft without saving or sending it.","operationId":"PostTasksTaskIdTranslateEmail","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranslateEmailRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailTranslation"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"translateEmail"}},"/v2/tasks/{task_id}/pre-submission/answers":{"put":{"tags":["ap-portals"],"summary":"Save Pre Submission Review Answers","description":"Save the review's answers and field values without submitting; unanswered questions and\nanswers that hold the invoice are kept as they are.","operationId":"PutTasksTaskIdPreSubmissionAnswers","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavePreSubmissionAnswersRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"savePreSubmissionAnswers"}},"/v2/tasks/{task_id}/pre-submission/submit":{"post":{"tags":["ap-portals"],"summary":"Submit Pre Submission","description":"Queue the reviewed invoice for submission.","operationId":"PostTasksTaskIdPreSubmissionSubmit","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavePreSubmissionAnswersRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreSubmissionReview"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"submitPreSubmissionReview"}},"/v2/tasks/{task_id}/ap-portal-rejection/resubmit":{"post":{"tags":["ap-portals"],"summary":"Resubmit Portal Rejection","description":"Resubmit this rejected invoice: live when the buyer allows live submission, otherwise\nthrough a dry run that moves this rejection into a pre-submission review.\n\nRefused when the buyer said not to resend. When the buyer said to wait for something on\ntheir side, resubmitting confirms it has happened. ``field_values`` fill form fields in\nplace of Stuut's, such as the corrected date a date rejection asks for.","operationId":"PostTasksTaskIdApPortalRejectionResubmit","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ResubmitRejectionRequest"},{"type":"null"}],"title":"Request"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectionResubmission"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"resubmitPortalRejection"}},"/v2/tasks/{task_id}/ap-portal-rejection/answer":{"put":{"tags":["ap-portals"],"summary":"Save Portal Rejection Answer","description":"Save a choice or corrected field without submitting or emailing.\n\nRefused unless the caller may review this buyer's submissions, as resubmitting is.","operationId":"PutTasksTaskIdApPortalRejectionAnswer","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveRejectionAnswerRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectionAnswer"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"savePortalRejectionAnswer"}},"/v2/tasks/{task_id}/ap-portal-ask-draft":{"delete":{"tags":["ap-portals"],"summary":"Discard Portal Ask Draft","description":"Discard this AP-portal invoice task's unsent ask draft; the next pick of who to ask\nwrites a fresh one from current data.","operationId":"DeleteTasksTaskIdApPortalAskDraft","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"discardPortalAskDraft"}},"/v2/tasks/ap-portal-asks/draft":{"post":{"tags":["ap-portals"],"summary":"Draft Shared Portal Ask","description":"Word several AP-portal invoice tasks' asks to one customer contact as one email, without\nsaving or sending it.","operationId":"PostTasksApPortalAsksDraft","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedAskDraftRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedAskDraft"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"draftSharedPortalAsk"}},"/v2/tasks/ap-portal-asks":{"post":{"tags":["ap-portals"],"summary":"Send Shared Portal Ask","description":"Send one email asking a customer contact about several of their AP-portal invoice tasks.\n\nEach task records the ask and stays open, waiting on the answer.","operationId":"PostTasksApPortalAsks","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedAskRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedAsk"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"sendSharedPortalAsk"}},"/v2/users":{"get":{"tags":["users"],"summary":"List Users","description":"List users in the caller's organization.","operationId":"GetUsers","security":[{"HTTPBearer":[]}],"parameters":[{"name":"include_deactivated","in":"query","required":false,"schema":{"type":"boolean","description":"Include users whose accounts have been disabled.","default":false,"title":"Include Deactivated"},"description":"Include users whose accounts have been disabled."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListUsersResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"}},"/v2/users/{user_id}/role":{"post":{"tags":["users"],"summary":"Update User Role","description":"Update User Role","operationId":"PostUsersUserIdRole","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRoleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRoleResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"updateUserRole"}},"/v2/users/{user_id}/ooo":{"get":{"tags":["users","users-ooo"],"summary":"Return the user's pending OOO (currently active or scheduled),","description":"or null if they don't have one.","operationId":"GetUsersUserIdOoo","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActiveUserOOOResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getOOO"},"post":{"tags":["users","users-ooo"],"summary":"Create and activate an OOO","description":"Self-service or admin-in-same-org only. Assigns the backup user and saves\nthem as the user's default backup. Conflicts (user already OOO, backup\ncurrently OOO, or user currently covering for someone) return 409.","operationId":"PostUsersUserIdOoo","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserOOORequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserOOO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"createOOO"},"patch":{"tags":["users","users-ooo"],"summary":"Update the user's pending OOO (currently active or scheduled)","description":"Only fields present in the request body are changed. To clear\n``end_date``, send ``\"end_date\": null`` explicitly.","operationId":"PatchUsersUserIdOoo","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserOOORequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserOOO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"updateOOO"},"delete":{"tags":["users","users-ooo"],"summary":"Cancel the user's pending OOO (active or scheduled). Idempotent:","description":"returns ``already_inactive=true`` when nothing is pending, rather\nthan 404.","operationId":"DeleteUsersUserIdOoo","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteOOOResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"deleteOOO"}},"/v2/users/{user_id}/ooo/preferences":{"get":{"tags":["users","users-ooo"],"summary":"Return the user's saved OOO form defaults. Fields default to null","description":"when the user hasn't set any.","operationId":"GetUsersUserIdOooPreferences","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserOOOPreferences"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getOOOPreferences"},"patch":{"tags":["users","users-ooo"],"summary":"Upsert the user's OOO form defaults","description":"Pass ``null`` to clear a field. Self-service or admin-in-same-org only.","operationId":"PatchUsersUserIdOooPreferences","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOOOPreferencesRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserOOOPreferences"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"updateOOOPreferences"}},"/v2/users/{user_id}/ooo/eligible-backups":{"get":{"tags":["users","users-ooo"],"summary":"List eligible backup users for an OOO","description":"Eligible backups are in the same org, not the target user, not disabled,\nand not currently OOO.","operationId":"GetUsersUserIdOooEligibleBackups","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EligibleBackupsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listEligibleBackups"}},"/v2/workflow-groups":{"get":{"tags":["workflow-groups"],"summary":"List Workflow Groups","description":"List Workflow Groups","operationId":"GetWorkflowGroups","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowGroup"},"title":"Response Getworkflowgroups"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"},"post":{"tags":["workflow-groups"],"summary":"Create Workflow Group","description":"Create Workflow Group","operationId":"PostWorkflowGroups","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowGroupCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"create"}},"/v2/workflow-groups/{workflow_group_id}":{"get":{"tags":["workflow-groups"],"summary":"Get Workflow Group","description":"Get Workflow Group","operationId":"GetWorkflowGroupsWorkflowGroupId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_group_id","in":"path","required":true,"schema":{"type":"string","format":"typeid","pattern":"^([a-z][a-z0-9_]*_)?[0-9a-z]{26}$","description":"TypeID identifier","examples":["01h2xcejqtf2nbrexx3vqjhp41","usr_01h2xcejqtf2nbrexx3vqjhp41"],"title":"Workflow Group Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowGroup"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"},"patch":{"tags":["workflow-groups"],"summary":"Update Workflow Group","description":"Update Workflow Group","operationId":"PatchWorkflowGroupsWorkflowGroupId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_group_id","in":"path","required":true,"schema":{"type":"string","format":"typeid","pattern":"^([a-z][a-z0-9_]*_)?[0-9a-z]{26}$","description":"TypeID identifier","examples":["01h2xcejqtf2nbrexx3vqjhp41","usr_01h2xcejqtf2nbrexx3vqjhp41"],"title":"Workflow Group Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowGroupUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowGroup"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Unprocessable Content"}},"x-speakeasy-name-override":"update"},"delete":{"tags":["workflow-groups"],"summary":"Delete Workflow Group","description":"Delete Workflow Group","operationId":"DeleteWorkflowGroupsWorkflowGroupId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_group_id","in":"path","required":true,"schema":{"type":"string","format":"typeid","pattern":"^([a-z][a-z0-9_]*_)?[0-9a-z]{26}$","description":"TypeID identifier","examples":["01h2xcejqtf2nbrexx3vqjhp41","usr_01h2xcejqtf2nbrexx3vqjhp41"],"title":"Workflow Group Id"}}],"responses":{"204":{"description":"Successful Response"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Unprocessable Content"}},"x-speakeasy-name-override":"delete"}},"/v2/workflows/catalog":{"get":{"tags":["workflows"],"summary":"Get Workflow Catalog","description":"Return supported workflow triggers, actions, and execution modes.","operationId":"GetWorkflowsCatalog","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowCatalog"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"catalog"}},"/v2/workflows/capability-grants/actions":{"get":{"tags":["workflows"],"summary":"List Private Action Grants","description":"List private workflow actions and their grants for the current organization.","operationId":"GetWorkflowsCapabilityGrantsActions","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/WorkflowPrivateActionGrant"},"type":"array","title":"Response Getworkflowscapabilitygrantsactions"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"listPrivateActionGrants"}},"/v2/workflows/capability-grants/actions/{action_type}":{"post":{"tags":["workflows"],"summary":"Grant Private Action","description":"Grant the current organization access to a private workflow action.","operationId":"PostWorkflowsCapabilityGrantsActionsActionType","security":[{"HTTPBearer":[]}],"parameters":[{"name":"action_type","in":"path","required":true,"schema":{"type":"string","title":"Action Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowPrivateActionGrant"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"grantPrivateAction"},"delete":{"tags":["workflows"],"summary":"Revoke Private Action","description":"Revoke access to a private action and pause active workflows that use it.","operationId":"DeleteWorkflowsCapabilityGrantsActionsActionType","security":[{"HTTPBearer":[]}],"parameters":[{"name":"action_type","in":"path","required":true,"schema":{"type":"string","title":"Action Type"}}],"responses":{"204":{"description":"Successful Response"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"revokePrivateAction"}},"/v2/workflows/capability-grants/triggers":{"get":{"tags":["workflows"],"summary":"List Private Trigger Grants","description":"List private workflow event triggers and their grants for the current organization.","operationId":"GetWorkflowsCapabilityGrantsTriggers","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/WorkflowPrivateTriggerGrant"},"type":"array","title":"Response Getworkflowscapabilitygrantstriggers"}}}}},"security":[{"HTTPBearer":[]}],"x-speakeasy-name-override":"listPrivateTriggerGrants"}},"/v2/workflows/capability-grants/triggers/{event_name}":{"post":{"tags":["workflows"],"summary":"Grant Private Trigger","description":"Grant the current organization access to a private workflow event trigger.","operationId":"PostWorkflowsCapabilityGrantsTriggersEventName","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_name","in":"path","required":true,"schema":{"type":"string","title":"Event Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowPrivateTriggerGrant"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"grantPrivateTrigger"},"delete":{"tags":["workflows"],"summary":"Revoke Private Trigger","description":"Revoke access to a private event trigger and pause active workflows that use it.","operationId":"DeleteWorkflowsCapabilityGrantsTriggersEventName","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_name","in":"path","required":true,"schema":{"type":"string","title":"Event Name"}}],"responses":{"204":{"description":"Successful Response"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"revokePrivateTrigger"}},"/v2/workflows":{"get":{"tags":["workflows"],"summary":"List Workflows","description":"List workflows for the current organization, optionally filtered by status.","operationId":"GetWorkflows","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/WorkflowStatus"},{"type":"null"}],"title":"Status"}},{"name":"workflow_group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"typeid","pattern":"^([a-z][a-z0-9_]*_)?[0-9a-z]{26}$","description":"TypeID identifier","examples":["01h2xcejqtf2nbrexx3vqjhp41","usr_01h2xcejqtf2nbrexx3vqjhp41"]},{"type":"null"}],"title":"Workflow Group Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Workflow"},"title":"Response Getworkflows"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"list"},"post":{"tags":["workflows"],"summary":"Create Workflow","description":"Create a draft workflow for the current organization from trigger and action configurations.","operationId":"PostWorkflows","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowWriteRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Unprocessable Content"}},"x-speakeasy-name-override":"create"}},"/v2/workflows/template-context":{"post":{"tags":["workflows"],"summary":"Get Template Context","description":"Describe and validate template fields for a workflow action.","operationId":"PostWorkflowsTemplateContext","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTemplateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTemplateContext"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/workflows/email-template-context":{"post":{"tags":["workflows"],"summary":"Get Email Template Context","description":"Describe workflow email variables and check template syntax.","operationId":"PostWorkflowsEmailTemplateContext","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowEmailTemplateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowEmailTemplateContext"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/workflows/runs":{"get":{"tags":["workflows"],"summary":"List Workflow Runs","description":"List existing generic workflow run records for Stuut administrators.","operationId":"GetWorkflowsRuns","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"title":"Page","description":"Page number, 0 indexed.","default":0},"description":"Page number, 0 indexed."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Number of records per page.","default":100},"description":"Number of records per page."},{"name":"workflow_id","in":"query","required":false,"schema":{"type":"string","title":"Workflow Id"}},{"name":"status","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WorkflowRunStatus","title":""}},{"name":"source_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WorkflowTriggerType","title":""}},{"name":"action_type","in":"query","required":false,"schema":{"type":"string","title":"Action Type"}},{"name":"entity_type","in":"query","required":false,"schema":{"type":"string","title":"Entity Type"}},{"name":"entity_id","in":"query","required":false,"schema":{"type":"string","title":"Entity Id"}},{"name":"search","in":"query","required":false,"schema":{"type":"string","maxLength":200,"title":"Search"}},{"name":"created_after","in":"query","required":false,"schema":{"type":"string","format":"date-time","title":"Created After"}},{"name":"created_before","in":"query","required":false,"schema":{"type":"string","format":"date-time","title":"Created Before"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_WorkflowRunListItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"listRuns"}},"/v2/workflows/runs/{run_id}":{"get":{"tags":["workflows"],"summary":"Get Workflow Run","description":"Get one existing workflow run and its action snapshot. Captured payloads are omitted by default.","operationId":"GetWorkflowsRunsRunId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"include_payloads","in":"query","required":false,"schema":{"type":"boolean","title":"Include Payloads","description":"Include captured run context and action input, output, and error payloads. Payloads can contain customer data and are omitted by default.","default":false},"description":"Include captured run context and action input, output, and error payloads. Payloads can contain customer data and are omitted by default."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRunDetail"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"getRun"}},"/v2/workflows/{workflow_id}":{"get":{"tags":["workflows"],"summary":"Get Workflow","description":"Get a workflow by ID with its triggers, actions, clauses, and activation validation errors.","operationId":"GetWorkflowsWorkflowId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"get"},"patch":{"tags":["workflows"],"summary":"Update Workflow","description":"Update a workflow's metadata, trigger configuration, and action configurations.","operationId":"PatchWorkflowsWorkflowId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowWriteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Unprocessable Content"}},"x-speakeasy-name-override":"update"},"delete":{"tags":["workflows"],"summary":"Delete Workflow","description":"Delete a workflow for the current organization.","operationId":"DeleteWorkflowsWorkflowId","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","title":"Workflow Id"}}],"responses":{"204":{"description":"Successful Response"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"delete"}},"/v2/workflows/{workflow_id}/duplicate":{"post":{"tags":["workflows"],"summary":"Duplicate Workflow","description":"Duplicate a workflow's configuration as a new draft for the current organization.","operationId":"PostWorkflowsWorkflowIdDuplicate","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","title":"Workflow Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"duplicate"}},"/v2/workflows/{workflow_id}/group":{"patch":{"tags":["workflows"],"summary":"Assign Workflow Group","description":"Move a workflow into a group or make it standalone. Pending runs must finish first.","operationId":"PatchWorkflowsWorkflowIdGroup","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowGroupAssignmentRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Unprocessable Content"}},"x-speakeasy-name-override":"assignGroup"}},"/v2/workflows/{workflow_id}/activate":{"post":{"tags":["workflows"],"summary":"Activate Workflow","description":"Validate a workflow and mark it active when there are no activation errors.","operationId":"PostWorkflowsWorkflowIdActivate","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowActivationResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"activate"}},"/v2/workflows/{workflow_id}/run-now":{"post":{"tags":["workflows"],"summary":"Run Workflow Now","description":"Queue an immediate run of an active scheduled workflow using its normal eligibility and action settings.","operationId":"PostWorkflowsWorkflowIdRunNow","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRunNowRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRunNowResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationErrorResponse"}}},"description":"Unprocessable Content"}},"x-speakeasy-name-override":"runNow"}},"/v2/workflows/{workflow_id}/pause":{"post":{"tags":["workflows"],"summary":"Pause Workflow","description":"Pause a workflow without deleting its configuration.","operationId":"PostWorkflowsWorkflowIdPause","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityNotFoundErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-speakeasy-name-override":"pause"}},"x-speakeasy-errors":{"statusCodes":["4XX","5XX"]}},"components":{"schemas":{"APIKeyListResponse":{"properties":{"keys":{"items":{"$ref":"#/components/schemas/APIKeyResponse"},"type":"array","title":""}},"type":"object","required":["keys"],"title":"APIKeyListResponse"},"APIKeyOwnerListResponse":{"properties":{"users":{"items":{"$ref":"#/components/schemas/APIKeyOwnerRef"},"type":"array","title":""}},"type":"object","required":["users"],"title":"APIKeyOwnerListResponse"},"APIKeyOwnerRef":{"properties":{"id":{"type":"string","title":""},"name":{"type":"string","title":""},"email":{"type":"string","title":""},"available_scopes":{"items":{"type":"string"},"type":"array","title":""}},"type":"object","required":["id","name","email","available_scopes"],"title":"APIKeyOwnerRef"},"APIKeyResponse":{"properties":{"id":{"type":"string","title":""},"name":{"type":"string","title":""},"secret_prefix":{"type":"string","title":""},"user":{"$ref":"#/components/schemas/APIKeyUserRef","title":""},"scopes":{"items":{"type":"string"},"type":"array","title":""},"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"last_used_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"revoked_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"is_active":{"type":"boolean","title":""}},"type":"object","required":["id","name","secret_prefix","user","scopes","created_at","last_used_at","revoked_at","is_active"],"title":"APIKeyResponse"},"APIKeyScope":{"type":"string","const":"journal_entries:export"},"APIKeyUserRef":{"properties":{"id":{"type":"string","title":""},"name":{"type":"string","title":""},"email":{"type":"string","title":""}},"type":"object","required":["id","name","email"],"title":"APIKeyUserRef"},"APPortalAccountStatus":{"type":"string","enum":["active","locked","awaiting_auth","password_expiring","password_expired","connecting"],"title":"APPortalAccountStatus","description":"Status of an AP portal account (the login/credential)."},"APPortalInvoiceDetail":{"properties":{"id":{"type":"string","title":""},"invoice_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"canonical_status":{"$ref":"#/components/schemas/APPortalInvoiceStatus","title":""},"state":{"anyOf":[{"$ref":"#/components/schemas/SubmissionState"},{"type":"null"}],"title":""},"invoice_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"routing_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"customer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Portal buyer identifier."},"reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"amount":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoice_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"po_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"reject_reason":{"anyOf":[{"$ref":"#/components/schemas/SubmissionRejectReason"},{"type":"null"}],"title":""},"reject_reason_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"submit_gate":{"$ref":"#/components/schemas/APPortalSubmitGate","title":"","default":"ok"},"submit_gate_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"payload_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"provider":{"$ref":"#/components/schemas/APPortalProvider","title":""},"ap_portal_account_id":{"type":"string","title":""},"invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"synced_at":{"type":"string","format":"date-time","title":""},"net_total":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"tax_total":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"gross_total":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"paid":{"type":"boolean","title":"","default":false},"paid_amount":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"payment_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"payment_term":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"payment_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"status_changed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"lines":{"items":{"$ref":"#/components/schemas/APPortalInvoiceLineSchema"},"type":"array","title":""},"tax_lines":{"items":{"$ref":"#/components/schemas/APPortalInvoiceTaxLineSchema"},"type":"array","title":""},"payments":{"items":{"$ref":"#/components/schemas/APPortalInvoicePaymentSchema"},"type":"array","title":""},"related_order":{"anyOf":[{"$ref":"#/components/schemas/APPortalRelatedOrderItem"},{"type":"null"}],"title":""}},"type":"object","required":["id","invoice_number","canonical_status","state","invoice_status","routing_status","customer","reference","amount","currency","invoice_date","po_reference","reject_reason","reject_reason_text","submit_gate","submit_gate_reason","payload_id","provider","ap_portal_account_id","invoice_id","synced_at","net_total","tax_total","gross_total","paid","paid_amount","payment_status","payment_term","payment_date","due_date","status_changed_at","lines","tax_lines","payments","related_order"],"title":"APPortalInvoiceDetail","description":"One swept invoice with its lines, tax groups, payments, and the PO it bills against.\n\nTyped totals come from the detail sweep and are null on a list-only sweep. For the\nERP-invoice-vs-PO-line comparison used before submitting, use ``submit-preview``."},"APPortalInvoiceLineSchema":{"properties":{"id":{"type":"string","title":""},"line_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"kind":{"anyOf":[{"$ref":"#/components/schemas/PortalLineKind"},{"type":"null"}],"title":""},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"supplier_part_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"uom":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"quantity":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"unit_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"line_total":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"po_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"po_line_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"po_line_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"service_sheet_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","line_number","kind","description","supplier_part_number","uom","quantity","unit_price","line_total","currency","po_number","po_line_number","po_line_reference","service_sheet_line"],"title":"APPortalInvoiceLine","description":"One swept invoice line. ``po_number`` / ``po_line_number`` join it to an order line."},"APPortalInvoiceListItem":{"properties":{"id":{"type":"string","title":""},"invoice_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"canonical_status":{"$ref":"#/components/schemas/APPortalInvoiceStatus","title":""},"state":{"anyOf":[{"$ref":"#/components/schemas/SubmissionState"},{"type":"null"}],"title":""},"invoice_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"routing_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"customer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Portal buyer identifier."},"reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"amount":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoice_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"po_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"reject_reason":{"anyOf":[{"$ref":"#/components/schemas/SubmissionRejectReason"},{"type":"null"}],"title":""},"reject_reason_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"submit_gate":{"$ref":"#/components/schemas/APPortalSubmitGate","title":"","default":"ok"},"submit_gate_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"payload_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"provider":{"$ref":"#/components/schemas/APPortalProvider","title":""},"ap_portal_account_id":{"type":"string","title":""},"invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"synced_at":{"type":"string","format":"date-time","title":""}},"type":"object","required":["id","invoice_number","canonical_status","state","invoice_status","routing_status","customer","reference","amount","currency","invoice_date","po_reference","reject_reason","reject_reason_text","submit_gate","submit_gate_reason","payload_id","provider","ap_portal_account_id","invoice_id","synced_at"],"title":"APPortalInvoiceListItem","description":"One swept invoice row for the consolidation dashboard. ``invoice_id`` is the matched\ninternal AR invoice (Pass-1 matcher), or null."},"APPortalInvoicePaymentSchema":{"properties":{"id":{"type":"string","title":""},"amount_paid":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"payment_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"channel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"portal_payment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","amount_paid","payment_date","channel","reference","portal_payment_id"],"title":"APPortalInvoicePayment","description":"One payment the portal reports against a swept invoice."},"APPortalInvoiceStatus":{"type":"string","enum":["not_submitted","submitting","submitted","approved","scheduled","paid","rejected","disputed","on_hold","cancelled","unknown"],"title":"APPortalInvoiceStatus","description":"Canonical, MECE invoice status normalized across portals — the dashboard's\nat-a-glance state. Derived from the raw portal status (preferred) with the coarse\n``SubmissionState`` as fallback (see stuut.core.ap_portal.normalize). Portal facts\nonly: submit pre-flight results live on the separate ``submit_gate`` axis."},"APPortalInvoiceTaxLineSchema":{"properties":{"id":{"type":"string","title":""},"amount":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"rate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"display_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"display_rate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"rate_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","amount","rate","code","display_code","display_rate","rate_description"],"title":"APPortalInvoiceTaxLine","description":"One tax group on a swept invoice; the amounts SUM to ``tax_total``."},"APPortalItem":{"properties":{"id":{"type":"string","title":""},"buyer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"partner_id":{"type":"string","title":""},"account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"account_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"provider":{"anyOf":[{"$ref":"#/components/schemas/APPortalProvider"},{"type":"null"}],"title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"customer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"customer_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"is_enabled":{"type":"boolean","title":""},"is_invoice_submit_enabled":{"type":"boolean","title":""},"status":{"$ref":"#/components/schemas/APPortalStatus","title":""}},"type":"object","required":["id","buyer_id","partner_id","account_id","account_key","provider","name","customer_name","customer_identifier","is_enabled","is_invoice_submit_enabled","status"],"title":"APPortalItem","description":"The ``ap_portal`` config tying one partner to one login."},"APPortalJobDetail":{"properties":{"id":{"type":"string","title":""},"provider":{"$ref":"#/components/schemas/APPortalProvider","title":""},"operation":{"anyOf":[{"$ref":"#/components/schemas/WorkOperation"},{"type":"null"}],"title":""},"status":{"$ref":"#/components/schemas/APPortalWorkStatus","title":""},"ap_portal_account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"business_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"failure_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"source_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"completed_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","provider","operation","status","ap_portal_account_id","business_key","invoice_id","failure_reason","created_at","modified_at","source_session_id","completed_session_id"],"title":"APPortalJobDetail","description":"One AP-portal job, plus its source/completed session references."},"APPortalJobListItem":{"properties":{"id":{"type":"string","title":""},"provider":{"$ref":"#/components/schemas/APPortalProvider","title":""},"operation":{"anyOf":[{"$ref":"#/components/schemas/WorkOperation"},{"type":"null"}],"title":""},"status":{"$ref":"#/components/schemas/APPortalWorkStatus","title":""},"ap_portal_account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"business_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"failure_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""}},"type":"object","required":["id","provider","operation","status","ap_portal_account_id","business_key","invoice_id","failure_reason","created_at","modified_at"],"title":"APPortalJobListItem","description":"One AP-portal job (a sweep or submit run). Carries the identifiers a triage view needs\ninline — the invoice and PO a submit targets — so the list is actionable without opening\neach row. Session references live on the detail schema."},"APPortalLoginItem":{"properties":{"id":{"type":"string","title":""},"provider":{"$ref":"#/components/schemas/APPortalProvider","title":""},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"status":{"$ref":"#/components/schemas/APPortalAccountStatus","title":""},"scope":{"items":{"$ref":"#/components/schemas/APPortalScope"},"type":"array","title":""},"login_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","provider","username","status","scope","login_url"],"title":"APPortalLoginItem","description":"An AP-portal login. Credentials (password / header token / TOTP secret) are write-only\nand never surfaced here."},"APPortalOrderDetail":{"properties":{"id":{"type":"string","title":""},"order_number":{"type":"string","title":""},"state":{"$ref":"#/components/schemas/APPortalOrderStatus","title":""},"order_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"confirmation_required":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"can_create_invoice":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"invoice_creation_blocked_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoice_creation_checked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"can_submit_invoice":{"type":"boolean","title":""},"customer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Portal buyer identifier."},"amount":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"amount_invoiced":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"amount_total":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"amount_invoiced_total":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"order_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"payload_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"provider":{"$ref":"#/components/schemas/APPortalProvider","title":""},"ap_portal_account_id":{"type":"string","title":""},"synced_at":{"type":"string","format":"date-time","title":""},"payment_term":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"lines":{"items":{"$ref":"#/components/schemas/APPortalOrderLineSchema"},"type":"array","title":""},"related_invoices":{"items":{"$ref":"#/components/schemas/APPortalRelatedInvoiceItem"},"type":"array","title":""},"display_status":{"$ref":"#/components/schemas/APPortalOrderDisplayStatus","title":"","readOnly":true}},"type":"object","required":["id","order_number","state","order_status","confirmation_required","can_create_invoice","invoice_creation_blocked_reason","invoice_creation_checked_at","can_submit_invoice","customer","amount","currency","amount_invoiced","amount_total","amount_invoiced_total","order_date","payload_id","provider","ap_portal_account_id","synced_at","payment_term","lines","related_invoices","display_status"],"title":"APPortalOrderDetail","description":"One swept PO with its detail-sweep lines and the invoices billed against it.\n\n``related_invoices`` comes from a query-time PO join, not a stored link, and returns\nat most the newest 500."},"APPortalOrderDisplayStatus":{"type":"string","enum":["open","awaiting_confirmation","on_hold","changed","invoiced","closed","cancelled","not_found","unknown"],"title":"APPortalOrderDisplayStatus"},"APPortalOrderLineSchema":{"properties":{"id":{"type":"string","title":""},"line_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"line_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"kind":{"anyOf":[{"$ref":"#/components/schemas/PortalLineKind"},{"type":"null"}],"title":""},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"po_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"po_line_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"quantity":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"unit_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"line_total":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"amount_invoiced":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"uom":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"supplier_part_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"need_by_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""}},"type":"object","required":["id","line_number","line_type","kind","description","po_number","po_line_number","quantity","unit_price","line_total","amount_invoiced","currency","uom","supplier_part_number","need_by_date"],"title":"APPortalOrderLine","description":"One PO line from the detail sweep. ``amount_invoiced`` is the per-line headroom."},"APPortalOrderListItem":{"properties":{"id":{"type":"string","title":""},"order_number":{"type":"string","title":""},"state":{"$ref":"#/components/schemas/APPortalOrderStatus","title":""},"order_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"confirmation_required":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"can_create_invoice":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"invoice_creation_blocked_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoice_creation_checked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"can_submit_invoice":{"type":"boolean","title":""},"customer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Portal buyer identifier."},"amount":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"amount_invoiced":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"amount_total":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"amount_invoiced_total":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"order_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"payload_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"provider":{"$ref":"#/components/schemas/APPortalProvider","title":""},"ap_portal_account_id":{"type":"string","title":""},"synced_at":{"type":"string","format":"date-time","title":""},"display_status":{"$ref":"#/components/schemas/APPortalOrderDisplayStatus","title":"","readOnly":true}},"type":"object","required":["id","order_number","state","order_status","confirmation_required","can_create_invoice","invoice_creation_blocked_reason","invoice_creation_checked_at","can_submit_invoice","customer","amount","currency","amount_invoiced","amount_total","amount_invoiced_total","order_date","payload_id","provider","ap_portal_account_id","synced_at","display_status"],"title":"APPortalOrderListItem","description":"One swept purchase-order row with lifecycle and invoice-creation status."},"APPortalOrderStatus":{"type":"string","enum":["open","on_hold","changed","invoiced","closed","cancelled","not_found","unknown"],"title":"APPortalOrderStatus","description":"Normalized purchase-order lifecycle from a sweep. Invoice creation is a separate\nfact (``can_create_invoice``), not answered by these labels: OPEN (active),\nON_HOLD (buyer reviewing), CHANGED (superseded — re-fetch the new PO),\nINVOICED (fully billed), CLOSED / CANCELLED (terminal),\nNOT_FOUND (referenced but not located in the portal), UNKNOWN (unrecognized provider\nstatus). The \"PO running low\" headroom signal is derived from amounts, not from a\nstatus."},"APPortalPOSummary":{"properties":{"number":{"type":"string","title":""},"state":{"$ref":"#/components/schemas/APPortalOrderStatus","title":""},"can_create_invoice":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether the portal's Create Invoice action was enabled on the last PO detail read; null when that action was not observed."},"invoice_creation_blocked_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The portal's wording for a disabled Create Invoice action, when present."},"headroom":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Remaining PO budget in the PO's own currency (`currency`), standard units; null until both typed totals have been swept."},"currency":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"","description":"The PO's own currency — headroom is in this currency, which is not guaranteed to match the invoice's. Null if the portal omitted it."}},"type":"object","required":["number","state","can_create_invoice","invoice_creation_blocked_reason","headroom","currency"],"title":"APPortalPOSummary","description":"The portal PO the invoice bills against: lifecycle, budget, and creation status."},"APPortalProvider":{"type":"string","enum":["kehe","taulia","coupa","ariba","meijer","kroger","walgreens","albertsons","target","heb","heb_sidm","c_and_s","walmart","walmart_highradius","cvs","cvs_sap","cvs_image_silo","kroger_supplier_connect","kroger_claimtrax","kroger_verigon","servicetitan","sandbox","generic"],"title":"APPortalProvider","description":"Supported AP Portal providers."},"APPortalRelatedInvoiceItem":{"properties":{"id":{"type":"string","title":""},"invoice_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"canonical_status":{"$ref":"#/components/schemas/APPortalInvoiceStatus","title":""},"amount":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoice_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","invoice_number","canonical_status","amount","currency","invoice_date","invoice_id"],"title":"APPortalRelatedInvoiceItem","description":"A swept invoice billed against this PO."},"APPortalRelatedOrderItem":{"properties":{"id":{"type":"string","title":""},"order_number":{"type":"string","title":""},"state":{"$ref":"#/components/schemas/APPortalOrderStatus","title":""},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"amount_total":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"amount_invoiced_total":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""}},"type":"object","required":["id","order_number","state","currency","amount_total","amount_invoiced_total"],"title":"APPortalRelatedOrderItem","description":"The PO a swept invoice bills against, with its budget totals."},"APPortalScope":{"type":"string","enum":["invoices","orders","payments","deductions"],"title":"APPortalScope","description":"Document kinds an AP-portal login can sweep (invoices, POs, …).\n\nStored on ``APPortalAccount.scope`` as a **non-empty** explicit list.\nEvery account defaults to ``[INVOICES, ORDERS]``; FDEs remove a scope when\nthe login lacks that portal list (e.g. Bishop Ariba → ``[ORDERS]`` only).\n``PAYMENTS`` (buyer payment records and their remittance advice) and\n``DEDUCTIONS`` (a buyer's deductions and their backup files) are opt-in and\nnever part of a default."},"APPortalStatus":{"type":"string","enum":["active","paused"],"title":"APPortalStatus","description":"Status of an AP portal."},"APPortalStatusSummary":{"properties":{"status":{"$ref":"#/components/schemas/APPortalInvoiceStatus","title":""},"reject_reason":{"anyOf":[{"$ref":"#/components/schemas/SubmissionRejectReason"},{"type":"null"}],"title":"","description":"Typed reject reason when the portal reports the invoice rejected."},"reject_reason_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The portal's own wording for the rejection. The typed code routes remediation; this says what has to be fixed, and is the only detail left when the code is OTHER."},"po":{"anyOf":[{"$ref":"#/components/schemas/APPortalPOSummary"},{"type":"null"}],"title":"","description":"The matched portal PO's context, when found on the partner's account."},"portal_document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Portal-native deep-link handle: the invoice document, or the PO when NOT_SUBMITTED."},"provider":{"$ref":"#/components/schemas/APPortalProvider","title":""},"as_of":{"$ref":"#/components/schemas/UTCDateTime","title":"","description":"When the source row was last refreshed by a sweep."},"status_since":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"In this status since. Null when NOT_SUBMITTED or swept before change tracking."},"submit_gate":{"$ref":"#/components/schemas/APPortalSubmitGate","title":"","default":"ok"},"submit_gate_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["status","reject_reason","reject_reason_text","po","portal_document_id","provider","as_of","status_since","submit_gate","submit_gate_reason"],"title":"APPortalStatusSummary","description":"What the buyer's AP portal says about this invoice (list column + detail page).\nFrom the swept portal invoice matched to it — or, when only the invoice's PO shows\nup in the portal, NOT_SUBMITTED plus that PO's context.\n\n`submit_gate` is the separate \"can we submit this now?\" axis (pre-flight on PO /\nfield-mapping); the UI composes lifecycle + gate into one badge. `submit_gate_reason`\nis a human-readable detail when the gate is not OK."},"APPortalSubmissionListItem":{"properties":{"id":{"type":"string","title":""},"status":{"$ref":"#/components/schemas/APPortalSubmissionStatus","title":""},"submission_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"reject_reason":{"anyOf":[{"$ref":"#/components/schemas/SubmissionRejectReason"},{"type":"null"}],"title":""},"submitted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"submit_gate_at_enqueue":{"anyOf":[{"$ref":"#/components/schemas/APPortalSubmitGate"},{"type":"null"}],"title":""},"failed_checks_at_enqueue":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""},"invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoice_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"purchase_order_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"customer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"partner_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"ap_portal_account_id":{"type":"string","title":""},"ap_portal_work_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"provider":{"$ref":"#/components/schemas/APPortalProvider","title":""},"review_artifact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"review_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"proof_artifact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"proof_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","status","submission_id","reason","reject_reason","submitted_at","submit_gate_at_enqueue","failed_checks_at_enqueue","invoice_id","invoice_number","purchase_order_number","customer","partner_name","ap_portal_account_id","ap_portal_work_id","provider","review_artifact_id","review_url","proof_artifact_id","proof_url"],"title":"APPortalSubmissionListItem","description":"One recorded submit outcome for an internal invoice through an AP-portal login."},"APPortalSubmissionStatus":{"type":"string","enum":["dry_run","accepted","rejected","unknown","failed"],"title":"APPortalSubmissionStatus","description":"Outcome of a submit run for one invoice through an AP-portal login."},"APPortalSubmitGate":{"type":"string","enum":["ok","needs_review","blocked"],"title":"APPortalSubmitGate","description":"Submit pre-flight gate for one invoice — can we submit it right now? Computed\nfrom the field-mapping + PO/order checks (see ``stuut.core.ap_portal.preview``) and\npersisted so the dashboard can flag \"needs a fix before submit\" without re-running a\npreview. A separate axis from ``APPortalInvoiceStatus`` (what the portal reports\nabout the invoice)."},"APPortalWorkStatus":{"type":"string","enum":["pending","running","failed","done"],"title":"APPortalWorkStatus","description":"Status of a ap portal work queue entry"},"AccountStatementScheduleResponse":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_active":{"type":"boolean","title":""},"frequency":{"$ref":"#/components/schemas/StatementFrequency","title":"","description":"How often to send the statement"},"day_of_week":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Day of week (0=Monday, 6=Sunday). Required for WEEKLY/BIWEEKLY."},"day_of_month":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Day of month (1-31). Required for MONTHLY day-of-month mode. Falls back to last day if month is shorter."},"week_of_month":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Week occurrence (1-5, where 5=last). Used with day_of_week for monthly day-of-week mode."},"biweekly_anchor_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"Anchor date for biweekly cadence calculation. Required for BIWEEKLY."},"include_credit_memos":{"type":"boolean","title":""},"include_disputed_items":{"type":"boolean","title":""},"auto_send":{"type":"boolean","title":""},"attach_xls":{"type":"boolean","title":"","description":"If True, always attach an XLS to the scheduled statement, ignoring partner.is_xls_attachments_enabled."},"cc":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""},"bcc":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""},"cc_secondary_contacts":{"type":"boolean","title":""},"external_roles_to_cc":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""},"internal_roles_to_cc":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""},"email_template":{"anyOf":[{"$ref":"#/components/schemas/EmailTemplateSummary"},{"type":"null"}],"title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_active","frequency","day_of_week","day_of_month","week_of_month","biweekly_anchor_date","include_credit_memos","include_disputed_items","auto_send","attach_xls","cc","bcc","cc_secondary_contacts","external_roles_to_cc","internal_roles_to_cc","email_template","object"],"title":"AccountStatementScheduleResponse"},"ActionExecutionWindowInputs":{"properties":{"start_time":{"type":"string","format":"time","title":"Start Time"},"end_time":{"type":"string","format":"time","title":"End Time"},"active_days":{"items":{"type":"integer","maximum":6.0,"minimum":0.0},"type":"array","minItems":1,"title":"Active Days"},"timezone":{"anyOf":[{"type":"string","format":"zoneinfo"},{"type":"null"}],"title":"Timezone"},"use_context_timezone":{"type":"boolean","title":"Use Context Timezone","default":true},"skip_holidays":{"type":"boolean","title":"Skip Holidays","default":true},"holiday_locale":{"anyOf":[{"type":"string"},{"type":"null"}],"enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW",null],"title":"Holiday Locale"},"randomize_within_window":{"type":"boolean","title":"Randomize Within Window","default":true}},"additionalProperties":false,"type":"object","required":["start_time","end_time"],"title":"ActionExecutionWindowInputs","description":"Optional time window for automatic action execution."},"ActionGroupItem":{"properties":{"count":{"type":"integer","minimum":0.0,"title":""},"amount":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Amount in cents"},"customer_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":""},"action_type":{"type":"string","enum":["disputes","broken_promises","open_tasks","overdue_invoices","current_invoices"],"title":"","x-speakeasy-enum-format":"union"}},"type":"object","required":["count","amount","customer_count","action_type"],"title":"ActionGroupItem"},"ActivateProfile":{"properties":{"validation_work_id":{"type":"string","title":""}},"type":"object","required":["validation_work_id"],"title":"ActivateProfile"},"ActivationCredit":{"properties":{"name":{"type":"string","title":"","description":"Customer-facing credit name."},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Credit amount in `currency`."},"currency":{"type":"string","title":"","description":"ISO-4217 currency code."},"expires_after_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Days after activation before the credit expires; null = never."}},"type":"object","required":["name","amount","currency","expires_after_days"],"title":"billing.ActivationCredit","description":"A credit granted specifically for activating a catalog product."},"ActiveUserOOOResponse":{"properties":{"ooo":{"anyOf":[{"$ref":"#/components/schemas/UserOOO"},{"type":"null"}],"title":""}},"type":"object","required":["ooo"],"title":"ActiveUserOOOResponse"},"ActorInfo":{"properties":{"type":{"$ref":"#/components/schemas/EventActorType","title":""},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["type","id","name","email"],"title":"ActorInfo"},"AcumaticaConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"acumatica","title":""},"base_url":{"type":"string","title":"","description":"Acumatica instance base URL including the IIS instance segment (e.g. https://erpsandbox.example.com/AcumaticaSandbox)."},"tenant":{"type":"string","title":"","description":"Acumatica tenant (company) login name as it appears on the Tenants form (SM203520). For multi-company installs this is also the suffix appended to ``client_id`` after ``@``."},"endpoint_name":{"type":"string","title":"","description":"Web service endpoint name (default 'Default'; custom endpoints supported)."},"endpoint_version":{"type":"string","title":"","description":"Endpoint version string (e.g. '24.200.001'). Mirrors Acumatica release."},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"OAuth scope string. 'api' for single-session, 'api offline_access' to get a refresh token, 'api:concurrent_access' to allow multiple simultaneous tokens for the same client."},"branches":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Branches the connection is authorized to sync. Each value is a BranchCD code (e.g. 'STSMC') that is sent in the ``PX-CbApiBranch`` header on AR transactional reads."},"default_currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ISO-4217 currency code used as the fallback when Acumatica's Default endpoint omits ``CurrencyID`` on AR documents — Invoice and CreditMemo entities do not expose a currency field in the current contract, so per-tenant single-currency installs need to set this on the connection. Payment rows carry ``CurrencyID`` directly and ignore this. Mapper fails loudly if neither the row nor this column carries a currency."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","base_url","tenant","endpoint_name","endpoint_version","scope","branches","default_currency","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"AcumaticaConnection","description":"Acumatica ERP integration connection."},"AcumaticaConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"acumatica","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"base_url":{"type":"string","title":"","description":"Acumatica instance base URL including the IIS instance segment (e.g. https://erpsandbox.example.com/AcumaticaSandbox)."},"tenant":{"type":"string","title":"","description":"Acumatica tenant (company) login name as it appears on the Tenants form (SM203520). For multi-company installs this is also the suffix appended to ``client_id`` after ``@``."},"endpoint_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Web service endpoint name (default 'Default'; custom endpoints supported)."},"endpoint_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Endpoint version string (e.g. '24.200.001'). Mirrors Acumatica release."},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"OAuth scope string. 'api' for single-session, 'api offline_access' to get a refresh token, 'api:concurrent_access' to allow multiple simultaneous tokens for the same client."},"client_id":{"type":"string","format":"password","title":"","description":"OAuth client ID from the Connected Application (includes '@TenantName' suffix).","writeOnly":true},"client_secret":{"type":"string","format":"password","title":"","description":"OAuth shared secret. Encrypted at rest via AWS KMS.","writeOnly":true},"username":{"type":"string","format":"password","title":"","description":"Acumatica API user (resource-owner credentials).","writeOnly":true},"password":{"type":"string","format":"password","title":"","description":"Acumatica API user password. Encrypted at rest via AWS KMS.","writeOnly":true},"branches":{"items":{"type":"string"},"type":"array","title":"","description":"Branches the connection is authorized to sync. Each value is a BranchCD code (e.g. 'STSMC') that is sent in the ``PX-CbApiBranch`` header on AR transactional reads."},"default_currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ISO-4217 currency code used as the fallback when Acumatica's Default endpoint omits ``CurrencyID`` on AR documents — Invoice and CreditMemo entities do not expose a currency field in the current contract, so per-tenant single-currency installs need to set this on the connection. Payment rows carry ``CurrencyID`` directly and ignore this. Mapper fails loudly if neither the row nor this column carries a currency."}},"type":"object","required":["provider_name","base_url","tenant","client_id","client_secret","username","password","branches"],"title":"AcumaticaConnectionCreateBody","description":"Create schema for Acumatica ERP connections."},"AcumaticaConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"acumatica","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Acumatica instance base URL including the IIS instance segment (e.g. https://erpsandbox.example.com/AcumaticaSandbox)."},"tenant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Acumatica tenant (company) login name as it appears on the Tenants form (SM203520). For multi-company installs this is also the suffix appended to ``client_id`` after ``@``."},"endpoint_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Web service endpoint name (default 'Default'; custom endpoints supported)."},"endpoint_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Endpoint version string (e.g. '24.200.001'). Mirrors Acumatica release."},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"OAuth scope string. 'api' for single-session, 'api offline_access' to get a refresh token, 'api:concurrent_access' to allow multiple simultaneous tokens for the same client."},"client_id":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"OAuth client ID from the Connected Application (includes '@TenantName' suffix)."},"client_secret":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"OAuth shared secret. Encrypted at rest via AWS KMS."},"username":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"Acumatica API user (resource-owner credentials)."},"password":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"Acumatica API user password. Encrypted at rest via AWS KMS."},"branches":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Branches the connection is authorized to sync. Each value is a BranchCD code (e.g. 'STSMC') that is sent in the ``PX-CbApiBranch`` header on AR transactional reads."},"default_currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ISO-4217 currency code used as the fallback when Acumatica's Default endpoint omits ``CurrencyID`` on AR documents — Invoice and CreditMemo entities do not expose a currency field in the current contract, so per-tenant single-currency installs need to set this on the connection. Payment rows carry ``CurrencyID`` directly and ignore this. Mapper fails loudly if neither the row nor this column carries a currency."}},"type":"object","required":["provider_name"],"title":"AcumaticaConnectionUpdate","description":"Update schema for Acumatica ERP connections."},"AddMemberRequest":{"properties":{"email":{"$ref":"#/components/schemas/Email","title":""},"role_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["email"],"title":"AddMemberRequest"},"AddressConditionInput":{"properties":{"country":{"anyOf":[{"$ref":"#/components/schemas/CountryOperators"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","title":"AddressConditionInput"},"AddressFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/AddressFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/AddressFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"country":{"$ref":"#/components/schemas/EqualityComparator_CountryCode_","title":"Country","description":"The customer's billing-address ISO 3166-1 alpha-2 country code."},"region":{"$ref":"#/components/schemas/EqualityComparator_Region_","title":"Region","description":"The geographic region derived from the customer's billing-address country."}},"additionalProperties":false,"type":"object","title":"AddressFilter"},"AddressFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/AddressFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/AddressFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"country":{"$ref":"#/components/schemas/EqualityComparator_CountryCode_","title":"Country","description":"The customer's billing-address ISO 3166-1 alpha-2 country code."},"region":{"$ref":"#/components/schemas/EqualityComparator_Region_","title":"Region","description":"The geographic region derived from the customer's billing-address country."}},"additionalProperties":false,"type":"object","title":"AddressFilter"},"AddressInput":{"properties":{"line1":{"type":"string","title":"","description":"Street address, line 1."},"line2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Street address, line 2."},"city":{"type":"string","title":"","description":"City."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"State / province."},"postal_code":{"type":"string","title":"","description":"Postal / ZIP code."},"country":{"type":"string","title":"","description":"Two-letter ISO country code."}},"type":"object","required":["line1","city","postal_code","country"],"title":"billing.AddressInput","description":"A Stripe billing address update."},"Adjustment":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"name":{"type":"string","title":"","description":"The name of this adjustment type, e.g. 'Stripe Processing Fee'"},"is_active":{"type":"boolean","title":"","description":"Whether this adjustment type is active and available for use"},"is_system":{"type":"boolean","title":"","description":"Whether this adjustment was created by the system (e.g., during Stripe processing) vs manually by a user"},"automated":{"type":"boolean","title":"","description":"Whether this adjustment is automatically applied during payment processing"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional description for this adjustment type"},"ledger_account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional ledger account for accounting integration. When set, this adjustment's allocations will be posted to this ledger account."},"ledger_account":{"anyOf":[{"$ref":"#/components/schemas/LedgerAccountSummary"},{"type":"null"}],"title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"can_delete":{"type":"boolean","title":"","description":"Whether this adjustment can be deleted. System adjustments cannot be deleted, only deactivated.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","is_active","is_system","automated","description","ledger_account_id","ledger_account","object","can_delete"],"title":"Adjustment","description":"Adjustment response schema."},"AdjustmentWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/AdjustmentWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/AdjustmentWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"name":{"$ref":"#/components/schemas/StringComparator","title":"Name"},"isActive":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isactive"},"isSystem":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Issystem"},"automated":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Automated"},"description":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Description"},"ledgerAccountId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Ledgeraccountid"}},"additionalProperties":false,"type":"object","title":"AdjustmentWorkflowFilter"},"AdjustmentWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/AdjustmentWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/AdjustmentWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"name":{"$ref":"#/components/schemas/StringComparator","title":"Name"},"isActive":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isactive"},"isSystem":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Issystem"},"automated":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Automated"},"description":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Description"},"ledgerAccountId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Ledgeraccountid"}},"additionalProperties":false,"type":"object","title":"AdjustmentWorkflowFilter"},"AgentExtractions":{"properties":{"counterparty_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"counterparty_raw":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoice_numbers":{"items":{"type":"string"},"type":"array","title":""}},"type":"object","required":["counterparty_name","counterparty_raw","invoice_numbers"],"title":"AgentExtractions","description":"Agent extractions for a bank transaction."},"AgentMetrics":{"properties":{"confidence_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Confidence Reason","description":"The justification for the agent's confidence score."},"confidence_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Confidence Score","description":"The confidence score of the result on a scale of 0-100, where 0 indicates no confidence in the accuracy of the result and 100 indicates full confidence in the accuracy of the result."},"error_code":{"anyOf":[{"type":"string","enum":["duplicate","insufficient","invalid_file_type","irrelevant","processing_error","upload_missing"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"Error Code","description":"The code for why an error occurred when processing the statement."},"uncertainties":{"items":{"type":"string"},"type":"array","title":"Uncertainties","description":"A list of uncertainties we have regarding the result."}},"type":"object","title":"AgentMetrics","description":"The AI agent's confidence metrics"},"AgentTaskLog":{"properties":{"task_type":{"type":"string","title":""},"count":{"type":"integer","minimum":0.0,"title":"","default":0}},"type":"object","required":["task_type","count"],"title":"AgentTaskLog"},"AgingSummaryPosition":{"type":"string","enum":["above","below","hidden"],"title":"AgingSummaryPosition","description":"Where a custom table shows its aging summary row, if at all."},"AllocationStatus":{"type":"string","enum":["unallocated","partially_allocated","fully_allocated"],"title":"AllocationStatus","description":"Allocation status for bank transactions."},"AppliedCommitOrCredit":{"properties":{"id":{"type":"string","title":"","description":"Instrument id — matches `pools[].id`."},"type":{"type":"string","enum":["PREPAID","POSTPAID","CREDIT"],"title":"","description":"Instrument type.","x-speakeasy-enum-format":"union"}},"type":"object","required":["id","type"],"title":"billing.AppliedCommitOrCredit","description":"The funding instrument a credit-application line drew from."},"ApproveRejectInput":{"properties":{"review_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional reviewer notes"},"reviewed_by":{"type":"string","title":"","description":"User performing the review"}},"type":"object","required":["reviewed_by"],"title":"ApproveRejectInput"},"ArtifactDetail":{"properties":{"id":{"type":"string","format":"uuid","title":""},"title":{"type":"string","title":""},"kind":{"$ref":"#/components/schemas/ArtifactKind","title":""},"status":{"$ref":"#/components/schemas/ArtifactStatus","title":""},"question":{"type":"string","title":""},"totalRows":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""},"createdAt":{"type":"string","format":"date-time","title":""},"updatedAt":{"type":"string","format":"date-time","title":""},"lastRefreshedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"lastError":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"sourceChatId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":""},"sourceMessageId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":""},"sourcePartOrder":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""},"snapshot":{"additionalProperties":true,"type":"object","title":""}},"type":"object","required":["id","title","kind","status","question","totalRows","createdAt","updatedAt","lastRefreshedAt","lastError","sourceChatId","sourceMessageId","sourcePartOrder","snapshot"],"title":"ArtifactDetail","description":"Summary plus the last result, in the same shape the chat renders.\n\nFor a table: `{\"columns\": [...], \"rows\": [...], \"totalRows\": n}` (rows capped,\n`sql` blank). For a chart: `{\"spec\": <vega-lite with data.values>}`."},"ArtifactKind":{"type":"string","enum":["table","chart"],"title":"ArtifactKind","description":"What an Ask Stuut artifact renders as."},"ArtifactList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ArtifactSummary"},"type":"array","title":""},"cap":{"type":"integer","title":""},"used":{"type":"integer","title":""}},"type":"object","required":["items","cap","used"],"title":"ArtifactList"},"ArtifactRowsPage":{"properties":{"columns":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":""},"rows":{"items":{"items":{},"type":"array"},"type":"array","title":""},"totalRows":{"type":"integer","title":""},"offset":{"type":"integer","title":""},"limit":{"type":"integer","title":""}},"type":"object","required":["columns","rows","totalRows","offset","limit"],"title":"ArtifactRowsPage","description":"One page of a table artifact's full result, fetched by statement handle."},"ArtifactStatus":{"type":"string","enum":["resolving","fresh","refreshing","failed","needs_reask"],"title":"ArtifactStatus","description":"Refresh state of an Ask Stuut artifact.\n\nRESOLVING: just saved; a background job is looking up the SQL behind it, so\nwhether this artifact can ever refresh is not known yet. FRESH: snapshot\nreflects the last successful run. REFRESHING: a rerun is in flight. FAILED:\nthe last rerun errored for a transient reason; snapshot kept. NEEDS_REASK:\nno SQL could be found, or the saved SQL no longer runs (e.g. a model was\nrenamed); the snapshot is kept and the user re-asks the question in a new\nchat. Refresh is offered only for FRESH, FAILED and REFRESHING."},"ArtifactSummary":{"properties":{"id":{"type":"string","format":"uuid","title":""},"title":{"type":"string","title":""},"kind":{"$ref":"#/components/schemas/ArtifactKind","title":""},"status":{"$ref":"#/components/schemas/ArtifactStatus","title":""},"question":{"type":"string","title":""},"totalRows":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""},"createdAt":{"type":"string","format":"date-time","title":""},"updatedAt":{"type":"string","format":"date-time","title":""},"lastRefreshedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"lastError":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"sourceChatId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":""},"sourceMessageId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":""},"sourcePartOrder":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""}},"type":"object","required":["id","title","kind","status","question","totalRows","createdAt","updatedAt","lastRefreshedAt","lastError","sourceChatId","sourceMessageId","sourcePartOrder"],"title":"ArtifactSummary","description":"Card-level view: everything the Artifacts tab list needs, no result payload."},"AssignBusinessUnitRequest":{"properties":{"business_unit_id":{"type":"string","title":"","description":"Business unit to assign the number to"}},"type":"object","required":["business_unit_id"],"title":"AssignBusinessUnitRequest"},"AssignInternalContactRequest":{"properties":{"email":{"type":"string","minLength":1,"title":"","description":"Email uniquely identifies the internal contact within the organization."},"internal_role":{"$ref":"#/components/schemas/InternalContactType","title":""},"given_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"family_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"job_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["email","internal_role"],"title":"AssignInternalContactRequest","description":"Request body for assigning an internal contact to a partner.\n\nFinds or creates the InternalContact by (organization_id, email), then\ncreates an InternalContactAssignment linking them to this partner with\nthe given role."},"AssignPartnerBusinessUnitRequest":{"properties":{"business_unit_id":{"type":"string","minLength":1,"title":""}},"type":"object","required":["business_unit_id"],"title":"AssignPartnerBusinessUnitRequest","description":"Request body for assigning a partner to a business unit."},"AssignPartnerRequest":{"properties":{"partner_id":{"type":"string","title":"","description":"The partner ID to assign to this thread."}},"type":"object","required":["partner_id"],"title":"AssignPartnerRequest","description":"Request to assign a triage thread to a partner."},"AssociatePortalRequest":{"properties":{"partner_ids":{"items":{"type":"string"},"type":"array","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"AP portal display name. Defaults to each partner's name."},"customer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Buyer/customer name as shown in the portal. Defaults to each partner's name."},"customer_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional buyer/customer identifier used by some providers."},"submission_profile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Deprecated legacy submission profile key; not required. Use buyer form revisions for invoice preparation. Retained for compatibility: omit to leave an existing portal's legacy profile unchanged; send null to clear it.","deprecated":true},"submission_config":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"","description":"Per-buyer supplier identity ids for submit (address / legal-entity picks). Omit to leave an existing portal's config unchanged; send null to clear it. Unknown or missing keys are rejected."},"is_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether the portal config is active. Defaults to True on create; omit on re-associate to leave an existing portal's enabled state unchanged."},"is_invoice_submit_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether invoices for this buyer may be sent live. Defaults to False on create; omit on re-associate to leave an existing portal unchanged. This is separate from is_enabled: while this is off, the buyer still supports previews and dry runs."}},"type":"object","required":["partner_ids"],"title":"AssociatePortalRequest","description":"Tie one or more customer partners to an AP-portal login. Upserts the ``ap_portal``\nconfig row per partner: creates it if the partner has none yet, otherwise repoints its\nlogin to this account. ``name`` / ``customer_name`` default to each partner's own name,\nso a shared override here applies identically across every partner in the list."},"AttachRemittanceRequest":{"properties":{"remittance_id":{"type":"string","title":"","description":"ID of the remittance to attach"}},"type":"object","required":["remittance_id"],"title":"AttachRemittanceRequest","description":"Request to attach a remittance to a bank transaction."},"AttachTaskAttachmentsRequest":{"properties":{"task_id":{"type":"string","title":"","description":"Task whose attachments are copied onto the draft."}},"type":"object","required":["task_id"],"title":"AttachTaskAttachmentsRequest"},"Attachment":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"name":{"type":"string","title":"","description":"The file name"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""},"is_verified":{"type":"boolean","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","mime_type","size","is_verified","object"],"title":"Attachment"},"AttachmentSignedUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"AuditLogChange":{"properties":{"field":{"type":"string","title":""},"label":{"type":"string","title":""},"old":{"$ref":"#/components/schemas/AuditLogChangeValue","title":""},"new":{"$ref":"#/components/schemas/AuditLogChangeValue","title":""}},"type":"object","required":["field","label","old","new"],"title":"AuditLogChange"},"AuditLogChangeValue":{"properties":{"raw":{"title":""},"display":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["raw","display"],"title":"AuditLogChangeValue"},"AuditLogEntity":{"properties":{"type":{"type":"string","title":""},"id":{"type":"string","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["type","id","name"],"title":"AuditLogEntity"},"AuditLogEntry":{"properties":{"correlation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"occurred_at":{"type":"string","format":"date-time","title":""},"actor":{"anyOf":[{"$ref":"#/components/schemas/ActorInfo"},{"type":"null"}],"title":""},"events":{"items":{"$ref":"#/components/schemas/AuditLogEvent"},"type":"array","title":""}},"type":"object","required":["correlation_id","occurred_at","actor","events"],"title":"AuditLogEntry","description":"One logical operation: the events recorded under one correlation id, newest first."},"AuditLogEvent":{"properties":{"id":{"type":"string","title":""},"name":{"type":"string","title":""},"occurred_at":{"type":"string","format":"date-time","title":""},"headline":{"type":"string","title":""},"headline_parts":{"items":{"$ref":"#/components/schemas/AuditLogHeadlinePart"},"type":"array","title":""},"subject":{"$ref":"#/components/schemas/AuditLogEntity","title":""},"source":{"anyOf":[{"$ref":"#/components/schemas/AuditLogEntity"},{"type":"null"}],"title":""},"destination":{"anyOf":[{"$ref":"#/components/schemas/AuditLogEntity"},{"type":"null"}],"title":""},"related_entities":{"items":{"$ref":"#/components/schemas/AuditLogEntity"},"type":"array","title":""},"changes":{"items":{"$ref":"#/components/schemas/AuditLogChange"},"type":"array","title":""}},"type":"object","required":["id","name","occurred_at","headline","headline_parts","subject","source","destination","related_entities","changes"],"title":"AuditLogEvent"},"AuditLogHeadlinePart":{"properties":{"kind":{"type":"string","enum":["text","record","actor"],"title":"","x-speakeasy-enum-format":"union"},"text":{"type":"string","title":""},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["kind","text","entity_type","entity_id"],"title":"AuditLogHeadlinePart"},"AuthCallbackRequest":{"properties":{"code":{"type":"string","title":"","description":"Authorization code returned by Nylas after sign-in."},"redirect_uri":{"type":"string","title":"","description":"Must match the redirect_uri used to generate the auth URL."},"state":{"type":"string","title":"","description":"The signed state token from the auth URL, echoed back by Nylas."}},"type":"object","required":["code","redirect_uri","state"],"title":"AuthCallbackRequest"},"AuthUrlResponse":{"properties":{"url":{"type":"string","title":"","description":"Hosted-OAuth URL for the user to sign in."}},"type":"object","required":["url"],"title":"AuthUrlResponse"},"AuthorizedRepresentative":{"properties":{"first_name":{"type":"string","minLength":1,"title":""},"last_name":{"type":"string","minLength":1,"title":""},"email":{"type":"string","minLength":1,"title":""},"phone":{"type":"string","format":"phone","title":"","description":"A phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format"},"title":{"type":"string","minLength":1,"title":""}},"type":"object","required":["first_name","last_name","email","phone","title"],"title":"AuthorizedRepresentative","description":"A person Twilio can contact to verify the business."},"AutoAssignSettingsRequest":{"properties":{"centralized_inbox_auto_assign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"centralized_inbox_auto_assign_threshold":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"","description":"Threshold must be between 0 and 100."},"centralized_inbox_matching_guidelines":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"","description":"Free-text matching guidelines for the AI agent."}},"type":"object","title":"AutoAssignSettingsRequest","description":"Request to update centralized inbox auto-assign settings."},"AutoPostConfig":{"properties":{"auto_post_enabled":{"type":"boolean","title":"","description":"When on, Stuut automatically posts the payments it's confident about and holds the rest for your review. When off, every payment waits for manual posting."},"auto_post_profile":{"$ref":"#/components/schemas/AutoPostProfile","title":"","description":"How cautious Stuut should be when deciding which payments to post automatically. See the auto-post profiles endpoint for the available options and what each one means."}},"type":"object","required":["auto_post_enabled","auto_post_profile"],"title":"AutoPostConfig","description":"An organization's cash-app auto-post configuration."},"AutoPostProfile":{"type":"string","enum":["standard","strict","permissive"],"title":"AutoPostProfile","description":"Auto-post policy selected per organization.\n\nAll profiles share the same rule — block if any criterion has effective\nseverity = blocker, OR if enough independent cautions accumulate. Profiles\ndiffer in which (criterion, level) pairs they upgrade or downgrade from the\nrubric's default severity, and in how many accumulating cautions trigger a\nblock. See stuut.core.cash_app.scoring.auto_post for the per-profile\noverride tables and caution thresholds."},"AutoPostProfileInfo":{"properties":{"value":{"$ref":"#/components/schemas/AutoPostProfile","title":""},"label":{"type":"string","title":""},"description":{"type":"string","title":""}},"type":"object","required":["value","label","description"],"title":"AutoPostProfileInfo","description":"A selectable auto-post policy profile, with display text for the settings UI."},"AutoReload":{"properties":{"enabled":{"type":"boolean","title":"","description":"Whether auto-reload is on."},"threshold":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Balance ($) at or below which the card is charged."},"recharge_to":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Balance ($) recharged up to."}},"type":"object","required":["enabled","threshold","recharge_to"],"title":"billing.AutoReload","description":"Automatic balance reload configuration."},"AvailableColumn":{"properties":{"key":{"type":"string","title":""},"default_header":{"type":"string","title":""}},"type":"object","required":["key","default_header"],"title":"AvailableColumn"},"AvailablePhoneNumber":{"properties":{"phone_number":{"type":"string","format":"phone","title":"","description":"E.164 number to pass to the provision endpoint"},"iso_country":{"type":"string","title":""},"locality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"City the number is rated to, when Twilio reports one"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"State or province code, when Twilio reports one"},"voice":{"type":"boolean","title":"","description":"Number can place and receive calls"},"sms":{"type":"boolean","title":"","description":"Number can send and receive SMS"}},"type":"object","required":["phone_number","iso_country","locality","region","voice","sms"],"title":"AvailablePhoneNumber","description":"A number Twilio has for sale. Nothing is reserved — it can be bought out from under you."},"AvgWeeklySalesResponse":{"properties":{"avg_weekly_sales":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"currency":{"$ref":"#/components/schemas/Currency","title":""}},"type":"object","required":["avg_weekly_sales","currency"],"title":"AvgWeeklySalesResponse","description":"Suggested value for `StructuredPlanInput.avg_weekly_sales`."},"Balances":{"properties":{"prepaid":{"$ref":"#/components/schemas/TypeBalance","title":"","description":"Purchased top-ups."},"postpaid":{"$ref":"#/components/schemas/TypeBalance","title":"","description":"Minimum-spend commitments (amount = target)."},"credit":{"$ref":"#/components/schemas/TypeBalance","title":"","description":"Free money — trials, promos, allotments."}},"type":"object","required":["prepaid","postpaid","credit"],"title":"billing.Balances","description":"Funding totals grouped by active pool type."},"Bank":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"color":{"type":"string","title":"","description":"The hex color code of the tag, if any."},"name":{"type":"string","title":"","description":"The bank account details."},"countries":{"items":{"type":"string"},"type":"array","title":"","description":"List of two-letter country code. [(ISO 3166 alpha-2)](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)"},"archived":{"type":"boolean","title":""},"remote_logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The remote system's bank logo url or content."},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The bank's website URL."},"routing_numbers":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"","description":"A list of routing numbers."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","color","name","countries","archived","remote_logo","website","routing_numbers","object"],"title":"Bank"},"BankAccount":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"archived":{"type":"boolean","title":"","description":"Whether the bank account is archived or not"},"bank":{"anyOf":[{"$ref":"#/components/schemas/Bank"},{"type":"null"}],"title":""},"currency":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"","description":"The ISO-4217 currency code of the account."},"erp_account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the ERP bank account associated with this bank account."},"erp_account_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ERP number of the account."},"last_synced_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"last_transaction_sync_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"The last time transactions were synced."},"ledger_account":{"anyOf":[{"$ref":"#/components/schemas/LedgerAccount"},{"type":"null"}],"title":"","description":"The ID of the G/L account associated with this bank account."},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"iban":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The IBAN of the bank account."},"mask":{"type":"string","title":"","description":"The last 2-4 alphanumeric characters of an account's official account number."},"name":{"type":"string","title":"","description":"The name of the account. If not assigned by the user, defaults to the name given by the financial institution itself"},"nickname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"official_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The name of the account assigned by the financial institution."},"party_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The legal name of the entity which owns the account."},"remote_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The external ID of the bank account. Only exists if this account is related to a bank feed connection."},"remote_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"The original object returned from the third party"},"routing_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The bank's routing number."},"sync_status":{"anyOf":[{"$ref":"#/components/schemas/ModelSyncStatus"},{"type":"null"}],"title":"","description":"The sync status for the bank account."},"timezone":{"anyOf":[{"$ref":"#/components/schemas/Timezone"},{"type":"null"}],"title":"","description":"The timezone of the account."},"type":{"$ref":"#/components/schemas/BankAccountType","title":"","description":"The type of bank account."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","archived","bank","currency","erp_account_id","erp_account_number","last_synced_at","last_transaction_sync_at","ledger_account","linked_integration_id","iban","mask","name","nickname","official_name","party_name","remote_id","remote_data","routing_number","sync_status","timezone","type","object"],"title":"BankAccount"},"BankAccountType":{"type":"string","enum":["cash_management","checking","savings","cd","money_market","paypal","other"],"title":"BankAccountType"},"BankStatement":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"status":{"$ref":"#/components/schemas/Status","title":"","description":"The status of this upload."},"period_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"The statement period's start date."},"period_end":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"The statement period's end date."},"account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"account_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The account number that the statement relates to."},"attachment":{"$ref":"#/components/schemas/BankStatementAttachment","title":""},"processing_error":{"anyOf":[{"$ref":"#/components/schemas/ProcessingError"},{"type":"null"}],"title":"","description":"Processing error details if status is INVALID"},"split_info":{"$ref":"#/components/schemas/SplitStatementInfo","title":""},"transactions":{"items":{"$ref":"#/components/schemas/BankStatementTransaction"},"type":"array","title":"","description":"Transactions extracted from the statement"},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","status","period_start","period_end","account_id","account_number","attachment","processing_error","split_info","transactions","object"],"title":"BankStatement","description":"Full response schema for a bank statement (includes transactions)."},"BankStatementAttachment":{"properties":{"id":{"type":"string","title":""},"name":{"type":"string","title":""},"src":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Presigned URL to download the file"},"mime_type":{"anyOf":[{"type":"string","enum":["application/json","application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.oasis.opendocument.spreadsheet","application/vnd.ms-excel.sheet.macroEnabled.12","application/vnd.ms-excel.sheet.macroenabled.12","application/vnd.ms-excel.sheet.binary.macroEnabled.12","application/vnd.ms-excel.sheet.binary.macroenabled.12","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","text/csv","application/csv","text/plain","text/html","application/xml","message/rfc822","application/vnd.ms-outlook","application/rtf","text/markdown","text/md"],"x-speakeasy-enum-format":"union"},{"type":"string","enum":["image/heic","image/jpeg","image/jpg","image/png","image/gif","image/svg+xml","image/x-eps","image/tiff","image/bmp","image/webp","image/avif"],"x-speakeasy-enum-format":"union"},{"type":"string","enum":["audio/mp3","audio/mp4","audio/mpeg","audio/wav","audio/x-wav","audio/webm"],"x-speakeasy-enum-format":"union"},{"type":"string","enum":["video/MP2T","video/quicktime","video/mp4","video/mpeg","video/webm","video/x-msvideo","video/x-ms-wmv"],"x-speakeasy-enum-format":"union"},{"type":"string","enum":["application/zip","application/x-zip-compressed","application/vnd.rar","application/x-rar-compressed","application/x-7z-compressed"],"x-speakeasy-enum-format":"union"},{"type":"string","const":"unknown"},{"type":"null"}],"title":"","description":"MIME type of the file"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"File type category (e.g., pdf, image)"}},"type":"object","required":["id","name","src","mime_type","file_type"],"title":"BankStatementAttachment","description":"Attachment information for a bank statement."},"BankStatementListItem":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"status":{"$ref":"#/components/schemas/Status","title":"","description":"The status of this upload."},"period_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"The statement period's start date."},"period_end":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"The statement period's end date."},"account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"account_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The account number that the statement relates to."},"attachment":{"$ref":"#/components/schemas/BankStatementAttachment","title":""},"processing_error":{"anyOf":[{"$ref":"#/components/schemas/ProcessingError"},{"type":"null"}],"title":"","description":"Processing error details if status is INVALID"},"transaction_count":{"type":"integer","title":"","description":"Number of transactions in this statement"},"total_deposits":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Sum of all deposit transactions in standard currency units (e.g. dollars)"},"total_withdrawals":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Sum of all withdrawal transactions in standard currency units (e.g. dollars)"},"account_mask":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Masked account number (last 4 digits) from linked BankAccount"},"account_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Name of the linked BankAccount"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ISO-4217 currency code from linked BankAccount"},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","status","period_start","period_end","account_id","account_number","attachment","processing_error","transaction_count","total_deposits","total_withdrawals","account_mask","account_name","currency","object"],"title":"BankStatementListItem","description":"Response schema for bank statement list items (no transactions)."},"BankStatementTransaction":{"properties":{"id":{"type":"string","title":""},"account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Bank account ID this transaction belongs to"},"timestamp":{"type":"string","format":"date-time","title":""},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Amount in standard currency units (e.g. dollars)"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"type":{"$ref":"#/components/schemas/BankTransactionType","title":""},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"reference_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"payment_status":{"$ref":"#/components/schemas/PaymentApplicationStatus","title":""}},"type":"object","required":["id","account_id","timestamp","amount","currency","type","description","reference_number","payment_status"],"title":"BankStatementTransaction","description":"Transaction within a bank statement."},"BankStatementWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/BankStatementWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/BankStatementWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"periodEnd":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Periodend"},"periodStart":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Periodstart"},"status":{"$ref":"#/components/schemas/EqualityComparator_Status_","title":"Status"},"accountId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Accountid"},"approverId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Approverid"},"uploaderId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Uploaderid"},"agentConfidenceScore":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Agentconfidencescore"},"agentErrorCode":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Agenterrorcode"}},"additionalProperties":false,"type":"object","title":"BankStatementWorkflowFilter"},"BankStatementWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/BankStatementWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/BankStatementWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"periodEnd":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Periodend"},"periodStart":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Periodstart"},"status":{"$ref":"#/components/schemas/EqualityComparator_Status_","title":"Status"},"accountId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Accountid"},"approverId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Approverid"},"uploaderId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Uploaderid"},"agentConfidenceScore":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Agentconfidencescore"},"agentErrorCode":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Agenterrorcode"}},"additionalProperties":false,"type":"object","title":"BankStatementWorkflowFilter"},"BankTransaction":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"timestamp":{"type":"string","format":"date-time","title":"","description":"If posted, the time the transaction posted. Otherwise the time the transaction was initiated/authorized."},"account_mask":{"type":"string","title":"","description":"Last 4 digits of the bank account number"},"account_id":{"type":"string","title":"","description":"The id of the `bank_account` associated with the transaction."},"reference_number":{"type":"string","title":"","description":"The transaction reference number."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The transaction's detail that often appears on your statement and portal. It can contain remittance information or descriptions about the payment."},"posted":{"type":"boolean","title":"","description":"Whether the transaction has been posted"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The gross amount (less any fees) in the currency's smallest unit, e.g. $10 USD would be represented as `1000`. `amount` must be >= 0"},"currency":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"","description":"The ISO-4217 currency code of the transaction."},"type":{"$ref":"#/components/schemas/BankTransactionType","title":"","description":"A `withdrawal` indicates funds flowing out of your account (negative amount). A `deposit` indicates funds flowing into your account (positive amount)."},"agent_extractions":{"$ref":"#/components/schemas/AgentExtractions","title":""},"agent_metrics":{"anyOf":[{"$ref":"#/components/schemas/AgentMetrics"},{"type":"null"}],"title":""},"is_agent_processing":{"type":"boolean","title":""},"payment_status":{"$ref":"#/components/schemas/PaymentApplicationStatus","title":"","description":"Get the payment status of the transaction."},"is_payment":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether this is a payment. True=payment, False=non-payment, None=undetermined"},"non_payment_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Reason for marking this transaction as a non-payment"},"total_allocated":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Total amount allocated to payments"},"amount_handled_outside":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Amount handled outside of Stuut"},"handled_outside_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Reason why this transaction was handled outside of Stuut"},"counterparty_info":{"anyOf":[{"$ref":"#/components/schemas/CounterpartyInfo"},{"type":"null"}],"title":"","description":"Aggregated counterparty info from payments"},"has_remittance":{"type":"boolean","title":"","description":"Whether transaction or any of its payments are associated to a remittance"},"has_on_account":{"type":"boolean","title":"","description":"Whether any payment on this transaction has funds left on account"},"amount_on_account":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Total funds left on account across this transaction's payments, in standard units. Unallocated amounts net of refunds. Like `total_allocated`, this sums payments in the transaction's currency, so it is unreliable when `has_fx_payments` is true."},"has_fx_payments":{"type":"boolean","title":"","description":"Whether any payment on this transaction involves foreign exchange (different currency than bank transaction)"},"has_posting_errors":{"type":"boolean","title":"","description":"Whether any payment on this transaction has a posting error and has not been posted"},"payout":{"anyOf":[{"$ref":"#/components/schemas/PayoutInfo"},{"type":"null"}],"title":"","description":"The payout this transaction represents, if any."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","timestamp","account_mask","account_id","reference_number","description","posted","amount","currency","type","agent_extractions","agent_metrics","is_agent_processing","payment_status","is_payment","non_payment_reason","total_allocated","amount_handled_outside","handled_outside_reason","counterparty_info","has_remittance","has_on_account","amount_on_account","has_fx_payments","has_posting_errors","payout","object"],"title":"BankTransaction","description":"Main Bank Transaction detail schema."},"BankTransactionCreate":{"properties":{"account_id":{"type":"string","title":"","description":"ID of the bank account this transaction belongs to"},"statement_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ID of the bank statement this transaction was uploaded from. When provided, the transaction is created as a draft pending statement approval."},"reference_number":{"type":"string","title":"","description":"Transaction reference number"},"amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"","description":"Transaction amount in standard units, e.g. dollars"},"type":{"$ref":"#/components/schemas/BankTransactionType","title":"","description":"Transaction type: deposit or withdrawal"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Transaction description"},"timestamp":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"Transaction timestamp. Defaults to the current time."}},"type":"object","required":["account_id","reference_number","amount","type"],"title":"BankTransactionCreate","description":"Schema for creating a bank transaction."},"BankTransactionListItem":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"timestamp":{"type":"string","format":"date-time","title":"","description":"If posted, the time the transaction posted. Otherwise the time the transaction was initiated/authorized."},"account_mask":{"type":"string","title":"","description":"Last 4 digits of the bank account number"},"account_id":{"type":"string","title":"","description":"The id of the `bank_account` associated with the transaction."},"reference_number":{"type":"string","title":"","description":"The transaction reference number."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The transaction's detail that often appears on your statement and portal. It can contain remittance information or descriptions about the payment."},"posted":{"type":"boolean","title":"","description":"Whether the transaction has been posted"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The gross amount (less any fees) in the currency's smallest unit, e.g. $10 USD would be represented as `1000`. `amount` must be >= 0"},"currency":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"","description":"The ISO-4217 currency code of the transaction."},"type":{"$ref":"#/components/schemas/BankTransactionType","title":"","description":"A `withdrawal` indicates funds flowing out of your account (negative amount). A `deposit` indicates funds flowing into your account (positive amount)."},"agent_extractions":{"$ref":"#/components/schemas/AgentExtractions","title":""},"agent_metrics":{"anyOf":[{"$ref":"#/components/schemas/AgentMetrics"},{"type":"null"}],"title":""},"is_agent_processing":{"type":"boolean","title":""},"payment_status":{"$ref":"#/components/schemas/PaymentApplicationStatus","title":"","description":"Get the payment status of the transaction."},"is_payment":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether this is a payment. True=payment, False=non-payment, None=undetermined"},"non_payment_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Reason for marking this transaction as a non-payment"},"total_allocated":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Total amount allocated to payments"},"amount_handled_outside":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Amount handled outside of Stuut"},"handled_outside_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Reason why this transaction was handled outside of Stuut"},"counterparty_info":{"anyOf":[{"$ref":"#/components/schemas/CounterpartyInfo"},{"type":"null"}],"title":"","description":"Aggregated counterparty info from payments"},"has_remittance":{"type":"boolean","title":"","description":"Whether transaction or any of its payments are associated to a remittance"},"has_on_account":{"type":"boolean","title":"","description":"Whether any payment on this transaction has funds left on account"},"amount_on_account":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Total funds left on account across this transaction's payments, in standard units. Unallocated amounts net of refunds. Like `total_allocated`, this sums payments in the transaction's currency, so it is unreliable when `has_fx_payments` is true."},"has_fx_payments":{"type":"boolean","title":"","description":"Whether any payment on this transaction involves foreign exchange (different currency than bank transaction)"},"has_posting_errors":{"type":"boolean","title":"","description":"Whether any payment on this transaction has a posting error and has not been posted"},"confidence":{"$ref":"#/components/schemas/PaymentConfidence","title":"","description":"Aggregated confidence signals derived from the transaction's linked payments."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","timestamp","account_mask","account_id","reference_number","description","posted","amount","currency","type","agent_extractions","agent_metrics","is_agent_processing","payment_status","is_payment","non_payment_reason","total_allocated","amount_handled_outside","handled_outside_reason","counterparty_info","has_remittance","has_on_account","amount_on_account","has_fx_payments","has_posting_errors","confidence","object"],"title":"BankTransactionListItem","description":"Extended response schema for bank transaction list items."},"BankTransactionMetricsResponse":{"properties":{"total_count":{"type":"integer","minimum":0.0,"title":"","description":"Total deposit transactions in the queried date range."},"potential_payments":{"$ref":"#/components/schemas/CashAppBucket","title":"","description":"Deposit transactions where is_payment != False and no payments have been created."},"needs_allocation":{"$ref":"#/components/schemas/CashAppBucket","title":"","description":"Deposit transactions with unapproved payments where allocated amount != transaction amount."},"ready_to_post":{"$ref":"#/components/schemas/CashAppBucket","title":"","description":"Deposit transactions with unapproved payments where allocated amount == transaction amount."},"posting_errors_count":{"type":"integer","minimum":0.0,"title":"","description":"Transactions with at least one payment that has a posting error and has not been posted."},"is_multi_currency":{"type":"boolean","title":"","description":"True if transactions span multiple currencies"},"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"Currency of all amounts. Single-currency: original transaction currency. Multi-currency: target currency amounts were converted to."}},"type":"object","required":["total_count","potential_payments","needs_allocation","ready_to_post","posting_errors_count","is_multi_currency","currency"],"title":"BankTransactionMetricsResponse"},"BankTransactionType":{"type":"string","enum":["deposit","withdrawal"],"title":"BankTransactionType"},"BankTransactionUpdate":{"properties":{"is_payment":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether this is a payment. True=payment, False=non-payment, None=undetermined"},"non_payment_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Reason for marking this transaction as a non-payment"},"amount_handled_outside":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":"","description":"Amount (in standard units, e.g. dollars) handled outside of Stuut. Negative when payments over-allocate the transaction; cannot exceed the amount."},"handled_outside_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Reason why this transaction was handled outside of Stuut"},"timestamp":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"Transaction timestamp (draft transactions only)"},"reference_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Transaction reference number (draft transactions only)"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Transaction description (draft transactions only)"},"type":{"anyOf":[{"$ref":"#/components/schemas/BankTransactionType"},{"type":"null"}],"title":"","description":"Transaction type: deposit or withdrawal (draft transactions only)"},"amount":{"anyOf":[{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":"","description":"Transaction amount in standard units, e.g. dollars (draft transactions only)"}},"type":"object","title":"BankTransactionUpdate","description":"Schema for updating a bank transaction."},"BankTransactionWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/BankTransactionWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/BankTransactionWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"amount":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Amount"},"authorizedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Authorizedat"},"checkNumber":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Checknumber"},"counterpartyEmail":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Counterpartyemail"},"counterpartyName":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Counterpartyname"},"customerReference":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Customerreference"},"currency":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Currency_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Currency"},"description":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Description"},"isDraft":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isdraft"},"amountHandledOutside":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Amounthandledoutside"},"handledOutsideReason":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Handledoutsidereason"},"isPayment":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_bool_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Ispayment"},"nonPaymentReason":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Nonpaymentreason"},"paymentMethod":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_PaymentMethodType_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Paymentmethod"},"posted":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Posted"},"referenceNumber":{"$ref":"#/components/schemas/StringComparator","title":"Referencenumber"},"remoteId":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Remoteid"},"timestamp":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Timestamp"},"type":{"$ref":"#/components/schemas/EqualityComparator_BankTransactionType_","title":"Type"},"accountId":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Accountid"},"partnerId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Partnerid"},"payoutId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Payoutid"},"statementId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Statementid"}},"additionalProperties":false,"type":"object","title":"BankTransactionWorkflowFilter"},"BankTransactionWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/BankTransactionWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/BankTransactionWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"amount":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Amount"},"authorizedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Authorizedat"},"checkNumber":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Checknumber"},"counterpartyEmail":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Counterpartyemail"},"counterpartyName":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Counterpartyname"},"customerReference":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Customerreference"},"currency":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Currency_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Currency"},"description":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Description"},"isDraft":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isdraft"},"amountHandledOutside":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Amounthandledoutside"},"handledOutsideReason":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Handledoutsidereason"},"isPayment":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_bool_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Ispayment"},"nonPaymentReason":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Nonpaymentreason"},"paymentMethod":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_PaymentMethodType_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Paymentmethod"},"posted":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Posted"},"referenceNumber":{"$ref":"#/components/schemas/StringComparator","title":"Referencenumber"},"remoteId":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Remoteid"},"timestamp":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Timestamp"},"type":{"$ref":"#/components/schemas/EqualityComparator_BankTransactionType_","title":"Type"},"accountId":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Accountid"},"partnerId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Partnerid"},"payoutId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Payoutid"},"statementId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Statementid"}},"additionalProperties":false,"type":"object","title":"BankTransactionWorkflowFilter"},"BilledInvoice":{"properties":{"id":{"type":"string","title":"","description":"Stripe invoice id (`in_…`)."},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Human-facing invoice number; null while draft."},"status":{"type":"string","enum":["draft","open","paid","uncollectible","void"],"title":"","description":"Collection state: open = finalized and awaiting payment.","x-speakeasy-enum-format":"union"},"created":{"type":"string","format":"date-time","title":"","description":"When the invoice was created."},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"Payment due date; null for charge-automatically invoices."},"paid_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When payment landed; null until paid."},"currency":{"type":"string","title":"","description":"Upper-case ISO currency code."},"subtotal":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Pre-tax subtotal."},"tax":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Total tax; null when not yet computed."},"total":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Total including tax."},"amount_due":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"What remains to collect."},"amount_paid":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"What has been collected."},"hosted_invoice_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Stripe-hosted page to view (and pay) the invoice."},"pdf_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Downloadable invoice PDF."},"lines":{"items":{"$ref":"#/components/schemas/BilledInvoiceLine"},"type":"array","title":"","description":"Invoice lines as billed."}},"type":"object","required":["id","number","status","created","due_date","paid_at","currency","subtotal","tax","total","amount_due","amount_paid","hosted_invoice_url","pdf_url","lines"],"title":"billing.BilledInvoice","description":"A finalized or draft Stripe invoice."},"BilledInvoiceLine":{"properties":{"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The line label as invoiced."},"quantity":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Quantity, when the line carries one."},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Line amount in the invoice currency; negative = credit."}},"type":"object","required":["description","quantity","amount"],"title":"billing.BilledInvoiceLine","description":"One line on the provider invoice, as billed."},"BilledProduct":{"properties":{"key":{"anyOf":[{"$ref":"#/components/schemas/BillingProductKey"},{"type":"null"}],"title":"","description":"Stable Stuut product key; null for uncataloged contract products."},"name":{"type":"string","title":"","description":"Customer-facing name (as shown on invoices)."},"kind":{"type":"string","enum":["USAGE","SCHEDULED"],"title":"","description":"USAGE = metered, priced per unit (`rates`); SCHEDULED = fixed amounts on dates (`schedule`).","x-speakeasy-enum-format":"union"},"entitled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether the contract grants commercial access; only meaningful for USAGE."},"rates":{"anyOf":[{"items":{"$ref":"#/components/schemas/ProductRate"},"type":"array"},{"type":"null"}],"title":"","description":"Effective rate per pricing slice (USAGE only)."},"schedule":{"anyOf":[{"$ref":"#/components/schemas/ChargeSchedule"},{"type":"null"}],"title":"","description":"Invoice occurrences (SCHEDULED only)."}},"type":"object","required":["key","name","kind","entitled","rates","schedule"],"title":"billing.BilledProduct","description":"One usage or scheduled-charge product on the contract."},"BillingAccount":{"properties":{"tier":{"$ref":"#/components/schemas/BillingTier","title":"","description":"Commercial relationship; the frontend derives plan labels."},"metronome_customer_id":{"type":"string","title":"","description":"Metronome customer id — always present; the endpoint provisions before responding."},"stripe_customer_id":{"type":"string","title":"","description":"Stripe customer id — always present; the endpoint provisions before responding."},"details":{"$ref":"#/components/schemas/BillingDetails","title":"","description":"Stripe billing identity (name, email, address, tax id, default card)."},"delinquent":{"type":"boolean","title":"","description":"True when an open invoice is past its due date (+1 day grace) — usage is gated on every tier until it's paid."},"delinquent_after":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"Earliest instant an open invoice turns delinquent (due date + 1 day; an invoice with no due date is due at finalization). In the future = owed but not yet late; null = nothing unpaid."},"contract":{"anyOf":[{"$ref":"#/components/schemas/Contract"},{"type":"null"}],"title":"","description":"The plan: term, products/charges, granted funding. Null when the account has no active contract (e.g. an enterprise customer staged before their deal lands)."},"auto_reload":{"$ref":"#/components/schemas/AutoReload","title":"","description":"Auto top-up settings."},"budget":{"$ref":"#/components/schemas/Budget","title":"","description":"Spend budget settings."}},"type":"object","required":["tier","metronome_customer_id","stripe_customer_id","details","delinquent","delinquent_after","contract","auto_reload","budget"],"title":"billing.BillingAccount","description":"Billing configuration, contract, and account standing."},"BillingDetails":{"properties":{"business_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Legal business name (the Stripe customer name, shown on invoices)."},"billing_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Email Stripe sends invoices to."},"address":{"anyOf":[{"$ref":"#/components/schemas/stuut__api_service__v2__routers__billing__schemas__billing__Address"},{"type":"null"}],"title":"","description":"Billing address; null until set."},"tax_id":{"anyOf":[{"$ref":"#/components/schemas/TaxId"},{"type":"null"}],"title":"","description":"VAT / tax registration; null until set."},"payment_method":{"anyOf":[{"$ref":"#/components/schemas/PaymentMethod"},{"type":"null"}],"title":"","description":"Default payment method invoices charge; null when none is set."}},"type":"object","required":["business_name","billing_email","address","tax_id","payment_method"],"title":"billing.BillingDetails","description":"The customer's Stripe billing identity."},"BillingPlatformConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"billingplatform","title":""},"api_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true},"auth_method":{"type":"string","enum":["oauth","password"],"title":"","readOnly":true,"x-speakeasy-enum-format":"union"}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","api_url","username","client_id","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id","auth_method"],"title":"BillingPlatformConnection","description":"BillingPlatform integration connection."},"BillingPlatformConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"billingplatform","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"api_url":{"type":"string","title":""},"auth_method":{"type":"string","enum":["password","oauth"],"title":"","default":"password","x-speakeasy-enum-format":"union"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"password":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":""},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"client_secret":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":""}},"type":"object","required":["provider_name","api_url"],"title":"BillingPlatformConnectionCreateBody","description":"Create schema for BillingPlatform connections."},"BillingPlatformConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"billingplatform","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"api_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"auth_method":{"anyOf":[{"type":"string","enum":["password","oauth"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":""},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"password":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":""},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"client_secret":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":""}},"type":"object","required":["provider_name"],"title":"BillingPlatformConnectionUpdate","description":"Update schema for BillingPlatform connections."},"BillingProductKey":{"type":"string","enum":["active_accounts","collections","cash_application","deductions","disputes","voice","sms"],"title":"BillingProductKey","description":"Stable slug for a product offered by Stuut."},"BillingSummary":{"properties":{"tier":{"$ref":"#/components/schemas/BillingTier","title":"","description":"Commercial relationship — interprets `net_balance` (only PAYG overdraws)."},"pools":{"items":{"$ref":"#/components/schemas/CommitPool"},"type":"array","title":"","description":"Every ACTIVE funding instrument (open access window), balances included."},"upcoming_invoice":{"anyOf":[{"$ref":"#/components/schemas/UpcomingInvoice"},{"type":"null"}],"title":"","description":"The current-period DRAFT invoice — all charges accrued so far, with the period window; null until the first period accrues."},"spend":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"GROSS spend this period — every metered (USAGE) line summed, BEFORE any credit/commit coverage; consumption regardless of who pays. Scheduled fees excluded.","readOnly":true},"uncovered_total":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Usage net of applied credits (USAGE + CREDIT lines summed; scheduled fees excluded) — ~$0 while funds cover everything, the uncovered remainder once they run out.","readOnly":true},"balances":{"$ref":"#/components/schemas/Balances","title":"","description":"Aggregate active / consumed / balance across the ACTIVE pools of each type (prepaid, postpaid, credit) — the funding rollup. `active` is the granted total (a commit's minimum-spend target for postpaid).","readOnly":true},"net_balance":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The spendable position. `balances.prepaid.balance` while there's one; once that's exhausted (PAYG only), the overdraw as a NEGATIVE amount — Metronome clamps instrument balances at 0, so uncovered usage exists only on the draft (`uncovered_total`, negated here so overdrawn reads below zero).","readOnly":true}},"type":"object","required":["tier","pools","upcoming_invoice","spend","uncovered_total","balances","net_balance"],"title":"billing.BillingSummary","description":"Current balances, spend, and draft invoice."},"BillingTier":{"type":"string","enum":["payg","postpaid","enterprise","legacy"],"title":"BillingTier","description":"Stuut-owned commercial policy; only PAYG is balance-gated."},"Body_PostInvoicePdfTemplatesBuildFromPdf":{"properties":{"file":{"type":"string","title":"File","format":"binary"}},"type":"object","required":["file"],"title":"Body_PostInvoicePdfTemplatesBuildFromPdf"},"BoomiActivityProcessingAck":{"properties":{"request_id":{"type":"string","title":""},"received_at":{"type":"string","format":"date-time","title":""},"activity_status":{"type":"string","enum":["synced","failed","orphaned"],"title":"","description":"'synced' / 'failed' mirror the delivery row's new terminal state. 'orphaned' means Stuut accepted the callback but had no matching row — useful for Boomi-side retries after a Stuut DB rollback.","x-speakeasy-enum-format":"union"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["request_id","received_at","activity_status","message"],"title":"BoomiActivityProcessingAck","description":"Sync response Stuut returns when it accepts a processing-response."},"BoomiActivityProcessingResponse":{"properties":{"request_id":{"type":"string","title":"","description":"Echoes the request_id Stuut sent on the activity-sync push"},"status":{"type":"string","enum":["success","failed"],"title":"","description":"Terminal outcome — Stuut treats anything other than 'success' as a final failure.","x-speakeasy-enum-format":"union"},"processed_at":{"type":"string","format":"date-time","title":"","description":"When SAP confirmed / rejected the writeback"},"sap_document_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BKPF-BELNR Boomi updated, echoed for audit. Required on success; may be omitted on failure."},"sap_fiscal_year":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BKPF-GJAHR echoed for audit"},"sap_line_item":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BSEG-BUZEI of the customer line that was overwritten (success only)"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Stable identifier on failure — INVOICE_NOT_FOUND, INVOICE_NOT_OPEN, CUSTOMER_MISMATCH, SAP_LOCKED, SAP_ERROR, INTERNAL_ERROR."},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Human-readable error detail"}},"type":"object","required":["request_id","status","processed_at"],"title":"BoomiActivityProcessingResponse","description":"Async ack from Boomi confirming whether SAP applied a writeback.\n\nBoomi POSTs this once it has heard back from SAP for a previous\noutbound activity-sync push. The `request_id` echoes the row id Stuut\nsent on the wire; Stuut uses it to flip the matching\n``BoomiActivityDelivery`` row from SENT to DELIVERED or FAILED."},"BoomiConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"boomi","title":""},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"outbound_webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Boomi-supplied endpoint for outbound writebacks. Masked in Neon branches (NULL) so a dev environment can never resolve a writeback-capable connection and POST to a live customer endpoint."},"outbound_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Username Stuut presents in the outbound HTTP Basic auth header. Not encrypted at rest (Basic auth 'username' is not a secret on its own); masked in Neon branches for consistency with the paired token."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","api_key","outbound_webhook_url","outbound_username","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"BoomiConnection","description":"Boomi integration connection.\n\nUnlike other providers, `api_key` is generated server-side on create and\nmust be readable on subsequent fetches — Boomi cannot push data without\nit, and the only way to share it with the Boomi team is to read it back\nfrom this response. Visibility is restricted to authenticated users with\naccess to the connection's tenant.\n\n`outbound_webhook_url` and `outbound_username` are readable so the\ndashboard can show what's configured; `outbound_token` is\nintentionally write-only — masked on read and may only be supplied\nvia the create / update bodies."},"BoomiConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"boomi","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"outbound_webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Boomi-supplied endpoint for outbound writebacks. Masked in Neon branches (NULL) so a dev environment can never resolve a writeback-capable connection and POST to a live customer endpoint."},"outbound_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Username Stuut presents in the outbound HTTP Basic auth header. Not encrypted at rest (Basic auth 'username' is not a secret on its own); masked in Neon branches for consistency with the paired token."},"outbound_token":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"Token Stuut presents as the password half of the outbound HTTP Basic auth. Encrypted at rest via AWS KMS; write-only via the API."}},"type":"object","required":["provider_name"],"title":"BoomiConnectionCreateBody","description":"Create schema for Boomi connections."},"BoomiConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"boomi","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"outbound_webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Boomi-supplied endpoint for outbound writebacks. Masked in Neon branches (NULL) so a dev environment can never resolve a writeback-capable connection and POST to a live customer endpoint."},"outbound_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Username Stuut presents in the outbound HTTP Basic auth header. Not encrypted at rest (Basic auth 'username' is not a secret on its own); masked in Neon branches for consistency with the paired token."},"outbound_token":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"Token Stuut presents as the password half of the outbound HTTP Basic auth. Encrypted at rest via AWS KMS; write-only via the API."}},"type":"object","required":["provider_name"],"title":"BoomiConnectionUpdate","description":"Update schema for Boomi connections.\n\nFields use ``validate_default=False`` so partial updates work — only\nthe keys present in the request body are written. Omitting a field\nleaves it untouched; sending it as ``null`` clears the column."},"BoomiContactPayload":{"properties":{"remote_id":{"type":"string","title":"","description":"SAP contact identifier (Contact.remote_id)"},"customer_code":{"type":"string","title":"","description":"KNA1-KUNNR of the parent customer"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ADR6-SMTP_ADDR. Optional — a missing/null/blank email is stored as an empty string rather than rejecting the record.","default":""},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"job_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"company_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BKPF-BUKRS of the parent customer. Optional — tenant routing is via the inbound Bearer key."}},"type":"object","required":["remote_id","customer_code"],"title":"BoomiContactPayload","description":"Customer contact data (subset of KNA1/ADR6/ADR2 fields)."},"BoomiCustomerPayload":{"properties":{"customer_code":{"type":"string","title":"","description":"KNA1-KUNNR; maps to Partner.remote_id"},"name1":{"type":"string","title":"","description":"KNA1-NAME1; maps to Partner.name"},"name2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"KNA1-NAME2; maps to Partner.legal_name"},"name3":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"KNA1-NAME3; maps to Partner.name_3"},"street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ADRC-STREET"},"house_num1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ADRC-HOUSE_NUM1"},"house_num2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ADRC-HOUSE_NUM2; maps to Address.line2"},"post_code1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ADRC-POST_CODE1; maps to Address.postal_code"},"city1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ADRC-CITY1; maps to Address.city"},"city2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ADRC-CITY2; maps to Partner.district"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ADRC-REGION; maps to Address.state"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ADRC-COUNTRY; ISO 3166 alpha-2"},"accounting_clerk":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ADRC-ACCOUNTING_CLE1"},"accounting_clerk_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"smtp_addr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ADR6-SMTP_ADDR"},"tel_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ADR2-TEL_NUMBER"},"telnr_long":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ADR2-TELNR_LONG. Long-format / E.164 phone. If both `tel_number` and `telnr_long` are sent, `telnr_long` wins (Partner has a single phone field)."},"tax_jurisdiction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"KNA1-TXJCD"},"payment_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ADRC-PAYMENT_MET1"},"search_term":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ADRC-SEARCH_TER1"},"vendor_account_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"KNA1-LIFNR"},"company_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BKPF-BUKRS — the company code this customer relationship is billed under. Stuut keys a partner on (customer_code, company_code), so a customer trading with several PE entities must be pushed once per company code. A record without it is rejected with COMPANY_CODE_REQUIRED rather than being merged onto a partner the invoice feed would never match."}},"type":"object","required":["customer_code","name1"],"title":"BoomiCustomerPayload","description":"Customer master record per SAP KNA1 + ADRC.\n\nField names follow the SAP technical fields the Boomi team is sending,\nmatching the V.4 mapping sheet shared with Perkin-Elmer."},"BoomiInboundResponse":{"properties":{"received_at":{"type":"string","format":"date-time","title":""},"results":{"items":{"$ref":"#/components/schemas/BoomiInboundResult"},"type":"array","title":""}},"type":"object","required":["received_at","results"],"title":"BoomiInboundResponse"},"BoomiInboundResult":{"properties":{"remote_id":{"type":"string","title":""},"success":{"type":"boolean","title":""},"stuut_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["remote_id","success","stuut_id","error_code","message"],"title":"BoomiInboundResult"},"BoomiInvoiceLineItem":{"properties":{"line_number":{"type":"integer","title":"","description":"VBRP-POSNR"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"quantity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""},"unit_amount":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":"","description":"Unit amount in the invoice's currency (decimal, not cents)"},"total_amount":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":"","description":"Line total in the invoice's currency (decimal, not cents)"}},"type":"object","required":["line_number"],"title":"BoomiInvoiceLineItem","description":"Invoice line item per VBRP / BSEG."},"BoomiInvoicePayload":{"properties":{"document_number":{"type":"string","title":"","description":"BKPF-BELNR (payment doc for DZ, invoice doc for RX) or VBRK-VBELN. Maps to Invoice.remote_id / CreditMemo.remote_id / Payment.remote_id depending on the row's routing."},"document_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BKPF-BLART. Routes the row: 'DZ' = customer payment posting; 'DG' = credit memo; 'DR' / 'RX' = invoice."},"invoice_doc_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"VBRK-FKART"},"fiscal_year":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BKPF-GJAHR"},"company_code":{"type":"string","title":"","description":"BKPF-BUKRS. Tenant routing is done via the inbound Bearer key, not by this field — but Stuut stores it as a custom field for audit and downstream filtering."},"customer_code":{"type":"string","title":"","description":"BSEG-KUNNR / VBRK-KUNRG (payer)"},"document_date":{"type":"string","format":"date","title":"","description":"VBRK-FKDAT or BKPF-BLDAT; maps to Invoice.issued_at"},"posting_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"BKPF-BUDAT"},"net_due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"Derived from BSEG-ZTERM + ZFBDT. Required for invoices (SHKZG=S); omitted on payment postings (document_type=DZ etc.) which have no due date."},"currency":{"type":"string","title":"","description":"BKPF-WAERS; ISO 4217"},"amount_in_document_currency":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"","description":"BSEG-WRBTR in the invoice's currency, expressed as a decimal in the standard/major unit (e.g. '120.44' for USD $120.44, '1250' for JPY ¥1,250). Accepts JSON string or number; string form is safest for precision. Stuut converts to the DB's smallest-unit storage using the currency's precision (USD → x100, JPY → x1, BHD → x1000)."},"amount_in_local_currency":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":"","description":"BSEG-DMBTR in the local (company code) currency, same decimal format"},"exchange_rate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BKPF-KURSF"},"reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BKPF-XBLNR; maps to purchase_order_number"},"assignment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BSEG-ZUONR"},"debit_credit_indicator":{"type":"string","enum":["S","H"],"title":"","description":"BSEG-SHKZG; S=debit/invoice, H=credit memo","x-speakeasy-enum-format":"union"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BSEG-SGTXT; max 50 chars; maps to Invoice.memo"},"reason_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BSEG-RSTGR; 3-char code"},"clearing_document_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BSEG-AUGBL"},"clearing_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"BSEG-AUGCP; sets Invoice.paid_at"},"status_open":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Optional. True if the document came from BSID (open); False if from BSAD (cleared). When omitted, Stuut derives status from `clearing_date` — a row with a clearing date is treated as cleared (PAID), otherwise OPEN."},"billing_document":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Original SD billing document number (VBRK-VBELN). Identifies the invoice on the SD side when the FI accounting doc differs."},"invoice_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BSEG-REBZG — accounting document number of the original invoice this clearing/payment line points at. Populated on payment & credit-memo lines that reference an invoice."},"payment_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Payment-side correlation token (e.g. BSEG-KIDNO, XREF1/2/3). Used to pair lockbox / EFT / ISO 20022 payments with the invoice they clear when assignment/reference are not specific enough."},"line_items":{"items":{"$ref":"#/components/schemas/BoomiInvoiceLineItem"},"type":"array","title":""}},"type":"object","required":["document_number","company_code","customer_code","document_date","currency","amount_in_document_currency","debit_credit_indicator"],"title":"BoomiInvoicePayload","description":"Invoice / Credit Memo / Payment header + lines per the V.4 mapping sheet.\n\nStuut routes each row based on ``document_type`` + ``debit_credit_indicator``\n+ the clearing markers (see ``stuut.core...boomi.upsert.route_document``):\n\n* ``document_type`` in {\"DZ\", ...}, a clearing document's view of an item\n  it cleared or consumed (``document_number`` == ``clearing_document_number``\n  with ``billing_document`` / ``invoice_reference`` naming another\n  document), or an open credit item on a clearing document (AB/H) naming\n  an invoice in ``invoice_reference`` → the payment ledger: a Payment with\n  PaymentAllocations against the invoices cleared and the credit memos spent.\n* SHKZG=\"H\" otherwise → CreditMemo.\n* SHKZG=\"S\" otherwise → Invoice."},"BoomiInvoicePdfPayload":{"properties":{"pdf_url":{"type":"string","title":"","description":"URL Stuut should GET to download the invoice PDF"},"filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional file name; defaults to <remote_id>.pdf"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional MIME type; defaults to application/pdf"}},"type":"object","required":["pdf_url"],"title":"BoomiInvoicePdfPayload","description":"PDF attachment for an invoice — Boomi sends a downloadable URL."},"Budget":{"properties":{"enabled":{"type":"boolean","title":"","description":"Whether the budget is on."},"cap":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Spend cap in dollars (a payment trigger, not a hard block)."}},"type":"object","required":["enabled","cap"],"title":"billing.Budget","description":"Spend budget configuration."},"BulkActionError":{"properties":{"item_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Item Id","description":"ID of the item that failed; null for an operation-level failure."},"message":{"type":"string","title":"Message"}},"type":"object","required":["message"],"title":"BulkActionError"},"BulkActionRequest":{"properties":{"action_type":{"type":"string","const":"task_assign","title":""},"task_ids":{"items":{"type":"string","maxLength":100,"minLength":1},"type":"array","maxItems":10000,"minItems":1,"uniqueItems":true,"title":""},"assignee_id":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","required":["action_type","task_ids","assignee_id"],"title":"BulkActionRequest","description":"The first supported bulk action assigns or unassigns selected tasks."},"BulkActionResponse":{"properties":{"id":{"type":"string","pattern":"^([a-z][a-z0-9_]*_)?[0-9a-z]{26}$","format":"typeid","title":"","description":"TypeID identifier","examples":["01h2xcejqtf2nbrexx3vqjhp41","usr_01h2xcejqtf2nbrexx3vqjhp41"]},"status":{"$ref":"#/components/schemas/BulkActionStatus","title":""},"total_count":{"type":"integer","title":""},"processed_count":{"type":"integer","title":""},"succeeded_count":{"type":"integer","title":""},"failed_count":{"type":"integer","title":""},"errors":{"items":{"$ref":"#/components/schemas/BulkActionError"},"type":"array","title":""}},"type":"object","required":["id","status","total_count","processed_count","succeeded_count","failed_count","errors"],"title":"BulkActionResponse"},"BulkActionStatus":{"type":"string","enum":["pending","running","completed","failed"],"title":"BulkActionStatus"},"BulkApprovePaymentsRequest":{"properties":{"transaction_ids":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"","description":"List of bank transaction IDs to approve payments for"}},"type":"object","required":["transaction_ids"],"title":"BulkApprovePaymentsRequest","description":"Request schema for bulk approving payments by transaction ID."},"BulkApprovePaymentsResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/TransactionApproveResult"},"type":"array","title":""}},"type":"object","required":["results"],"title":"BulkApprovePaymentsResponse","description":"Response schema for bulk payment approval."},"BulkMarkHandledOutsideRequest":{"properties":{"transaction_ids":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"","description":"List of bank transaction IDs to mark as handled outside"},"handled_outside_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional reason for handling these transactions outside of Stuut"}},"type":"object","required":["transaction_ids"],"title":"BulkMarkHandledOutsideRequest","description":"Request schema for bulk marking bank transactions as handled outside of Stuut."},"BulkMarkHandledOutsideResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/BulkMarkHandledOutsideResult"},"type":"array","title":""}},"type":"object","required":["results"],"title":"BulkMarkHandledOutsideResponse","description":"Response schema for bulk mark handled outside."},"BulkMarkHandledOutsideResult":{"properties":{"transaction_id":{"type":"string","title":""},"success":{"type":"boolean","title":""},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["transaction_id","success","error"],"title":"BulkMarkHandledOutsideResult","description":"Result for a single transaction in the bulk mark handled outside operation."},"BulkMarkNonPaymentRequest":{"properties":{"transaction_ids":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"","description":"List of bank transaction IDs to mark as non-payments"},"non_payment_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional reason for marking these transactions as non-payments"}},"type":"object","required":["transaction_ids"],"title":"BulkMarkNonPaymentRequest","description":"Request schema for bulk marking bank transactions as non-payments."},"BulkMarkNonPaymentResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/BulkMarkNonPaymentResult"},"type":"array","title":""}},"type":"object","required":["results"],"title":"BulkMarkNonPaymentResponse","description":"Response schema for bulk mark non-payment."},"BulkMarkNonPaymentResult":{"properties":{"transaction_id":{"type":"string","title":""},"success":{"type":"boolean","title":""},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["transaction_id","success","error"],"title":"BulkMarkNonPaymentResult","description":"Result for a single transaction in the bulk mark non-payment operation."},"BulkPdfDownloadRequest":{"properties":{"invoice_ids":{"items":{"type":"string"},"type":"array","maxItems":250,"minItems":1,"title":""}},"type":"object","required":["invoice_ids"],"title":"BulkPdfDownloadRequest","description":"Request body for bulk invoice PDF async export (max 250 invoices)."},"BulkReassignRequest":{"properties":{"partner_ids":{"items":{"type":"string"},"type":"array","minItems":1,"title":""},"assignee_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"New assignee ID, or null to unassign"},"all_open":{"type":"boolean","title":"","description":"Reassign all open tasks"},"all_assigned":{"type":"boolean","title":"","description":"Reassign tasks that are currently assigned"},"all_previous_assignee":{"type":"boolean","title":"","description":"Reassign tasks assigned to the partner's previous assignee"},"all_unassigned":{"type":"boolean","title":"","description":"Reassign tasks that are currently unassigned"}},"type":"object","required":["partner_ids","assignee_id","all_open","all_assigned","all_previous_assignee","all_unassigned"],"title":"BulkReassignRequest","description":"Request schema for bulk reassigning partners to a different assignee."},"BulkReassignResponse":{"properties":{"reassigned_count":{"type":"integer","minimum":0.0,"title":""}},"type":"object","required":["reassigned_count"],"title":"BulkReassignResponse","description":"Response schema for bulk reassignment."},"BulkUpdateDunningStateRequest":{"properties":{"partner_ids":{"items":{"type":"string"},"type":"array","minItems":1,"title":""},"dunningStateId":{"type":"string","title":""},"pauseUntil":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""}},"type":"object","required":["partner_ids","dunningStateId"],"title":"BulkUpdateDunningStateRequest","description":"Request schema for bulk updating partner dunning states."},"BulkUpdateDunningStateResponse":{"properties":{"updated_count":{"type":"integer","minimum":0.0,"title":""}},"type":"object","required":["updated_count"],"title":"BulkUpdateDunningStateResponse","description":"Response schema for bulk dunning state update."},"BulkUpdatePromisedToPayDateRequest":{"properties":{"invoice_ids":{"items":{"type":"string"},"type":"array","minItems":1,"title":""},"promised_to_pay_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"New promised-to-pay date, or null to clear"}},"type":"object","required":["invoice_ids","promised_to_pay_date"],"title":"BulkUpdatePromisedToPayDateRequest","description":"Request schema for bulk updating invoice promised-to-pay dates."},"BulkUpdatePromisedToPayDateResponse":{"properties":{"updated_count":{"type":"integer","minimum":0.0,"title":""}},"type":"object","required":["updated_count"],"title":"BulkUpdatePromisedToPayDateResponse","description":"Response schema for bulk promised-to-pay date update."},"BusinessAddressType":{"type":"string","enum":["street","high_rise","po_box","rural_route","general_delivery","cmra","virtual_office"],"title":"BusinessAddressType","description":"USPS address classification and risk indicators."},"BusinessCentralCompany":{"properties":{"id":{"type":"string","title":""},"name":{"type":"string","title":""},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","name","display_name"],"title":"BusinessCentralCompany"},"BusinessIdentity":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Verified legal entity name, read from Twilio; null when Twilio is unreachable."},"cnam_display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Name shown on calls from this identity's numbers (CNAM), read from Twilio."},"verification_status":{"anyOf":[{"$ref":"#/components/schemas/BusinessIdentityVerificationStatus"},{"type":"null"}],"title":"","description":"Twilio's verdict on the Secondary Profile; null until Twilio has ruled."},"rejection_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Why Twilio rejected the profile, when it did."},"has_cnam":{"type":"boolean","title":"","description":"A CNAM registration exists for this identity."},"has_shaken":{"type":"boolean","title":"","description":"SHAKEN/STIR attestation exists (US numbers only)."},"has_voice_integrity":{"type":"boolean","title":"","description":"Voice Integrity spam-label monitoring exists."},"is_org_level":{"type":"boolean","title":"","description":"This is the organization's own identity rather than a business unit's."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","display_name","cnam_display_name","verification_status","rejection_reason","has_cnam","has_shaken","has_voice_integrity","is_org_level","object"],"title":"BusinessIdentity","description":"A legal entity verified with Twilio; numbers join to it on `business_identity_id`."},"BusinessIdentityVerificationStatus":{"type":"string","enum":["draft","pending_review","in_review","twilio_approved","twilio_rejected"],"title":"BusinessIdentityVerificationStatus","description":"Verification state of a business identity's Twilio Secondary Profile.\n\nMember names mirror Twilio's vocabulary, so the only difference from its wire strings is the\nseparator — Twilio hyphenates (``twilio-approved``) where a Python name can't. ``from_twilio``\nconverts on that one character, which keeps the hyphenated spelling out of the enum, the column\n(which stores the NAME) and our API without a lookup table to keep in sync."},"BusinessProfileRequest":{"properties":{"annual_revenue":{"anyOf":[{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":"","description":"Annual recurring revenue, in dollars."},"erp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The org's ERP system."},"crm":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The org's CRM system."},"products":{"anyOf":[{"items":{"$ref":"#/components/schemas/BillingProductKey"},"type":"array"},{"type":"null"}],"title":"","description":"Self-serve products the customer selected during signup."}},"type":"object","title":"BusinessProfileRequest","description":"The pre-access business profile the signup flow gathers — persisted on\nthe organization (ERP/CRM columns, ARR in `meta`) and pushed to the CRM.\nPartial submits are fine: only provided fields are written."},"BusinessStructure":{"type":"string","enum":["llc","corporation","sole_proprietorship","partnership","limited_partnership","llp","nonprofit","professional_corporation","trust","cooperative","other"],"title":"BusinessStructure","description":"Legal structure of the business."},"BusinessUnit":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"name":{"type":"string","title":"","description":"The name of the business unit."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional description of the business unit."},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Customer-facing BU name for outbound content; NULL uses the organization name."},"default_phone_number_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The BU's fallback number, used when none of its numbers match the destination country."},"business_identity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The BU's own legal entity / Twilio Secondary Profile; NULL if it shares the org's identity."},"verification_status":{"anyOf":[{"$ref":"#/components/schemas/BusinessIdentityVerificationStatus"},{"type":"null"}],"title":""},"member_ids":{"items":{"type":"string"},"type":"array","title":"","default":[]},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","description","display_name","default_phone_number_id","business_identity_id","verification_status","member_ids","object"],"title":"BusinessUnit"},"BusinessUnitConditionInput":{"properties":{"name":{"anyOf":[{"$ref":"#/components/schemas/BusinessUnitNameOperators"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","title":"BusinessUnitConditionInput"},"BusinessUnitNameOperators":{"properties":{"in":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Include business units"},"nin":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Exclude business units"}},"additionalProperties":false,"type":"object","title":"BusinessUnitNameOperators"},"BusinessUnitSecondaryProfileResponse":{"properties":{"business_unit_id":{"type":"string","title":"","description":"The business unit the profile is being provisioned for"}},"type":"object","required":["business_unit_id"],"title":"BusinessUnitSecondaryProfileResponse","description":"Acknowledges that Trust Hub provisioning was enqueued; the work runs asynchronously."},"BuyCreditsRequest":{"properties":{"amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"","description":"Credits to purchase, in dollars."}},"type":"object","required":["amount"],"title":"billing.BuyCreditsRequest","description":"A prepaid credit purchase."},"CalendarDayData":{"properties":{"date":{"type":"string","format":"date","title":""},"open_count":{"type":"integer","minimum":0.0,"title":""},"due_count":{"type":"integer","minimum":0.0,"title":""},"payment_promises_count":{"type":"integer","minimum":0.0,"title":"","default":0},"invoices_due_amount":{"type":"integer","minimum":0.0,"title":"","description":"Amount in cents","default":0},"invoices_due_customers":{"type":"integer","minimum":0.0,"title":"","default":0}},"type":"object","required":["date","open_count","due_count","payment_promises_count","invoices_due_amount","invoices_due_customers"],"title":"CalendarDayData"},"CallAgentResponse":{"properties":{"id":{"type":"string","title":""},"end_call_on_recording_refusal":{"type":"boolean","title":""},"recording_disclaimer_required":{"type":"boolean","title":""},"outbound_begin_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"outbound_voicemail_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"voice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"voice":{"anyOf":[{"$ref":"#/components/schemas/VoiceSchema"},{"type":"null"}],"title":""},"voice_speed":{"$ref":"#/components/schemas/Speed","title":""},"voice_temperature":{"type":"number","title":""},"stt_mode":{"$ref":"#/components/schemas/SttMode","title":""},"llm_model":{"anyOf":[{"$ref":"#/components/schemas/LlmModel"},{"type":"null"}],"title":""},"tts_model":{"anyOf":[{"$ref":"#/components/schemas/TtsModel"},{"type":"null"}],"title":""},"language_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"custom_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","end_call_on_recording_refusal","recording_disclaimer_required","outbound_begin_message","outbound_voicemail_message","voice_id","voice","voice_speed","voice_temperature","stt_mode","llm_model","tts_model","language_code","custom_prompt"],"title":"CallAgentResponse","description":"Call agent with current voice details."},"CallAgentScenarioSchema":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"response":{"type":"string","title":"","description":"What the agent should say in response to the scenario."},"scenario":{"type":"string","title":"","description":"An example scenario of what the end user would say."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","response","scenario","object"],"title":"CallAgentScenario"},"CallClassificationSummary":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"classification":{"$ref":"#/components/schemas/InteractionType","title":"","description":"The type of this interaction"},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","classification","object"],"title":"CallClassificationSummary","description":"Classification summary for call list rows."},"CallDetailSchema":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"approver":{"anyOf":[{"$ref":"#/components/schemas/User"},{"type":"null"}],"title":""},"status":{"$ref":"#/components/schemas/CallStatus","title":""},"direction":{"$ref":"#/components/schemas/CallDirection","title":""},"disconnection_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"failure_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Human-readable reason for the recorded call failure. Transfer-only failures are excluded."},"from_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The calling number."},"in_voicemail":{"type":"boolean","title":"","description":"Whether the call is entered voicemail."},"answered_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Final detected recipient on LiveKit outbound calls; IVR followed by a person is human. Null means no classification was recorded, not that a human or AI answered."},"sentiment":{"anyOf":[{"$ref":"#/components/schemas/CallSentiment"},{"type":"null"}],"title":"","description":"Sentiment of the user in the call."},"call_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"start_time":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"end_time":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"partner":{"anyOf":[{"$ref":"#/components/schemas/PartnerSummary"},{"type":"null"}],"title":""},"processing_status":{"anyOf":[{"$ref":"#/components/schemas/ProcessingStatus"},{"type":"null"}],"title":""},"provider":{"type":"string","title":""},"to_number":{"type":"string","title":"","description":"The number to call"},"workflow":{"anyOf":[{"$ref":"#/components/schemas/OutreachWorkflowSummary"},{"$ref":"#/components/schemas/WorkflowSummary"},{"type":"null"}],"title":""},"workflow_run":{"anyOf":[{"$ref":"#/components/schemas/OutreachWorkflowRunSummary"},{"type":"null"}],"title":""},"classifications":{"items":{"$ref":"#/components/schemas/CallClassificationSummary"},"type":"array","title":""},"partner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"custom_classifications":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Custom classifications for the call."},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The summary of the call."},"transcript":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":""},"transcript_str":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The transcript of the call."},"transferred_to":{"anyOf":[{"type":"string","format":"phone","description":"A phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format"},{"type":"null"}],"title":"","description":"The number the call was transferred to, if any. This is typically used for inbound calls where the call was transferred to a different number."},"recording_consent_granted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether the user granted consent to recording. None means the call did not go through or progress enough for the user to give an explicit answer."},"recording_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoices":{"items":{"$ref":"#/components/schemas/CallInvoiceSummary"},"type":"array","title":""},"tasks":{"items":{"$ref":"#/components/schemas/CallTaskSummary"},"type":"array","title":"","description":"Tasks explicitly linked to this call"},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","approver","status","direction","disconnection_reason","from_number","in_voicemail","sentiment","call_reason","start_time","end_time","partner","processing_status","provider","to_number","workflow","workflow_run","classifications","partner_id","custom_classifications","summary","transcript","transcript_str","transferred_to","recording_consent_granted","recording_url","invoices","tasks","object"],"title":"CallDetail","description":"Public call details for either voice provider."},"CallDirection":{"type":"string","enum":["inbound","outbound"],"title":"CallDirection"},"CallFilters":{"properties":{"status":{"anyOf":[{"items":{"$ref":"#/components/schemas/CallStatus"},"type":"array"},{"type":"null"}],"title":"","description":"Filter by one or more call statuses, regardless of provider."},"business_unit_id__in":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Filter by business unit IDs."},"sentiment":{"anyOf":[{"items":{"$ref":"#/components/schemas/CallSentiment"},"type":"array"},{"type":"null"}],"title":"","description":"Filter by one or more sentiment values."},"answered_by":{"anyOf":[{"items":{"type":"string","enum":["human","machine-ivr","machine-vm","machine-unavailable","uncertain"],"x-speakeasy-enum-format":"union"},"type":"array"},{"type":"null"}],"title":"","description":"Filter LiveKit outbound calls by their final detected recipient. Uncertain matches recorded uncertain verdicts only; missing classifications are excluded."},"classification":{"anyOf":[{"items":{"$ref":"#/components/schemas/InteractionType"},"type":"array"},{"type":"null"}],"title":"","description":"Filter by one or more call classification values."},"direction":{"anyOf":[{"$ref":"#/components/schemas/CallDirection"},{"type":"null"}],"title":"","description":"Filter by call direction."},"partner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Filter by partner ID."},"invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Filter by invoice ID."},"workflow_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Filter by workflow ID."},"before":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"Return calls that started or were created before this time."},"after":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"Return calls that started or were created after this time."}},"type":"object","title":"CallFilters","description":"Filters shared by call lists and CSV exports."},"CallInvoiceSummary":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"A unique, identifying string that appears on emails sent to the customer for this invoice."},"status":{"$ref":"#/components/schemas/InvoiceStatus","title":"","description":"The status of the invoice. One of `draft`, `open`, `paid`, `uncollectible`, or `void`."},"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"The invoice's currency code (e.g. USD)."},"amount_due":{"type":"integer","title":"","description":"The amount to be paid on invoice, in the currency's smallest unit. (e.g. 10.00 USD -> 1000)"},"amount_paid":{"type":"integer","title":"","description":"The invoice's total amount paid, in the currency's smallest unit. (e.g. 10.00 USD -> 1000)"},"amount_remaining":{"type":"integer","title":"","description":"The remaining balance on the invoice."},"total_amount":{"type":"integer","title":"","description":"The total amount of the invoice, including tax and allowances, in the currency's smallest unit. (e.g. 10.00 USD -> 1000)"},"due_date":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"The invoice's due date."},"issued_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"The invoice's issue date."},"paid_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"The date the invoice was paid."},"purchase_order_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Unique identifier assigned to a purchase order by a buyer."},"order_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Unique identifier assigned to a purchase by a seller."},"pdf_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"partner":{"anyOf":[{"$ref":"#/components/schemas/PartnerSummary"},{"type":"null"}],"title":"","description":"The invoice's vendor or customer."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","number","status","currency","amount_due","amount_paid","amount_remaining","total_amount","due_date","issued_at","paid_at","purchase_order_number","order_number","pdf_id","partner","object"],"title":"CallInvoiceSummary","description":"Preserve V1's amount format: a USD invoice for $123.45 is sent as 12345.\n\nThe shared InvoiceSummary uses dollar amounts for USD and omits PDF IDs."},"CallListSchema":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"approver":{"anyOf":[{"$ref":"#/components/schemas/User"},{"type":"null"}],"title":""},"status":{"$ref":"#/components/schemas/CallStatus","title":""},"direction":{"$ref":"#/components/schemas/CallDirection","title":""},"disconnection_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"failure_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Human-readable reason for the recorded call failure. Transfer-only failures are excluded."},"from_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The calling number."},"in_voicemail":{"type":"boolean","title":"","description":"Whether the call is entered voicemail."},"answered_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Final detected recipient on LiveKit outbound calls; IVR followed by a person is human. Null means no classification was recorded, not that a human or AI answered."},"sentiment":{"anyOf":[{"$ref":"#/components/schemas/CallSentiment"},{"type":"null"}],"title":"","description":"Sentiment of the user in the call."},"call_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"start_time":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"end_time":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"partner":{"anyOf":[{"$ref":"#/components/schemas/PartnerSummary"},{"type":"null"}],"title":""},"processing_status":{"anyOf":[{"$ref":"#/components/schemas/ProcessingStatus"},{"type":"null"}],"title":""},"provider":{"type":"string","title":""},"to_number":{"type":"string","title":"","description":"The number to call"},"workflow":{"anyOf":[{"$ref":"#/components/schemas/OutreachWorkflowSummary"},{"$ref":"#/components/schemas/WorkflowSummary"},{"type":"null"}],"title":""},"workflow_run":{"anyOf":[{"$ref":"#/components/schemas/OutreachWorkflowRunSummary"},{"type":"null"}],"title":""},"classifications":{"items":{"$ref":"#/components/schemas/CallClassificationSummary"},"type":"array","title":""},"invoices":{"items":{"$ref":"#/components/schemas/InvoiceSummary"},"type":"array","title":""},"tasks":{"items":{"$ref":"#/components/schemas/TaskSummary"},"type":"array","title":"","description":"Tasks explicitly linked to this call"},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"display_tasks":{"items":{"$ref":"#/components/schemas/TaskSummary"},"type":"array","title":"","readOnly":true}},"type":"object","required":["created_at","modified_at","id","approver","status","direction","disconnection_reason","from_number","in_voicemail","sentiment","call_reason","start_time","end_time","partner","processing_status","provider","to_number","workflow","workflow_run","classifications","invoices","tasks","object","display_tasks"],"title":"CallList","description":"Call summary for list responses."},"CallSentiment":{"type":"string","enum":["positive","negative","neutral","unknown"],"title":"CallSentiment"},"CallSettings":{"properties":{"is_call_concurrency_enabled":{"type":"boolean","title":"","description":"Whether calls may run concurrently instead of sequentially."},"is_call_dedup_enabled":{"type":"boolean","title":"","description":"Whether duplicate calls to the same number on the same day are prevented."}},"type":"object","required":["is_call_concurrency_enabled","is_call_dedup_enabled"],"title":"CallSettings","description":"Call execution settings for an organization."},"CallStatus":{"type":"string","enum":["pending_approval","queued","registered","initiated","ringing","canceled","in_progress","completed","busy","no_answer","failed","awaiting_post_processing"],"title":"CallStatus"},"CallTaskSummary":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"type":{"$ref":"#/components/schemas/TaskType","title":"","description":"The type of the task."},"status":{"$ref":"#/components/schemas/TaskStatus","title":"","description":"The current status of the task."},"label":{"type":"string","title":"","description":"The blurb or label for the task."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The contextual description of the task."},"assignee_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the user assigned to this task, if any."},"interaction_classifications":{"items":{"$ref":"#/components/schemas/InteractionClassificationSummary"},"type":"array","title":"","description":"The interaction classifications that led to the creation of this task"},"assignee":{"anyOf":[{"$ref":"#/components/schemas/User"},{"type":"null"}],"title":"","description":"The organization user that is assigned to this task."},"priority":{"$ref":"#/components/schemas/TaskPriority","title":"","description":"The priority of the task."},"expected_action":{"anyOf":[{"$ref":"#/components/schemas/TaskActionType"},{"type":"null"}],"title":"","description":"The action that is expected from the user for this task"},"source":{"$ref":"#/components/schemas/TaskSource","title":"","description":"The source of the task (e.g., 'email', 'call', 'sms', 'outreach')."},"partner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the partner this task belongs to."},"call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"group_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The parent group task ID if this is a child task."},"is_group":{"type":"boolean","title":"","description":"Whether this task represents a task group."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","type","status","label","description","assignee_id","interaction_classifications","assignee","priority","expected_action","source","partner_id","call_id","group_id","is_group","object"],"title":"CallTaskSummary","description":"Extend the shared summary with assignee, priority, and drawer navigation fields."},"CallWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/CallWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/CallWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"callReason":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Callreason"},"direction":{"$ref":"#/components/schemas/EqualityComparator_CallDirection_","title":"Direction"},"disconnectionReason":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Disconnectionreason"},"endTime":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Endtime"},"inVoicemail":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Invoicemail"},"isAutomated":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isautomated"},"recordingConsentGranted":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_bool_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Recordingconsentgranted"},"sentiment":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_CallSentiment_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Sentiment"},"startTime":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Starttime"},"status":{"$ref":"#/components/schemas/EqualityComparator_CallStatus_","title":"Status"},"callAgentId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Callagentid"},"partnerId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Partnerid"}},"additionalProperties":false,"type":"object","title":"CallWorkflowFilter"},"CallWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/CallWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/CallWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"callReason":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Callreason"},"direction":{"$ref":"#/components/schemas/EqualityComparator_CallDirection_","title":"Direction"},"disconnectionReason":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Disconnectionreason"},"endTime":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Endtime"},"inVoicemail":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Invoicemail"},"isAutomated":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isautomated"},"recordingConsentGranted":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_bool_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Recordingconsentgranted"},"sentiment":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_CallSentiment_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Sentiment"},"startTime":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Starttime"},"status":{"$ref":"#/components/schemas/EqualityComparator_CallStatus_","title":"Status"},"callAgentId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Callagentid"},"partnerId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Partnerid"}},"additionalProperties":false,"type":"object","title":"CallWorkflowFilter"},"CancelPaymentPlanRequest":{"properties":{"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","title":"CancelPaymentPlanRequest"},"CashAppAutomationListResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CashAppAutomationResponse"},"type":"array","title":""}},"type":"object","required":["data"],"title":"CashAppAutomationListResponse"},"CashAppAutomationResponse":{"properties":{"period_start":{"type":"string","format":"date","title":""},"period_end":{"type":"string","format":"date","title":""},"automatic_count":{"type":"integer","minimum":0.0,"title":""},"suggested_count":{"type":"integer","minimum":0.0,"title":""},"remote_count":{"type":"integer","minimum":0.0,"title":""},"manual_count":{"type":"integer","minimum":0.0,"title":""},"total_automatic":{"type":"integer","minimum":0.0,"title":""},"total_manual":{"type":"integer","minimum":0.0,"title":""},"total_count":{"type":"integer","minimum":0.0,"title":""},"automation_rate":{"type":"number","maximum":1.0,"minimum":0.0,"title":""}},"type":"object","required":["period_start","period_end","automatic_count","suggested_count","remote_count","manual_count","total_automatic","total_manual","total_count","automation_rate"],"title":"CashAppAutomationResponse"},"CashAppBucket":{"properties":{"count":{"type":"integer","minimum":0.0,"title":"","description":"Number of transactions"},"total_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Sum of transaction amounts in standard units"}},"type":"object","required":["count","total_amount"],"title":"CashAppBucket"},"CashAppDepositSummaryListResponse":{"properties":{"start_date":{"type":"string","format":"date","title":"","description":"Resolved start of the range, inclusive"},"end_date":{"type":"string","format":"date","title":"","description":"Resolved end of the range, inclusive"},"data":{"items":{"$ref":"#/components/schemas/CashAppDepositSummaryResponse"},"type":"array","title":""}},"type":"object","required":["start_date","end_date","data"],"title":"CashAppDepositSummaryListResponse"},"CashAppDepositSummaryResponse":{"properties":{"bank_account_id":{"type":"string","title":""},"bank_account_name":{"type":"string","title":"","description":"Bank account nickname, falling back to its name when unset"},"account_mask":{"type":"string","title":"","description":"Last 4 digits of the bank account number"},"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"Currency of the deposits in this row"},"deposit_count":{"type":"integer","minimum":0.0,"title":"","description":"Bank-settled AR deposits received in the range"},"fully_applied_count":{"type":"integer","minimum":0.0,"title":"","description":"Deposits whose approved payments plus amount handled outside cover the full amount"},"auto_allocated_count":{"type":"integer","minimum":0.0,"title":"","description":"Fully-applied deposits carrying at least one allocation and no MANUAL allocation"},"auto_posted_count":{"type":"integer","minimum":0.0,"title":"","description":"Fully-applied deposits covered by payments the auto-post engine approved"},"total_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Total deposit amount received, in standard units"},"applied_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Applied portion of those deposits, including partial coverage and amounts handled outside Stuut, in standard units"}},"type":"object","required":["bank_account_id","bank_account_name","account_mask","currency","deposit_count","fully_applied_count","auto_allocated_count","auto_posted_count","total_amount","applied_amount"],"title":"CashAppDepositSummaryResponse"},"CashAppIntegrationFeatures":{"properties":{"can_unpost_payment":{"type":"boolean","title":"Can Unpost Payment","default":false},"can_post_on_account_payment":{"type":"boolean","title":"Can Post On Account Payment","default":false}},"type":"object","title":"CashAppIntegrationFeatures"},"CashAppOutreachStatus":{"type":"string","enum":["pending","suggested","sent","failed","skipped"],"title":"CashAppOutreachStatus"},"CashAppOutreachType":{"type":"string","enum":["payment_receipt","remittance_request"],"title":"CashAppOutreachType"},"CashAppReconciliationListResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CashAppReconciliationResponse"},"type":"array","title":""},"is_multi_currency":{"type":"boolean","title":""},"currency":{"$ref":"#/components/schemas/Currency","title":""}},"type":"object","required":["data","is_multi_currency","currency"],"title":"CashAppReconciliationListResponse"},"CashAppReconciliationResponse":{"properties":{"period_start":{"type":"string","format":"date","title":""},"period_end":{"type":"string","format":"date","title":""},"deposit_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Total AR deposit amount (excl. non-payments), in standard units"},"reconciled_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"AR deposit amount reconciled via Stuut payments, in standard units"},"handled_outside_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"AR deposit amount fully handled outside Stuut, in standard units"},"applied_count":{"type":"integer","minimum":0.0,"title":"","description":"Transactions fully applied (via payments or handled outside)"},"partially_applied_count":{"type":"integer","minimum":0.0,"title":"","description":"Transactions with some but not full payment coverage"},"unapplied_count":{"type":"integer","minimum":0.0,"title":"","description":"Transactions with zero payment coverage"}},"type":"object","required":["period_start","period_end","deposit_amount","reconciled_amount","handled_outside_amount","applied_count","partially_applied_count","unapplied_count"],"title":"CashAppReconciliationResponse"},"CashStanding":{"type":"string","enum":["confirmed","proposed"],"x-speakeasy-enum-format":"union"},"CatalogMetric":{"properties":{"metric_name":{"type":"string","title":"","description":"Stable Metronome billable-metric name."},"name":{"type":"string","title":"","description":"Customer-facing metric name."},"unit":{"type":"string","title":"","description":"Singular metered unit, e.g. invoice, payment, or minute."},"rate_format":{"type":"string","enum":["CURRENCY_PER_UNIT","PERCENTAGE"],"title":"","description":"How the frontend should format this metric's prices.","x-speakeasy-enum-format":"union"}},"type":"object","required":["metric_name","name","unit","rate_format"],"title":"billing.CatalogMetric","description":"Presentation metadata for one independently measured metric."},"CatalogProduct":{"properties":{"key":{"$ref":"#/components/schemas/BillingProductKey","title":"","description":"Stable Stuut product key."},"name":{"type":"string","title":"","description":"Customer-facing product name."},"required":{"type":"boolean","title":"","description":"Whether the product is part of every account and cannot be disabled."},"status":{"type":"string","enum":["ENABLED","AVAILABLE","CONTACT_SALES"],"title":"","description":"Backend-resolved state and UI action: ENABLED is active, AVAILABLE can be enabled self-service, and CONTACT_SALES requires a managed contract change.","x-speakeasy-enum-format":"union"},"metrics":{"items":{"$ref":"#/components/schemas/CatalogMetric"},"type":"array","title":"","description":"Presentation metadata for the product's metrics."},"rates":{"items":{"$ref":"#/components/schemas/ProductRate"},"type":"array","title":"","description":"Current standard List Rates; every entry has source=LIST."},"activation_credits":{"items":{"$ref":"#/components/schemas/ActivationCredit"},"type":"array","title":"","description":"Credits granted specifically by activating this product."}},"type":"object","required":["key","name","required","status","metrics","rates","activation_credits"],"title":"billing.CatalogProduct","description":"One Stuut product with standard pricing and backend-resolved access."},"CentralizedInboxSettings":{"properties":{"auto_assign":{"type":"boolean","title":""},"auto_assign_threshold":{"type":"integer","title":""},"matching_guidelines":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["auto_assign","auto_assign_threshold","matching_guidelines"],"title":"CentralizedInboxSettings","description":"Routing / auto-assignment config for the centralized inbox."},"CentralizedInboxSettingsResponse":{"properties":{"centralized_inbox_auto_assign":{"type":"boolean","title":""},"centralized_inbox_auto_assign_threshold":{"type":"integer","title":""},"centralized_inbox_matching_guidelines":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["centralized_inbox_auto_assign","centralized_inbox_auto_assign_threshold","centralized_inbox_matching_guidelines"],"title":"CentralizedInboxSettingsResponse","description":"Current centralized inbox settings for the organization."},"CentralizedInboxToggleRequest":{"properties":{"is_centralized_inbox":{"type":"boolean","title":""}},"type":"object","required":["is_centralized_inbox"],"title":"CentralizedInboxToggleRequest","description":"Request to toggle centralized inbox for an email sender."},"ChargeSchedule":{"properties":{"schedule_items":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChargeScheduleItem"},"type":"array"},{"type":"null"}],"title":"","description":"The charge's invoice occurrences."}},"type":"object","required":["schedule_items"],"title":"billing.ChargeSchedule"},"ChargeScheduleItem":{"properties":{"timestamp":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When this occurrence invoices."},"amount":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Amount invoiced, in dollars."}},"type":"object","required":["timestamp","amount"],"title":"billing.ChargeScheduleItem","description":"One scheduled-charge invoice occurrence."},"ChargebeeConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"chargebee","title":""},"site":{"type":"string","title":"","description":"Chargebee site name (e.g. 'hibid' for hibid.chargebee.com)."},"api_key":{"type":"string","format":"password","title":"","writeOnly":true},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","site","api_key","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"ChargebeeConnection","description":"Chargebee integration connection."},"ChargebeeConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"chargebee","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"site":{"type":"string","title":"","description":"Chargebee site name (e.g. 'hibid' for hibid.chargebee.com)."},"api_key":{"type":"string","format":"password","title":"","writeOnly":true}},"type":"object","required":["provider_name","site","api_key"],"title":"ChargebeeConnectionCreateBody","description":"Create schema for Chargebee connections."},"ChargebeeConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"chargebee","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."}},"type":"object","required":["provider_name"],"title":"ChargebeeConnectionUpdate","description":"Update schema for Chargebee connections."},"ChartBucket":{"properties":{"label":{"type":"string","title":""},"count":{"type":"integer","minimum":0.0,"title":""},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional entity ID for navigation."},"balance":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Total open invoice balance in cents."},"overdue_balance":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Total overdue invoice balance in cents."}},"type":"object","required":["label","count","id","balance","overdue_balance"],"title":"ChartBucket"},"ChatContextInput":{"properties":{"entities":{"items":{"$ref":"#/components/schemas/ContextEntityInput"},"type":"array","maxItems":5,"title":""}},"type":"object","title":"ChatContextInput","description":"Records attached to this message; sent per message, never an access grant."},"ChatMessageInput":{"properties":{"role":{"type":"string","enum":["user","assistant","system"],"title":"","x-speakeasy-enum-format":"union"},"parts":{"items":{"anyOf":[{"$ref":"#/components/schemas/TextPartInput"},{"$ref":"#/components/schemas/FilePartInput"},{"$ref":"#/components/schemas/_UnknownPartInput"}]},"type":"array","title":""},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["role"],"title":"ChatMessageInput"},"ChatStream":{"properties":{"data":{"oneOf":[{"$ref":"#/components/schemas/StartEvent"},{"$ref":"#/components/schemas/StartStepEvent"},{"$ref":"#/components/schemas/FinishStepEvent"},{"$ref":"#/components/schemas/FinishEvent"},{"$ref":"#/components/schemas/TextStartEvent"},{"$ref":"#/components/schemas/TextDeltaEvent"},{"$ref":"#/components/schemas/TextEndEvent"},{"$ref":"#/components/schemas/ReasoningStartEvent"},{"$ref":"#/components/schemas/ReasoningDeltaEvent"},{"$ref":"#/components/schemas/ReasoningEndEvent"},{"$ref":"#/components/schemas/ToolInputStartEvent"},{"$ref":"#/components/schemas/ToolInputDeltaEvent"},{"$ref":"#/components/schemas/ToolInputAvailableEvent"},{"$ref":"#/components/schemas/ToolOutputAvailableEvent"},{"$ref":"#/components/schemas/DataCustomEvent"},{"$ref":"#/components/schemas/DataTableEvent"},{"$ref":"#/components/schemas/DataChartEvent"},{"$ref":"#/components/schemas/DataSuggestionsEvent"},{"$ref":"#/components/schemas/DataPlanResultEvent"},{"$ref":"#/components/schemas/ErrorEvent"}],"title":"","discriminator":{"propertyName":"type","mapping":{"data-chart":"#/components/schemas/DataChartEvent","data-custom":"#/components/schemas/DataCustomEvent","data-plan-result":"#/components/schemas/DataPlanResultEvent","data-suggestions":"#/components/schemas/DataSuggestionsEvent","data-table":"#/components/schemas/DataTableEvent","error":"#/components/schemas/ErrorEvent","finish":"#/components/schemas/FinishEvent","finish-step":"#/components/schemas/FinishStepEvent","reasoning-delta":"#/components/schemas/ReasoningDeltaEvent","reasoning-end":"#/components/schemas/ReasoningEndEvent","reasoning-start":"#/components/schemas/ReasoningStartEvent","start":"#/components/schemas/StartEvent","start-step":"#/components/schemas/StartStepEvent","text-delta":"#/components/schemas/TextDeltaEvent","text-end":"#/components/schemas/TextEndEvent","text-start":"#/components/schemas/TextStartEvent","tool-input-available":"#/components/schemas/ToolInputAvailableEvent","tool-input-delta":"#/components/schemas/ToolInputDeltaEvent","tool-input-start":"#/components/schemas/ToolInputStartEvent","tool-output-available":"#/components/schemas/ToolOutputAvailableEvent"}}}},"type":"object","required":["data"],"title":"ChatStream","description":"SSE frame describing the `data:` payload as a discriminated event union.\n\nSpeakeasy's SSE schema model expects each frame's top-level properties to\nbe SSE protocol fields (`id`, `event`, `data`, `retry`). The `data` field\nhere describes the JSON object inside each `data:` line — a discriminated\nunion of every event the aether wire emits. The wire format is unchanged\nfrom Vercel AI SDK v6 (`data: {\"type\": \"...\", ...}`)."},"CheckEmailRequest":{"properties":{"email":{"type":"string","title":"","description":"The email to check."}},"type":"object","required":["email"],"title":"CheckEmailRequest","description":"Check whether an email can start registration. Takes a plain string (not the\nvalidated Email type) so a malformed or public-domain address comes back as a\nstructured result rather than a 422 validation error."},"CheckEmailResponse":{"properties":{"valid":{"type":"boolean","title":"","description":"True if the email can begin registration."},"reason":{"anyOf":[{"type":"string","enum":["invalid_email","alias_not_allowed","public_domain","blacklisted","already_registered","existing_tenant"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"","description":"Why the email is unusable, when valid is false; null when valid."}},"type":"object","required":["valid","reason"],"title":"CheckEmailResponse","description":"Whether an email is usable for a new self-service registration."},"CheckoutRequest":{"properties":{"success_url":{"type":"string","title":"","description":"App URL Stripe redirects to after completion."},"cancel_url":{"type":"string","title":"","description":"App URL Stripe redirects to if the customer bails."}},"type":"object","required":["success_url","cancel_url"],"title":"billing.CheckoutRequest","description":"Start a hosted payment-method update."},"CheckoutResponse":{"properties":{"url":{"type":"string","title":"","description":"One-time Stripe-hosted Checkout URL; redirect the customer to it."}},"type":"object","required":["url"],"title":"billing.CheckoutResponse"},"ChildStatementInfo":{"properties":{"id":{"type":"string","title":""},"name":{"type":"string","title":"","description":"Attachment name of the child statement"}},"type":"object","required":["id","name"],"title":"ChildStatementInfo","description":"Basic info about a child statement from a split."},"ChoiceReuse":{"type":"string","enum":["supplier_identity","buyer_constant","invoice_specific","po_specific","unclear"],"title":"ChoiceReuse","description":"How a buyer choice's answer behaves across that buyer's invoices."},"CitiBankAccountOption":{"properties":{"ref":{"type":"string","title":""},"account_number":{"type":"string","title":""},"name":{"type":"string","title":""},"currency":{"type":"string","title":""},"is_closed":{"type":"boolean","title":""}},"type":"object","required":["ref","account_number","name","currency","is_closed"],"title":"CitiBankAccountOption","description":"A Citi bank account available to select for syncing."},"CitiConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"citi","title":""},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"OAuth2 client ID for Citi API access. Falls back to env var if not set."},"selected_account_refs":{"items":{"type":"string"},"type":"array","title":"","description":"Citi account_refs this connection syncs. Empty means sync all accounts.","default":[]},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","client_id","selected_account_refs","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"CitiConnection","description":"Citi Treasury and Trade Solutions integration connection."},"CitiConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"citi","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"OAuth2 client ID for Citi API access. Falls back to env var if not set."},"client_secret":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"OAuth2 client secret for Citi API access. Falls back to env var if not set."}},"type":"object","required":["provider_name"],"title":"CitiConnectionCreateBody","description":"Create schema for Citi connections."},"CitiConnectionUpdateBody":{"properties":{"provider_name":{"type":"string","const":"citi","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"OAuth2 client ID for Citi API access. Falls back to env var if not set."},"client_secret":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"OAuth2 client secret for Citi API access. Falls back to env var if not set."},"selected_account_refs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Citi account_refs this connection syncs. Empty means sync all accounts."}},"type":"object","required":["provider_name"],"title":"CitiConnectionUpdateBody","description":"Update schema for Citi connections."},"CollectionStats":{"properties":{"collection":{"type":"string","enum":["cash_application","collections","company","credit_risk","deductions","disputes","payments"],"title":"Collection","description":"Collection name","x-speakeasy-enum-format":"union"},"article_count":{"type":"integer","title":"Article Count","description":"Number of published articles in this collection"},"pending_proposal_count":{"type":"integer","title":"Pending Proposal Count","description":"Number of pending proposals targeting this collection","default":0}},"type":"object","required":["collection","article_count"],"title":"CollectionStats"},"Collection_CreditMemoWorkflowFilter_-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/Collection_CreditMemoWorkflowFilter_-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/Collection_CreditMemoWorkflowFilter_-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"some":{"$ref":"#/components/schemas/CreditMemoWorkflowFilter-Input","title":"Some"},"none":{"$ref":"#/components/schemas/CreditMemoWorkflowFilter-Input","title":"None"},"every":{"$ref":"#/components/schemas/CreditMemoWorkflowFilter-Input","title":"Every"},"length":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_int_"},{"$ref":"#/components/schemas/OrderedComparator_int_"}],"title":"Length"},"exists":{"type":"boolean","title":"Exists"}},"additionalProperties":false,"type":"object","title":"Collection[CreditMemoWorkflowFilter]"},"Collection_CreditMemoWorkflowFilter_-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/Collection_CreditMemoWorkflowFilter_-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/Collection_CreditMemoWorkflowFilter_-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"some":{"$ref":"#/components/schemas/CreditMemoWorkflowFilter-Output","title":"Some"},"none":{"$ref":"#/components/schemas/CreditMemoWorkflowFilter-Output","title":"None"},"every":{"$ref":"#/components/schemas/CreditMemoWorkflowFilter-Output","title":"Every"},"length":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_int_"},{"$ref":"#/components/schemas/OrderedComparator_int_"}],"title":"Length"},"exists":{"type":"boolean","title":"Exists"}},"additionalProperties":false,"type":"object","title":"Collection[CreditMemoWorkflowFilter]"},"Collection_InvoiceWorkflowFilter_-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/Collection_InvoiceWorkflowFilter_-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/Collection_InvoiceWorkflowFilter_-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"some":{"$ref":"#/components/schemas/InvoiceWorkflowFilter-Input","title":"Some"},"none":{"$ref":"#/components/schemas/InvoiceWorkflowFilter-Input","title":"None"},"every":{"$ref":"#/components/schemas/InvoiceWorkflowFilter-Input","title":"Every"},"length":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_int_"},{"$ref":"#/components/schemas/OrderedComparator_int_"}],"title":"Length"},"exists":{"type":"boolean","title":"Exists"}},"additionalProperties":false,"type":"object","title":"Collection[InvoiceWorkflowFilter]"},"Collection_InvoiceWorkflowFilter_-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/Collection_InvoiceWorkflowFilter_-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/Collection_InvoiceWorkflowFilter_-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"some":{"$ref":"#/components/schemas/InvoiceWorkflowFilter-Output","title":"Some"},"none":{"$ref":"#/components/schemas/InvoiceWorkflowFilter-Output","title":"None"},"every":{"$ref":"#/components/schemas/InvoiceWorkflowFilter-Output","title":"Every"},"length":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_int_"},{"$ref":"#/components/schemas/OrderedComparator_int_"}],"title":"Length"},"exists":{"type":"boolean","title":"Exists"}},"additionalProperties":false,"type":"object","title":"Collection[InvoiceWorkflowFilter]"},"CollectionsReadinessBucket":{"properties":{"count":{"type":"integer","title":""},"total_overdue":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Total overdue balance for partners in this bucket, in standard units of `currency`."}},"type":"object","required":["count","total_overdue"],"title":"CollectionsReadinessBucket"},"CollectionsReadinessDisabledEmail":{"properties":{"kind":{"type":"string","enum":["bounced","opted_out"],"title":"","description":"`bounced` when delivery failed, `opted_out` when the contact asked to stop or left.","x-speakeasy-enum-format":"union"},"at":{"type":"string","format":"date-time","title":"","description":"When outreach turned the email off."},"contact_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The contact whose email was turned off, or the account's name when it was the account's own email."}},"type":"object","required":["kind","at","contact_name"],"title":"CollectionsReadinessDisabledEmail"},"CollectionsReadinessPartner":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"account_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The customer's account number."},"assignee_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the user assigned to this partner, if any."},"business_unit_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The business unit this partner belongs to."},"currency":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"","description":"The partner's default currency code (e.g. USD)."},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The partner's company email address."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The full name of the partner."},"legal_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The legal name of this partner, typically applies to businesses."},"phone":{"anyOf":[{"type":"string","format":"phone","description":"A phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format"},{"type":"null"}],"title":"","description":"The partner's default phone number."},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"remote_id":{"type":"string","title":"","description":"The partner's third party id."},"subsidiary_count":{"type":"integer","minimum":0.0,"title":""},"last_outreach_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"The last date outreach was sent for this partner."},"last_outreach_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The last recipient of outreach that was sent for this partner (email address or phone number)."},"last_outreach_channel":{"anyOf":[{"$ref":"#/components/schemas/OutreachActionType"},{"type":"null"}],"title":"","description":"The last channel outreach was sent in for this partner (phone or email)."},"is_email_outreach_manually_paused":{"type":"boolean","title":""},"is_call_outreach_manually_paused":{"type":"boolean","title":""},"invoice_stats":{"$ref":"#/components/schemas/PartnerInvoiceStats","title":""},"contact_completeness":{"$ref":"#/components/schemas/ContactCompleteness","title":""},"active_dispute_count":{"type":"integer","minimum":0.0,"title":"","default":0},"terminal_dispute_count":{"type":"integer","minimum":0.0,"title":"","default":0},"disabled_email":{"anyOf":[{"$ref":"#/components/schemas/CollectionsReadinessDisabledEmail"},{"type":"null"}],"title":"","description":"The newest email outreach turned off on its own for this account or its family, if any."},"auto_set_primary_email":{"type":"boolean","title":"","description":"No primary email, but outreach will auto-set one from the account's own email or a contact.","default":false},"auto_set_primary_phone":{"type":"boolean","title":"","description":"No primary phone, but outreach will auto-set one from the account's own phone or a contact.","default":false},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","account_number","assignee_id","business_unit_id","currency","email","name","legal_name","phone","parent_id","remote_id","subsidiary_count","last_outreach_at","last_outreach_to","last_outreach_channel","is_email_outreach_manually_paused","is_call_outreach_manually_paused","invoice_stats","contact_completeness","active_dispute_count","terminal_dispute_count","disabled_email","auto_set_primary_email","auto_set_primary_phone","object"],"title":"CollectionsReadinessPartner"},"CollectionsReadinessStats":{"properties":{"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"Org base currency every `total_overdue` in this response is denominated in."},"refreshed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When the `partner_stats` snapshot these numbers come from was last refreshed (~30 min cron); `null` when no partner is in scope. The partners list reads the same snapshot, so a bucket count agrees with the list it links to unless the list is asked for coming-due partners too."},"total":{"$ref":"#/components/schemas/CollectionsReadinessBucket","title":""},"no_primary_contact":{"$ref":"#/components/schemas/CollectionsReadinessBucket","title":""},"no_assignee":{"$ref":"#/components/schemas/CollectionsReadinessBucket","title":""},"not_in_workflow":{"$ref":"#/components/schemas/CollectionsReadinessBucket","title":"","description":"Every other overdue outreach target: outside every workflow, paused, or with nothing outreach would chase. With `reached` it covers every overdue target."},"past_last_stage":{"anyOf":[{"$ref":"#/components/schemas/CollectionsReadinessBucket"},{"type":"null"}],"title":""},"reached":{"$ref":"#/components/schemas/CollectionsReadinessBucket","title":"","description":"Overdue outreach targets outreach would reach: in a workflow, or every target with no workflows, with something to chase and outside a pause."},"previewing_inactive_workflows":{"type":"boolean","title":"","description":"True when no active workflow sends to customers, so the numbers cover what its test-mode or inactive workflows would reach once live.","default":false},"workflow_count":{"type":"integer","title":"","description":"How many workflows the counts come from: the active ones, else the inactive ones, else 0.","default":0},"workflows_reaching_no_one":{"items":{"type":"string"},"type":"array","title":"","description":"Names of the workflows the counts come from when they match no account, so the counts cover the whole book as with no workflows. Empty otherwise."},"not_in_workflow_reasons":{"additionalProperties":{"type":"integer"},"propertyNames":{"enum":["paused","disputed","excluded","payment_pending","promised","none"],"x-speakeasy-enum-format":"union"},"type":"object","title":"","description":"How many `not_in_workflow` rows carry each reason, and `none` for rows with no reason. A row with two reasons counts under both."},"auto_primary_covered":{"$ref":"#/components/schemas/CollectionsReadinessBucket","title":"","description":"The part of `no_primary_contact` outreach still reaches because the org auto-sets a primary from the account's own value or another usable contact. Zero when that is off."},"reached_overdue":{"$ref":"#/components/schemas/CollectionsReadinessBucket","title":"","description":"The overdue part of `reached`. Equal to `reached` unless `include_coming_due` adds accounts."}},"type":"object","required":["currency","refreshed_at","total","no_primary_contact","no_assignee","not_in_workflow","past_last_stage","reached","previewing_inactive_workflows","workflow_count","workflows_reaching_no_one","not_in_workflow_reasons","auto_primary_covered","reached_overdue"],"title":"CollectionsReadinessStats"},"CollectionsReadinessUnreachedPartner":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"account_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The customer's account number."},"assignee_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the user assigned to this partner, if any."},"business_unit_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The business unit this partner belongs to."},"currency":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"","description":"The partner's default currency code (e.g. USD)."},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The partner's company email address."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The full name of the partner."},"legal_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The legal name of this partner, typically applies to businesses."},"phone":{"anyOf":[{"type":"string","format":"phone","description":"A phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format"},{"type":"null"}],"title":"","description":"The partner's default phone number."},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"remote_id":{"type":"string","title":"","description":"The partner's third party id."},"subsidiary_count":{"type":"integer","minimum":0.0,"title":""},"last_outreach_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"The last date outreach was sent for this partner."},"last_outreach_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The last recipient of outreach that was sent for this partner (email address or phone number)."},"last_outreach_channel":{"anyOf":[{"$ref":"#/components/schemas/OutreachActionType"},{"type":"null"}],"title":"","description":"The last channel outreach was sent in for this partner (phone or email)."},"is_email_outreach_manually_paused":{"type":"boolean","title":""},"is_call_outreach_manually_paused":{"type":"boolean","title":""},"invoice_stats":{"$ref":"#/components/schemas/PartnerInvoiceStats","title":""},"contact_completeness":{"$ref":"#/components/schemas/ContactCompleteness","title":""},"active_dispute_count":{"type":"integer","minimum":0.0,"title":"","default":0},"terminal_dispute_count":{"type":"integer","minimum":0.0,"title":"","default":0},"reasons":{"items":{"type":"string","enum":["paused","disputed","excluded","payment_pending","promised"],"x-speakeasy-enum-format":"union"},"type":"array","title":"","description":"Every reason outreach won't reach this account: `paused` (see `pause_kind`), and when no open invoice is one outreach would chase, each filter they fail: `disputed`, `excluded` (excluded from outreach), `payment_pending` (a payment received or processing, when partial-payment outreach is off), `promised` (an active promise to pay, unless the org chases promised invoices). Empty when the account matches no workflow."},"pause_kind":{"anyOf":[{"type":"string","enum":["manual","integration","skipped_child"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"","description":"Which pause makes the account `paused`: `manual`, `integration` (set from the ERP, such as an account status), or `skipped_child` (a paused child the parent's letter leaves out)."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","account_number","assignee_id","business_unit_id","currency","email","name","legal_name","phone","parent_id","remote_id","subsidiary_count","last_outreach_at","last_outreach_to","last_outreach_channel","is_email_outreach_manually_paused","is_call_outreach_manually_paused","invoice_stats","contact_completeness","active_dispute_count","terminal_dispute_count","reasons","pause_kind","object"],"title":"CollectionsReadinessUnreachedPartner"},"CollectionsSummaryByCustomerLineSchema":{"properties":{"partner_id":{"type":"string","title":"","description":"The customer/partner ID."},"partner_name":{"type":"string","title":"","description":"The customer/partner name."},"partner_account_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The customer/partner account number."},"period_start":{"type":"string","format":"date","title":"","description":"The period start date."},"period_end":{"type":"string","format":"date","title":"","description":"The period end date."},"balance":{"type":"integer","title":"","description":"Total open balance in cents."},"amount_overdue":{"type":"integer","title":"","description":"Total remaining overdue for the period in cents."},"amount_collected":{"type":"integer","title":"","description":"Total amount collected in cents."},"amount_collected_stuut_touched":{"type":"integer","title":"","description":"Total amount collected with Stuut in cents."},"amount_collected_automated":{"type":"integer","title":"","description":"Total amount collected through Stuut automation in cents."},"amount_collected_other":{"type":"integer","title":"","description":"Total amount collected outside of Stuut in cents."},"amount_issued":{"type":"integer","title":"","description":"Total amount issued in cents."},"amount_issued_stuut_touched":{"type":"integer","title":"","description":"Total amount issued for invoices touched by Stuut in cents."},"total_invoice_amount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Total invoice amount for invoices issued in the period in cents."},"amount_overdue_stuut_touched":{"type":"integer","title":"","description":"Total remaining overdue (Stuut touched) in cents."},"amount_receivables":{"type":"integer","title":"","description":"Total accounts receivable in cents."},"amount_receivables_stuut_touched":{"type":"integer","title":"","description":"Total accounts receivable (Stuut touched) in cents."},"balance_stuut_touched":{"type":"integer","title":"","description":"Total open balance of invoices touched by Stuut in cents."},"balance_for_period":{"type":"integer","title":"","description":"Total open balance for the period in cents."},"balance_for_period_stuut_touched":{"type":"integer","title":"","description":"Total open balance for the period (Stuut touched) in cents."},"balance_period_start":{"type":"integer","title":"","description":"Total open balance at period start in cents."},"balance_period_start_stuut_touched":{"type":"integer","title":"","description":"Total open balance at period start (Stuut touched) in cents."},"dso":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"","description":"Days sales outstanding."},"dso_stuut_touched":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"","description":"Days sales outstanding (Stuut touched)."},"invoices_collected":{"type":"integer","title":"","description":"Total number of invoices collected."},"invoices_collected_stuut_touched":{"type":"integer","title":"","description":"Total number of invoices collected (Stuut touched)."},"invoices_issued":{"type":"integer","title":"","description":"Total number of invoices issued."},"invoices_open":{"type":"integer","title":"","description":"Total number of open invoices."},"invoices_overdue":{"type":"integer","title":"","description":"Total number of overdue invoices."},"invoices_paid":{"type":"integer","title":"","description":"Total number of paid invoices."},"invoices_touched":{"type":"integer","title":"","description":"Total number of invoices touched by Stuut."},"invoices_touched_and_collected":{"type":"integer","title":"","description":"Total number of invoices touched and collected by Stuut."},"invoices_touched_and_collected_ratio":{"type":"number","title":"","description":"Ratio of invoices touched and collected by Stuut."},"avg_days_to_pay_from_due":{"type":"number","title":"","description":"Average days to payment from due date."},"avg_days_to_pay_from_issued":{"type":"number","title":"","description":"Average days to payment from issued date."}},"type":"object","required":["partner_id","partner_name","partner_account_number","period_start","period_end","balance","amount_overdue","amount_collected","amount_collected_stuut_touched","amount_collected_automated","amount_collected_other","amount_issued","amount_issued_stuut_touched","total_invoice_amount","amount_overdue_stuut_touched","amount_receivables","amount_receivables_stuut_touched","balance_stuut_touched","balance_for_period","balance_for_period_stuut_touched","balance_period_start","balance_period_start_stuut_touched","dso","dso_stuut_touched","invoices_collected","invoices_collected_stuut_touched","invoices_issued","invoices_open","invoices_overdue","invoices_paid","invoices_touched","invoices_touched_and_collected","invoices_touched_and_collected_ratio","avg_days_to_pay_from_due","avg_days_to_pay_from_issued"],"title":"CollectionsSummaryByCustomerLine"},"CollectionsSummaryByCustomerResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CollectionsSummaryByCustomerLineSchema"},"type":"array","title":""}},"type":"object","required":["data"],"title":"CollectionsSummaryByCustomerResponse"},"Commit":{"properties":{"id":{"type":"string","title":"","description":"Instrument id."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Display name, e.g. 'Signup credit'."},"type":{"type":"string","enum":["PREPAID","POSTPAID","CREDIT"],"title":"","description":"PREPAID = committed funds paid up front; POSTPAID = minimum commitment trued up at term end; CREDIT = free money (trial, promo).","x-speakeasy-enum-format":"union"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Freeform description, when set."},"applicable_products":{"anyOf":[{"items":{"$ref":"#/components/schemas/BillingProductKey"},"type":"array"},{"type":"null"}],"title":"","description":"Products this funding can pay for (a product-specific commit); null = the whole pooled wallet."},"amount":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Granted amount in dollars, as a summary — the access total for one-time grants, the PER-PERIOD amount for recurring ones."},"starting_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When access begins (summary)."},"ending_before":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When access ends (summary); null = open."},"recurring":{"type":"boolean","title":"","description":"True for recurring grants (amount is per period)."},"recurrence_frequency":{"anyOf":[{"type":"string","enum":["MONTHLY","QUARTERLY","ANNUAL","WEEKLY"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"","description":"Grant cadence; recurring instruments only."},"access_schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/CommitWindow"},"type":"array"},{"type":"null"}],"title":"","description":"Per-window access detail (an enterprise commit may unlock funds quarterly); null for recurring instruments, whose cadence is `recurrence_frequency`."},"invoice_schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChargeScheduleItem"},"type":"array"},{"type":"null"}],"title":"","description":"When the commit is BILLED and how much per occurrence. Null = free money (a credit, or a complimentary commit)."}},"type":"object","required":["id","name","type","description","applicable_products","amount","starting_at","ending_before","recurring","recurrence_frequency","access_schedule","invoice_schedule"],"title":"billing.Commit","description":"A one-time or recurring contract funding grant."},"CommitPool":{"properties":{"id":{"type":"string","title":"","description":"Instrument id — stable across refreshes."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Display label, e.g. 'Signup credit' or 'Dunning package'."},"type":{"type":"string","enum":["PREPAID","POSTPAID","CREDIT"],"title":"","description":"PREPAID = purchased top-up; POSTPAID = minimum commitment, never spendable; CREDIT = free money (trial, promo, allotment).","x-speakeasy-enum-format":"union"},"active":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Amount granted in the currently-active access window, in dollars — what `consumed` + `balance` measure against (a multi-window commit shows THIS window, not the lifetime total)."},"balance":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Remaining in dollars — never negative (Metronome clamps at 0; the overdraw lives on the draft invoice as `uncovered_total`)."},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When the active window's balance expires; null = perpetual."},"consumed":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Spent from the active window (active - balance), floored at 0.","readOnly":true}},"type":"object","required":["id","name","type","active","balance","expires_at","consumed"],"title":"billing.CommitPool","description":"One funding instrument with a currently active access window."},"CommitWindow":{"properties":{"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Amount unlocked in this window, in dollars."},"starting_at":{"type":"string","format":"date-time","title":"","description":"When these funds become spendable."},"ending_before":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When they expire; null = never."}},"type":"object","required":["amount","starting_at","ending_before"],"title":"billing.CommitWindow","description":"One access window of a commit/credit — funds unlocked for a time span."},"CompanyLocalCurrencies":{"patternProperties":{"^[A-Za-z0-9]{1,4}$":{"$ref":"#/components/schemas/Currency"}},"type":"object"},"CompleteStepRequest":{"properties":{"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Optional state data to merge into the step on completion (e.g. submitted values)."}},"type":"object","title":"CompleteStepRequest","description":"Request body for completing a step."},"CompositeAddress":{"properties":{"line1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"First line of the street address."},"line2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Second line of the street address (suite, unit, etc.)."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"City."},"country_subdivision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"State, province, or other country subdivision."},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Postal or ZIP code."},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Country."}},"type":"object","required":["line1","line2","city","country_subdivision","postal_code","country"],"title":"CompositeAddress","description":"A postal address stored inline on its owning row (e.g. a sales order's billing address)."},"ConflictErrorResponse":{"properties":{"type":{"type":"string","title":"Type"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail","description":"Human-readable description of this specific problem.","x-speakeasy-error-message":true},"status":{"type":"integer","const":409,"title":"Status"},"title":{"type":"string","title":"Title"}},"type":"object","required":["type","status","title"],"title":"APIError","description":"Response schema for 409 Conflict errors."},"ConsentCallbackRequest":{"properties":{"admin_consent":{"type":"boolean","title":"","description":"True if Microsoft returned admin_consent=True."},"tenant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Tenant GUID, if the provider redirect includes it. The tenant is already resolved and persisted at consent-url time, so the callback does not rely on it."},"state":{"type":"string","title":"","description":"The signed state token from the consent URL, echoed back."},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Scopes consented, space-delimited."},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"OAuth error code on failure."},"error_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["admin_consent","state"],"title":"ConsentCallbackRequest"},"ConsentUrlResponse":{"properties":{"url":{"type":"string","title":"","description":"Admin consent URL for the configured provider."}},"type":"object","required":["url"],"title":"ConsentUrlResponse"},"ConsolidatedInvoiceListSchema":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"number":{"type":"string","title":"","description":"Customer-facing display number for this consolidated invoice."},"remote_id":{"type":"string","title":"","description":"The ERP's own group-key value for this consolidated invoice."},"currency":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"","description":"The currency every member invoice shares, or null when the members span more than one currency — in which case the monetary fields below are also null."},"billing_partner":{"anyOf":[{"$ref":"#/components/schemas/PartnerSummary"},{"type":"null"}],"title":""},"member_invoice_count":{"type":"integer","title":""},"total_amount":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"``total_amount`` in standard decimal units, or None when ``currency`` is None\n(members span more than one currency, so a single sum would mix units)."},"amount_paid":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Sum of every member invoice's ``amount_paid``, in the group's currency's smallest unit."},"amount_remaining":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Sum of every member invoice's ``amount_remaining``."},"pending_amount_remaining":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Sum of every member invoice's ``pending_amount_remaining``."},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"The latest due date among member invoices."},"issued_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"The earliest issue date among member invoices."},"promised_to_pay_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"The latest promise-to-pay date among member invoices."},"pdf":{"$ref":"#/components/schemas/AttachmentSignedUrl","title":""},"pdf_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The one combined document the customer actually received, same shape as Invoice.pdf_id."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"virtual_status":{"$ref":"#/components/schemas/InvoiceVirtualStatus","title":"","description":"Derived from the aggregated amounts, since a consolidated invoice has no status of\nits own — its members can be independently OPEN, PAID, etc.","readOnly":true},"days_overdue":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","readOnly":true}},"type":"object","required":["created_at","modified_at","id","number","remote_id","currency","billing_partner","member_invoice_count","total_amount","amount_paid","amount_remaining","pending_amount_remaining","due_date","issued_at","promised_to_pay_date","pdf","pdf_id","object","virtual_status","days_overdue"],"title":"ConsolidatedInvoiceList","description":"One ERP-side group of invoices, shown as a single row. Monetary and date fields are\naggregated across every member invoice (see ``ConsolidatedInvoice`` for how)."},"Contact":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"email":{"anyOf":[{"$ref":"#/components/schemas/Email"},{"type":"null"}],"title":"","description":"The contact's email address."},"given_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"If an individual, the contact's given name."},"family_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"If an individual, the contact's family name."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The contact's name, if no given/family name."},"phone":{"anyOf":[{"type":"string","format":"phone","description":"A phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format"},{"type":"null"}],"title":"","description":"The contact's phone number."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","email","given_name","family_name","name","phone","object"],"title":"Contact","description":"Lightweight contact summary"},"ContactAddress":{"properties":{"line1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"First line of the street address."},"line2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Second line of the street address (suite, unit, etc.)."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"City."},"country_subdivision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"State, province, or other country subdivision."},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Postal or ZIP code."},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Country."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Recipient name."},"email":{"anyOf":[{"$ref":"#/components/schemas/Email"},{"type":"null"}],"title":"","description":"Recipient email address."},"phone":{"anyOf":[{"type":"string","format":"phone","description":"A phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format"},{"type":"null"}],"title":"","description":"Recipient phone number."}},"type":"object","required":["line1","line2","city","country_subdivision","postal_code","country","name","email","phone"],"title":"ContactAddress","description":"A composite address with recipient contact details (e.g. a sales order's shipping address)."},"ContactCompleteness":{"properties":{"has_primary_email":{"type":"boolean","title":"Has Primary Email"},"has_primary_phone":{"type":"boolean","title":"Has Primary Phone"},"is_email_disabled":{"type":"boolean","title":"Is Email Disabled"},"is_phone_disabled":{"type":"boolean","title":"Is Phone Disabled"},"is_sms_disabled":{"type":"boolean","title":"Is Sms Disabled"}},"type":"object","required":["has_primary_email","has_primary_phone","is_email_disabled","is_phone_disabled","is_sms_disabled"],"title":"ContactCompleteness","description":"Contact information completeness for partner table UI."},"ContactPayload":{"properties":{"custom_fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Source-specific values without a standard field."},"id":{"$ref":"#/components/schemas/Identifier","title":""},"customer_id":{"$ref":"#/components/schemas/Identifier","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"given_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"family_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"job_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","required":["id","customer_id"],"title":"ContactPayload","description":"Standard contact with an explicit stable ID and parent customer ID.\n\nUpdates preserve omitted optional fields; explicit nulls clear them.\nSupplied name components together replace the display name."},"ContactWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/ContactWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/ContactWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"customFields":{"$ref":"#/components/schemas/DynamicFields-Input","title":"Customfields"},"email":{"$ref":"#/components/schemas/StringComparator","title":"Email"},"familyName":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Familyname"},"givenName":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Givenname"},"isEmailDisabled":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isemaildisabled"},"isPhoneDisabled":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isphonedisabled"},"isSmsDisabled":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Issmsdisabled"},"isPrimary":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isprimary"},"isPrimaryEmail":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isprimaryemail"},"isPrimaryPhone":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isprimaryphone"},"name":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Name"},"phone":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Phone"},"jobTitle":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Jobtitle"},"internalRole":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_InternalContactType_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Internalrole"},"externalRole":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_ExternalContactType_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Externalrole"},"addressId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Addressid"},"partnerId":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Partnerid"},"remoteId":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Remoteid"}},"additionalProperties":false,"type":"object","title":"ContactWorkflowFilter"},"ContactWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/ContactWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/ContactWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"customFields":{"$ref":"#/components/schemas/DynamicFields-Output","title":"Customfields"},"email":{"$ref":"#/components/schemas/StringComparator","title":"Email"},"familyName":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Familyname"},"givenName":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Givenname"},"isEmailDisabled":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isemaildisabled"},"isPhoneDisabled":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isphonedisabled"},"isSmsDisabled":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Issmsdisabled"},"isPrimary":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isprimary"},"isPrimaryEmail":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isprimaryemail"},"isPrimaryPhone":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isprimaryphone"},"name":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Name"},"phone":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Phone"},"jobTitle":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Jobtitle"},"internalRole":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_InternalContactType_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Internalrole"},"externalRole":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_ExternalContactType_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Externalrole"},"addressId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Addressid"},"partnerId":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Partnerid"},"remoteId":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Remoteid"}},"additionalProperties":false,"type":"object","title":"ContactWorkflowFilter"},"ContextEntityInput":{"properties":{"type":{"$ref":"#/components/schemas/ContextEntityType","title":""},"id":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_-]+$","title":""}},"type":"object","required":["type","id"],"title":"ContextEntityInput","description":"One record the user has open or attached; the id is validated server-side."},"ContextEntityType":{"type":"string","enum":["customer","invoice","task"],"x-speakeasy-enum-format":"union"},"Contract":{"properties":{"starting_at":{"type":"string","format":"date-time","title":"","description":"Contract start."},"ending_before":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"Contract end; null = evergreen."},"net_payment_terms_days":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"","description":"NET payment terms; due dates for send-invoice collection."},"custom_fields":{"additionalProperties":{"type":"string"},"type":"object","title":"","description":"Freeform contract custom fields, verbatim from Metronome."},"products":{"items":{"$ref":"#/components/schemas/BilledProduct"},"type":"array","title":"","description":"Everything the contract charges for — usage products with effective rates AND scheduled/recurring fixed charges, one list (discriminated by `kind`)."},"commits":{"items":{"$ref":"#/components/schemas/Commit"},"type":"array","title":"","description":"Funding granted as DEAL TERMS, one array: one-time and recurring commits plus RECURRING credit definitions (discriminated by `type` + `recurring`). Excluded: purchases (top-ups, auto-reloads) and one-time credits — those are wallet state, rendered as summary pools."}},"type":"object","required":["starting_at","ending_before","net_payment_terms_days","custom_fields","products","commits"],"title":"billing.Contract","description":"The active contract's terms, products, charges, and funding."},"CortexChatContext":{"properties":{"entities":{"items":{"$ref":"#/components/schemas/CortexContextEntity"},"type":"array","title":""}},"type":"object","required":["entities"],"title":"CortexChatContext"},"CortexChatCreated":{"properties":{"id":{"type":"string","title":""}},"type":"object","required":["id"],"title":"CortexChatCreated"},"CortexChatSummary":{"properties":{"id":{"type":"string","title":""},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"createdAt":{"type":"string","format":"date-time","title":""},"updatedAt":{"type":"string","format":"date-time","title":""},"agentId":{"type":"string","title":""},"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","title","createdAt","updatedAt","agentId","ref"],"title":"CortexChatSummary"},"CortexContextEntity":{"properties":{"type":{"$ref":"#/components/schemas/ContextEntityType","title":""},"id":{"type":"string","title":""},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["type","id","displayName"],"title":"CortexContextEntity"},"CortexDataChartPart":{"properties":{"type":{"type":"string","const":"data-chart","title":"","default":"data-chart"},"data":{"additionalProperties":true,"type":"object","title":""}},"type":"object","required":["type","data"],"title":"CortexDataChartPart"},"CortexDataSuggestionsPart":{"properties":{"type":{"type":"string","const":"data-suggestions","title":"","default":"data-suggestions"},"data":{"additionalProperties":true,"type":"object","title":""}},"type":"object","required":["type","data"],"title":"CortexDataSuggestionsPart"},"CortexDataTablePart":{"properties":{"type":{"type":"string","const":"data-table","title":"","default":"data-table"},"data":{"additionalProperties":true,"type":"object","title":""}},"type":"object","required":["type","data"],"title":"CortexDataTablePart"},"CortexTableRowsPage":{"properties":{"columns":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":""},"rows":{"items":{"items":{},"type":"array"},"type":"array","title":""},"totalRows":{"type":"integer","title":""},"offset":{"type":"integer","title":""},"limit":{"type":"integer","title":""},"partOrder":{"type":"integer","title":""},"sql":{"type":"string","title":"","default":""},"caption":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["columns","rows","totalRows","offset","limit","partOrder","sql","caption"],"title":"CortexTableRowsPage","description":"One page of rows for a truncated Ask Stuut data-table part."},"CortexUIMessage":{"properties":{"id":{"type":"string","title":""},"role":{"type":"string","enum":["user","assistant","system"],"title":"","x-speakeasy-enum-format":"union"},"parts":{"items":{"oneOf":[{"$ref":"#/components/schemas/TextPart"},{"$ref":"#/components/schemas/ReasoningPart"},{"$ref":"#/components/schemas/ToolInvocationPart"},{"$ref":"#/components/schemas/FilePart"},{"$ref":"#/components/schemas/SourceUrlPart"},{"$ref":"#/components/schemas/CortexDataTablePart"},{"$ref":"#/components/schemas/CortexDataChartPart"},{"$ref":"#/components/schemas/CortexDataSuggestionsPart"}],"discriminator":{"propertyName":"type","mapping":{"data-chart":"#/components/schemas/CortexDataChartPart","data-suggestions":"#/components/schemas/CortexDataSuggestionsPart","data-table":"#/components/schemas/CortexDataTablePart","file":"#/components/schemas/FilePart","reasoning":"#/components/schemas/ReasoningPart","source-url":"#/components/schemas/SourceUrlPart","text":"#/components/schemas/TextPart","tool-invocation":"#/components/schemas/ToolInvocationPart"}}},"type":"array","title":""},"createdAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"context":{"anyOf":[{"$ref":"#/components/schemas/CortexChatContext"},{"type":"null"}],"title":""},"feedback":{"anyOf":[{"type":"string","enum":["positive","negative"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":""},"feedbackMessage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","role","parts","createdAt","context","feedback","feedbackMessage"],"title":"CortexUIMessage"},"CountPartnersInput":{"properties":{"clause":{"$ref":"#/components/schemas/CustomerSegmentFilter-Input","title":""}},"additionalProperties":false,"type":"object","required":["clause"],"title":"CountPartnersInput"},"CounterpartyInfo":{"properties":{"display":{"type":"string","title":"","description":"Display name for the counterparty"},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Partner ID if single partner identified"},"partner_count":{"type":"integer","minimum":0.0,"title":"","description":"Number of distinct partners from payments","default":0}},"type":"object","required":["display","id","partner_count"],"title":"CounterpartyInfo","description":"Counterparty information aggregated from transaction and payments."},"CountryOperators":{"properties":{"in":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Include countries"},"nin":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Exclude countries"}},"additionalProperties":false,"type":"object","title":"CountryOperators"},"CreateAPIKeyRequest":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"pattern":"\\S","title":""},"user_id":{"type":"string","minLength":1,"title":""},"scopes":{"items":{"$ref":"#/components/schemas/APIKeyScope"},"type":"array","minItems":1,"title":""}},"type":"object","required":["name","user_id","scopes"],"title":"CreateAPIKeyRequest"},"CreateAPIKeyResponse":{"properties":{"key":{"$ref":"#/components/schemas/APIKeyResponse","title":""},"secret":{"type":"string","format":"password","title":"","writeOnly":true}},"type":"object","required":["key","secret"],"title":"CreateAPIKeyResponse"},"CreateAdjustmentRequest":{"properties":{"name":{"type":"string","maxLength":255,"title":"","description":"The name of this adjustment type, e.g. 'Stripe Processing Fee'"},"ledger_account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional ledger account for accounting integration. When set, this adjustment's allocations will be posted to this ledger account."},"automated":{"type":"boolean","title":"","description":"Whether this adjustment is automatically applied during payment processing","default":false},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional description for this adjustment type"}},"type":"object","required":["name"],"title":"CreateAdjustmentRequest","description":"Request body for creating an adjustment."},"CreateBankAccountInput":{"properties":{"account_number":{"type":"string","title":"","description":"The bank account number. Max length -- AU & CA: 20 characters, US, UK & IN: 7 characters"},"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"The ISO-4217 currency code of the account."},"ledger_account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the G/L account associated with this bank account. The G/L account must be an `Asset` account."},"name":{"type":"string","title":"","description":"The name of the account. If not assigned by the user, defaults to the name given by the financial institution itself"},"routing_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The bank's routing number."},"timezone":{"anyOf":[{"$ref":"#/components/schemas/Timezone"},{"type":"null"}],"title":"","description":"The timezone of the account."},"type":{"$ref":"#/components/schemas/BankAccountType","title":"","description":"The type of bank account."}},"type":"object","required":["account_number","currency","name","type"],"title":"CreateBankAccountInput"},"CreateBusinessUnitRequest":{"properties":{"name":{"type":"string","minLength":1,"title":"","description":"The name of the business unit."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional description of the business unit."},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Customer-facing name for outbound content; null uses the org name."},"compliance":{"anyOf":[{"$ref":"#/components/schemas/SecondaryProfileCompliance-Input"},{"type":"null"}],"title":"","description":"Provide to provision the unit's own Twilio Secondary Profile."}},"type":"object","required":["name"],"title":"CreateBusinessUnitRequest","description":"Request body for creating a business unit.\n\nPass `compliance` to make the unit a separate legal entity — it creates a Twilio Secondary\nCustomer Profile asynchronously and links it. Omit it for a plain unit that shares the org identity."},"CreateCallAgentScenarioSchema":{"properties":{"response":{"type":"string","title":"","description":"What the agent should say in response to the scenario."},"scenario":{"type":"string","title":"","description":"An example scenario of what the end user would say."}},"additionalProperties":false,"type":"object","required":["response","scenario"],"title":"CreateCallAgentScenario"},"CreateCustomFieldInput":{"properties":{"object_type":{"type":"string","enum":["consolidated_invoice","contact","credit_memo","dispute","invoice","partner","payment","remittance"],"title":"","x-speakeasy-enum-format":"union"},"title":{"type":"string","maxLength":200,"minLength":1,"title":""},"type":{"type":"string","enum":["array","boolean","date","datetime","decimal","integer","number","object","string","time"],"title":"","x-speakeasy-enum-format":"union"},"options":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","required":["object_type","title","type"],"title":"CreateCustomFieldInput"},"CreateCustomTableTemplateRequest":{"properties":{"name":{"type":"string","maxLength":256,"title":""},"entity_type":{"type":"string","maxLength":64,"title":""},"columns":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array","minItems":1,"title":""},"include_totals":{"type":"boolean","title":"","default":false},"aging_summary_position":{"$ref":"#/components/schemas/AgingSummaryPosition","title":"","default":"hidden"},"include_unapplied_payments":{"type":"boolean","title":"","default":false}},"type":"object","required":["name","entity_type","columns"],"title":"CreateCustomTableTemplateRequest"},"CreateCustomerSegmentInput":{"properties":{"name":{"type":"string","maxLength":128,"minLength":1,"title":"","description":"The name of the segment (case-insensitive unique per org)."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional description of what this segment represents."},"priority":{"type":"integer","minimum":0.0,"title":"","description":"Lower number = higher priority for conflict resolution when partner matches multiple segments."},"conditions":{"anyOf":[{"$ref":"#/components/schemas/SegmentConditionsInput"},{"type":"null"}],"title":"","description":"Rules that determine which partners belong to this segment."}},"type":"object","required":["name","priority"],"title":"CreateCustomerSegmentInput"},"CreateDunningStateInput":{"properties":{"name":{"type":"string","minLength":1,"title":""},"description":{"type":"string","minLength":1,"title":""},"action":{"$ref":"#/components/schemas/DunningStateAction","title":""}},"additionalProperties":false,"type":"object","required":["name","description","action"],"title":"CreateDunningStateInput"},"CreateExportResponse":{"properties":{"export":{"$ref":"#/components/schemas/ExportResponse","title":""},"was_existing":{"type":"boolean","title":"","description":"True if an existing pending export was returned instead of creating new","default":false}},"type":"object","required":["export","was_existing"],"title":"CreateExportResponse","description":"Response from creating or deduplicating an export."},"CreateExtractionInput":{"properties":{"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"collection":{"anyOf":[{"type":"string","enum":["cash_application","collections","company","credit_risk","deductions","disputes","payments"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":""},"file_id":{"type":"string","title":""}},"type":"object","required":["file_id"],"title":"CreateExtractionInput"},"CreateFileBody":{"properties":{"name":{"type":"string","title":"Name"},"mime_type":{"type":"string","title":"Mime Type","default":"application/octet-stream"}},"type":"object","required":["name"],"title":"CreateFileBody"},"CreateInternalContactRequest":{"properties":{"email":{"type":"string","minLength":1,"title":"","description":"The internal contact's email address."},"internal_role":{"$ref":"#/components/schemas/InternalContactType","title":""},"given_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The internal contact's given name."},"family_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The internal contact's family name."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The internal contact's full name, if no given/family name."},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The internal contact's phone number."},"job_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The internal contact's job title."}},"type":"object","required":["email","internal_role"],"title":"CreateInternalContactRequest","description":"Request body for creating an internal contact and recording their role."},"CreateKnowledgeInput":{"properties":{"content":{"type":"string","title":"","description":"Full article content"},"customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Customer this article is scoped to"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"What this article covers"},"collection":{"anyOf":[{"type":"string","enum":["cash_application","collections","company","credit_risk","deductions","disputes","payments"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"","description":"Playbook collection"},"knowledge_type":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeType"},{"type":"null"}],"title":"","description":"Declarative or procedural"},"segment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Segment this article is scoped to"},"title":{"type":"string","title":"","description":"Article title"}},"type":"object","required":["content","title"],"title":"CreateKnowledgeInput"},"CreateLoginRequest":{"properties":{"provider":{"$ref":"#/components/schemas/APPortalProvider","title":""},"username":{"type":"string","title":""},"password":{"type":"string","title":""},"header_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional header token for API authentication (e.g. x-bot-token for Walmart)."},"totp_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Base32 TOTP seed for authenticator-app MFA; the sweep mints the one-time code at login. Write-only."},"scope":{"items":{"$ref":"#/components/schemas/APPortalScope"},"type":"array","title":"","description":"Non-empty list of document kinds to sweep. Defaults to INVOICES + ORDERS for all providers; omit INVOICES for orders-only logins."},"login_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The login's own sign-in page when it differs from the provider's default, such as https://go.servicetitan.com/ for a ServiceTitan user outside Enterprise Hub."}},"type":"object","required":["provider","username","password"],"title":"CreateLoginRequest","description":"Create an AP-portal login: the credentials for one buyer-portal account. Mirrors the v1\n``POST /ap-portal-accounts``. Credentials are encrypted at rest and never returned."},"CreateNoteRequest":{"properties":{"content":{"type":"string","title":""},"partner":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Partner ID."},"dispute":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Dispute ID."},"invoice":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Invoice ID."},"credit_memo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Credit memo ID."}},"type":"object","required":["content"],"title":"CreateNoteRequest","description":"Request body for creating a note."},"CreatePaymentPlanRequest":{"properties":{"partner_id":{"type":"string","title":""},"plan":{"oneOf":[{"$ref":"#/components/schemas/StructuredPlanInput"},{"$ref":"#/components/schemas/CustomPlanInput"}],"title":"","discriminator":{"propertyName":"mode","mapping":{"custom":"#/components/schemas/CustomPlanInput","structured":"#/components/schemas/StructuredPlanInput"}}},"reminder_days_before":{"type":"integer","minimum":0.0,"title":"","default":3},"overdue_alert_days":{"type":"integer","minimum":0.0,"title":"","default":3},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"draft":{"type":"boolean","title":"","default":false}},"type":"object","required":["partner_id","plan"],"title":"CreatePaymentPlanRequest"},"CreatePlanInput":{"properties":{"prompt":{"type":"string","title":""}},"type":"object","required":["prompt"],"title":"CreatePlanInput"},"CreatePronunciationRequest":{"properties":{"grapheme":{"type":"string","maxLength":64,"minLength":2,"title":"","description":"The term as written/spelled (e.g. a company or person name) that the agent should respell."},"phoneme":{"type":"string","maxLength":256,"minLength":1,"title":"","description":"The spoken form fed to TTS in place of the grapheme (e.g. 'shloom-ber-zhay')."}},"type":"object","required":["grapheme","phoneme"],"title":"CreatePronunciationRequest","description":"Request body for creating a pronunciation."},"CreateReportConfigRequest":{"properties":{"report_type":{"$ref":"#/components/schemas/ReportType","title":"","description":"Discriminator for report type"},"frequency":{"$ref":"#/components/schemas/ReportFrequency","title":"","description":"How often to send the report (DAILY, WEEKLY, MONTHLY)"},"format":{"$ref":"#/components/schemas/ReportFormat","title":"","description":"Output file format for tabular reports (CSV or XLSX). Ignored by the sync report, which is always an HTML email.","default":"csv"},"time":{"type":"string","format":"time","title":"","description":"Time of day (HH:MM) in org timezone. Minutes must be 0 or 30.","default":"08:00:00"},"weekday":{"type":"integer","maximum":6.0,"minimum":0.0,"title":"","description":"Day of the week (0=Monday, 6=Sunday). Only used by WEEKLY frequency.","default":4},"recipient_emails":{"items":{"type":"string"},"type":"array","title":"","description":"Primary recipient email addresses"},"cc_emails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Optional CC email addresses (e.g., FDE team on failures)"},"is_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"notify_on_issues_only":{"type":"boolean","title":"","description":"If true, suppress the routine success email and only send when the sync had a failure or an expected entity synced zero records in the window. Only applies to INTEGRATION_SYNC_REPORT.","default":false}},"type":"object","required":["report_type","frequency"],"title":"CreateReportConfigRequest","description":"Request body for creating a report config."},"CreateRoleRequest":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":""},"permissions":{"items":{"type":"string"},"type":"array","title":""},"data_visibility_scope":{"$ref":"#/components/schemas/RoleVisibilityScope","title":"","default":"business_units"},"work_visibility_scope":{"$ref":"#/components/schemas/RoleVisibilityScope","title":"","default":"assigned_only"}},"type":"object","required":["name","permissions"],"title":"CreateRoleRequest"},"CreateSMSCampaignRegistrationRequest":{"properties":{"sample_messages":{"items":{"type":"string"},"type":"array","minItems":1,"title":"","description":"Sample SMS messages for the campaign"},"consent_description":{"type":"string","title":"","description":"How end-users consent to receiving messages"},"proof_attachment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Attachment ID for uploaded consent proof"},"proof_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"External URL to consent proof"},"privacy_policy_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"URL to the customer's privacy policy"},"terms_and_conditions_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"URL to the customer's terms and conditions"},"has_confirmed_consent":{"type":"boolean","title":"","description":"Whether consent was obtained from all recipients"}},"type":"object","required":["sample_messages","consent_description","has_confirmed_consent"],"title":"CreateSMSCampaignRegistrationRequest","description":"Request body for submitting an A2P SMS campaign registration."},"CreateSMSOptions":{"properties":{"use_llm":{"type":"boolean","title":"","description":"Generate SMS body using LLM","default":false},"include_payment_url":{"type":"boolean","title":"","description":"Include payment URL in generated body","default":false}},"type":"object","title":"CreateSMSOptions","description":"Options for SMS draft creation."},"CreateSMSRequest":{"properties":{"invoices":{"items":{"type":"string"},"type":"array","title":"","description":"Invoice IDs to link to the SMS; may be empty with a manual body"},"partner_id":{"type":"string","title":"","description":"Partner ID to send the SMS to"},"sms_template_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SMS template ID to render"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Manual SMS body text"},"options":{"$ref":"#/components/schemas/CreateSMSOptions","title":""}},"type":"object","required":["invoices","partner_id"],"title":"CreateSMSRequest","description":"Request body for creating an SMS draft.\n\nExactly one body source must be provided: `body`, `sms_template_id`, or `options.use_llm`.\nGenerated bodies (`sms_template_id`, `options.use_llm`) are built from invoices, so they need at\nleast one; a manual `body` may be sent with none (e.g. a free-form reply in an existing conversation)."},"CreateSMSTemplateRequest":{"properties":{"name":{"type":"string","maxLength":128,"title":"","description":"The name of the SMS template."},"body":{"type":"string","maxLength":1600,"title":"","description":"The message template body with Jinja2 variables. Plain text only."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Description of when/how to use this template."},"is_default":{"type":"boolean","title":"","description":"Whether this is the default SMS template.","default":false}},"type":"object","required":["name","body"],"title":"CreateSMSTemplateRequest","description":"Request body for creating an SMS template."},"CreateSSOTicketRequest":{"properties":{"connection_name":{"type":"string","minLength":3,"title":"","description":"Name for the enterprise SSO connection"}},"type":"object","required":["connection_name"],"title":"CreateSSOTicketRequest","description":"Request body for generating a self-service SSO setup ticket."},"CreateSalesOrderCaseNoteRequest":{"properties":{"text":{"type":"string","minLength":1,"title":""}},"type":"object","required":["text"],"title":"CreateSalesOrderCaseNoteRequest"},"CreateSegmentInput":{"properties":{"name":{"type":"string","maxLength":128,"minLength":1,"title":"","description":"The name of the segment (case-insensitive unique per org)."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional description of what this segment represents."},"priority":{"type":"integer","minimum":0.0,"title":"","description":"Lower number = higher priority for conflict resolution when partner matches multiple segments."},"clause":{"anyOf":[{"$ref":"#/components/schemas/CustomerSegmentFilter-Input","title":""},{"type":"null"}],"title":"","description":"Typed FQL filter document that determines segment membership."}},"additionalProperties":false,"type":"object","required":["name","priority"],"title":"CreateSegmentInput"},"CreateSharedMailboxRequest":{"properties":{"email":{"type":"string","format":"email","title":"","description":"The account's email."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Email owner's name."},"is_centralized_inbox":{"type":"boolean","title":"","description":"Whether this sender is a centralized inbox that accepts net-new inbound emails for routing","default":false}},"type":"object","required":["email"],"title":"CreateSharedMailboxRequest","description":"Create an application-permission shared mailbox.\n\nMints a Nylas grant via /v3/connect/custom using the org's configured\nMicrosoft credential. Requires admin consent to be in place."},"CreateSsoTicketRequest":{"properties":{"connection_name":{"type":"string","minLength":3,"title":"","description":"Name for the enterprise SSO connection"}},"type":"object","required":["connection_name"],"title":"CreateSsoTicketRequest","description":"Request body for generating a self-service SSO setup ticket."},"CreateStatementScheduleRequest":{"properties":{"frequency":{"$ref":"#/components/schemas/StatementFrequency","title":""},"day_of_week":{"anyOf":[{"type":"integer","maximum":6.0,"minimum":0.0},{"type":"null"}],"title":""},"day_of_month":{"anyOf":[{"type":"integer","maximum":31.0,"minimum":1.0},{"type":"null"}],"title":""},"week_of_month":{"anyOf":[{"type":"integer","maximum":5.0,"minimum":1.0},{"type":"null"}],"title":""},"email_template":{"type":"string","title":"","description":"Email template ID"},"auto_send":{"type":"boolean","title":"","default":true},"attach_xls":{"type":"boolean","title":"","default":false},"include_credit_memos":{"type":"boolean","title":"","default":true},"include_disputed_items":{"type":"boolean","title":"","default":false},"cc":{"items":{"type":"string"},"type":"array","title":""},"bcc":{"items":{"type":"string"},"type":"array","title":""},"cc_secondary_contacts":{"type":"boolean","title":"","default":false},"external_roles_to_cc":{"items":{"$ref":"#/components/schemas/ExternalContactType"},"type":"array","title":""},"internal_roles_to_cc":{"items":{"$ref":"#/components/schemas/InternalContactType"},"type":"array","title":""}},"type":"object","required":["frequency","email_template"],"title":"CreateStatementScheduleRequest"},"CreateTagRequest":{"properties":{"name":{"type":"string","title":""},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Hex color code, e.g. #2f85db."}},"type":"object","required":["name"],"title":"CreateTagRequest"},"CreateUserOOORequest":{"properties":{"backup_user_id":{"type":"string","title":"","description":"The user covering this OOO."},"start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"Defaults to today."},"end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"Planned last day of coverage."}},"type":"object","required":["backup_user_id"],"title":"CreateUserOOORequest"},"CreditMemoSearchResult":{"properties":{"credit_memo":{"$ref":"#/components/schemas/CreditMemoSummary","title":""},"score":{"type":"number","title":"","description":"Relevance score (0.0-1.0)"},"match_type":{"anyOf":[{"type":"string","enum":["exact","fuzzy"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"","description":"Whether match was exact or fuzzy. None when browsing without a query."},"matched_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Field that matched (e.g., 'credit_memo.number', 'partner.name')"},"matched_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The query value that matched"}},"type":"object","required":["credit_memo","score","match_type","matched_field","matched_value"],"title":"CreditMemoSearchResult","description":"Search result containing credit memo summary and match metadata."},"CreditMemoStatus":{"type":"string","enum":["draft","open","paid","void"],"title":"CreditMemoStatus"},"CreditMemoSummary":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Human readable unique number identifying this credit memo"},"status":{"$ref":"#/components/schemas/CreditMemoStatus","title":""},"currency":{"$ref":"#/components/schemas/Currency","title":""},"net_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"applied_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"remaining_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The total unapplied amount on the credit memo."},"pending_remaining_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The remaining amount minus approved allocations that are not yet posted.\n\nPlain property (not hybrid/SQL-queryable) because it requires\nconverting pending_allocations_amount from int (smallest units) to\nDecimal (standard units) — a currency-aware operation that needs\nPython-side conversion.\n\nUses addition because credit memo allocation amounts are negative\n(they represent credits being applied), so adding them reduces the\nremaining balance."},"posted_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"The date the credit memo was posted."},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"The date the credit memo is due. Note: this is only useful for Business Central where credit memo's should be applied by the due date."},"paid_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"The date the credit memo was paid."},"document_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Counterparty document number, e.g. External Document No in BC."},"customer_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Reference in customer's system, typically used for PO numbers, e.g. Your Reference in BC"},"allowance_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Typically used for trade/promo deal numbers, e.g. Trade Allowance No in BC"},"partner":{"anyOf":[{"$ref":"#/components/schemas/PartnerSummary"},{"type":"null"}],"title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","number","status","currency","net_amount","applied_amount","remaining_amount","pending_remaining_amount","posted_date","due_date","paid_at","document_number","customer_reference","allowance_reference","partner","object"],"title":"CreditMemoSummary","description":"Credit memo summary for search results."},"CreditMemoWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/CreditMemoWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/CreditMemoWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"customFields":{"$ref":"#/components/schemas/DynamicFields-Input","title":"Customfields"},"status":{"$ref":"#/components/schemas/EqualityComparator_CreditMemoStatus_","title":"Status"},"remainingAmount":{"$ref":"#/components/schemas/_OrderedComparator_Decimal_-Input","title":"Remainingamount","description":"Remaining amount in the credit memo currency's major units."},"postedDate":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Posteddate"}},"additionalProperties":false,"type":"object","title":"CreditMemoWorkflowFilter","description":"Typed credit-memo fields used to scope account statement contents."},"CreditMemoWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/CreditMemoWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/CreditMemoWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"customFields":{"$ref":"#/components/schemas/DynamicFields-Output","title":"Customfields"},"status":{"$ref":"#/components/schemas/EqualityComparator_CreditMemoStatus_","title":"Status"},"remainingAmount":{"$ref":"#/components/schemas/_OrderedComparator_Decimal_-Output","title":"Remainingamount","description":"Remaining amount in the credit memo currency's major units."},"postedDate":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Posteddate"}},"additionalProperties":false,"type":"object","title":"CreditMemoWorkflowFilter","description":"Typed credit-memo fields used to scope account statement contents."},"CreditPurchaseEvent":{"properties":{"status":{"type":"string","enum":["pending","action_required","paid","failed"],"title":"","description":"Purchase state; `paid`/`failed` are terminal.","x-speakeasy-enum-format":"union"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Stripe client secret for the 3DS challenge — present only on `action_required`; run it through Stripe.js handleNextAction."},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The billing provider's failure reason — present only on `failed`."}},"type":"object","required":["status","client_secret","error"],"title":"billing.CreditPurchaseEvent","description":"One credit-purchase status event."},"CreditPurchaseStream":{"properties":{"data":{"$ref":"#/components/schemas/CreditPurchaseEvent","title":""}},"type":"object","required":["data"],"title":"billing.CreditPurchaseStream","description":"The SSE envelope for credit-purchase status."},"Currency":{"type":"string","enum":["ADP","AED","AFA","AFN","ALK","ALL","AMD","ANG","AOA","AOK","AON","AOR","ARA","ARL","ARM","ARP","ARS","ATS","AUD","AWG","AZM","AZN","BAD","BAM","BAN","BBD","BDT","BEC","BEF","BEL","BGL","BGM","BGN","BGO","BHD","BIF","BMD","BND","BOB","BOL","BOP","BOV","BRB","BRC","BRE","BRL","BRN","BRR","BRZ","BSD","BTN","BUK","BWP","BYB","BYN","BYR","BZD","CAD","CDF","CHE","CHF","CHW","CLE","CLF","CLP","CNH","CNX","CNY","COP","COU","CRC","CSD","CSK","CUC","CUP","CVE","CYP","CZK","DDM","DEM","DJF","DKK","DOP","DZD","ECS","ECV","EEK","EGP","ERN","ESA","ESB","ESP","ETB","EUR","FIM","FJD","FKP","FRF","GBP","GEK","GEL","GHC","GHS","GIP","GMD","GNF","GNS","GQE","GRD","GTQ","GWE","GWP","GYD","HKD","HNL","HRD","HRK","HTG","HUF","IDR","IEP","ILP","ILR","ILS","INR","IQD","IRR","ISJ","ISK","ITL","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRH","KRO","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LTL","LTT","LUC","LUF","LUL","LVL","LVR","LYD","MAD","MAF","MCF","MDC","MDL","MGA","MGF","MKD","MKN","MLF","MMK","MNT","MOP","MRO","MRU","MTL","MTP","MUR","MVP","MVR","MWK","MXN","MXP","MXV","MYR","MZE","MZM","MZN","NAD","NGN","NIC","NIO","NLG","NOK","NPR","NZD","OMR","PAB","PEI","PEN","PES","PGK","PHP","PKR","PLN","PLZ","PTE","PYG","QAR","RHD","ROL","RON","RSD","RUB","RUR","RWF","SAR","SBD","SCR","SDD","SDG","SDP","SEK","SGD","SHP","SIT","SKK","SLE","SLL","SOS","SRD","SRG","SSP","STD","STN","SUR","SVC","SYP","SZL","THB","TJR","TJS","TMM","TMT","TND","TOP","TPE","TRL","TRY","TTD","TWD","TZS","UAH","UAK","UGS","UGX","USD","USN","USS","UYI","UYP","UYU","UYW","UZS","VEB","VED","VEF","VES","VND","VNN","VUV","WST","XAF","XAG","XAU","XBA","XBB","XBC","XBD","XCD","XCG","XDR","XEU","XFO","XFU","XOF","XPD","XPF","XPT","XRE","XSU","XTS","XUA","XXX","YDD","YER","YUD","YUM","YUN","YUR","ZAL","ZAR","ZMK","ZMW","ZRN","ZRZ","ZWD","ZWL","ZWR"],"description":"The 3 character [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.","x-speakeasy-enum-format":"union"},"CurrencyBalance":{"properties":{"invoice_balance":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"total_overdue":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"credit_balance":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"unapplied_balance":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"account_balance":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","readOnly":true}},"type":"object","required":["invoice_balance","total_overdue","credit_balance","unapplied_balance","account_balance"],"title":"CurrencyBalance"},"CustomFieldOperators":{"properties":{"eq":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}],"title":""},"ne":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}],"title":""},"in":{"anyOf":[{"items":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"}]},"type":"array"},{"type":"null"}],"title":""},"nin":{"anyOf":[{"items":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"}]},"type":"array"},{"type":"null"}],"title":""},"gt":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"null"}],"title":""},"gte":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"null"}],"title":""},"lt":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"null"}],"title":""},"lte":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","title":"CustomFieldOperators","description":"Only one operator allowed per field."},"CustomFieldSchema":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"key":{"type":"string","title":"","description":"The unique key for this field."},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The human readable name for this field."},"object_type":{"type":"string","enum":["consolidated_invoice","contact","credit_memo","dispute","invoice","partner","payment","remittance"],"title":"","x-speakeasy-enum-format":"union"},"type":{"anyOf":[{"type":"string","enum":["array","boolean","date","datetime","decimal","integer","number","object","string","time"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"","description":"The data type for this field."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"A description of this field."},"is_editable":{"type":"boolean","title":""},"options":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"The closed set of values this field accepts, or NULL when any value of `type` is allowed. Enforced when a value is set through the API; integration syncs write mapped values directly and are not constrained by it."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","key","title","object_type","type","description","is_editable","options","object"],"title":"CustomField"},"CustomFieldSource":{"type":"string","enum":["invoice","partner"],"title":"CustomFieldSource","description":"Whose custom fields a header field reads."},"CustomInstallmentRow":{"properties":{"due_date":{"type":"string","format":"date","title":""},"amount":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":""}},"type":"object","required":["due_date","amount"],"title":"CustomInstallmentRow"},"CustomPlanInput":{"properties":{"mode":{"type":"string","const":"custom","title":"","default":"custom"},"installments":{"items":{"$ref":"#/components/schemas/CustomInstallmentRow"},"type":"array","minItems":1,"title":""}},"type":"object","required":["installments"],"title":"CustomPlanInput","description":"Custom-mode plan: explicit (due_date, amount) rows; total is their sum, frequency CUSTOM."},"CustomTableTemplateSchema":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"name":{"type":"string","title":"","description":"User-facing display name for this table template."},"entity_type":{"type":"string","title":"","description":"Which data list to iterate, e.g. 'overdue_invoices', 'open_invoices'."},"columns":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array","title":"","description":"Ordered array of {key, header} dicts defining the table columns."},"include_totals":{"type":"boolean","title":"","description":"Whether to append a totals row summing amount/balance columns."},"aging_summary_position":{"$ref":"#/components/schemas/AgingSummaryPosition","title":"","description":"Where the aging summary row (Current, 1-30, 31-60, 61-90, 90+) renders: above, below, or not at all."},"include_unapplied_payments":{"type":"boolean","title":"","description":"Whether to include unapplied payment rows alongside invoices and credit memos."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","entity_type","columns","include_totals","aging_summary_position","include_unapplied_payments","object"],"title":"CustomTableTemplate"},"CustomerNameComparator":{"properties":{"eq":{"type":"string","title":"Eq"},"neq":{"type":"string","title":"Neq"},"in":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"},"contains":{"type":"string","title":"Contains"},"not_contains":{"type":"string","title":"Not Contains"},"starts_with":{"type":"string","title":"Starts With"},"not_starts_with":{"type":"string","title":"Not Starts With"},"ends_with":{"type":"string","title":"Ends With"},"not_ends_with":{"type":"string","title":"Not Ends With"},"case":{"$ref":"#/components/schemas/StringCase","default":"insensitive"}},"additionalProperties":false,"type":"object","title":"CustomerNameComparator"},"CustomerPayload":{"properties":{"custom_fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Source-specific values without a standard field."},"id":{"$ref":"#/components/schemas/Identifier","title":""},"name":{"type":"string","title":""},"legal_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"account_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"parent_id":{"anyOf":[{"$ref":"#/components/schemas/Identifier"},{"type":"null"}],"title":""},"is_active":{"type":"boolean","title":"","default":true},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"billing_address":{"anyOf":[{"$ref":"#/components/schemas/_BillingAddress"},{"type":"null"}],"title":""},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"tax_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"created_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"modified_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"assignee_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","required":["id","name"],"title":"CustomerPayload","description":"Standard customer; additional source fields must be nested in custom_fields."},"CustomerSegment":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"name":{"type":"string","title":"","description":"The name of the segment (case-insensitive unique per org)."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional description of what this segment represents."},"priority":{"type":"integer","title":"","description":"Lower number = higher priority for conflict resolution when partner matches multiple segments."},"conditions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Rules that determine which partners belong to this segment."},"partner_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Cached number of partners matching this segment."},"partner_count_refreshed_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When partner_count was last recomputed."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","description","priority","conditions","partner_count","partner_count_refreshed_at","object"],"title":"CustomerSegment"},"CustomerSegmentFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/CustomerSegmentFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/CustomerSegmentFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"name":{"anyOf":[{"$ref":"#/components/schemas/CustomerNameComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Name","description":"The customer's current name, or whether a name is set. Matching ignores capitalization unless case is sensitive."},"remoteId":{"$ref":"#/components/schemas/StringComparator","title":"Remoteid","description":"The customer's external ID in the source system."},"accountNumber":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Accountnumber","description":"The customer's current account number, or whether one is set."},"address":{"$ref":"#/components/schemas/AddressFilter-Input","title":"Address","description":"The customer's billing address, or whether a billing address exists."},"assigneeId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Assigneeid","description":"The ID of the user assigned to the customer, or whether one is assigned."},"businessUnitId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Businessunitid","description":"The ID of the business unit assigned to the customer, or whether one is assigned."},"currency":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Currency_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Currency","description":"The customer's default ISO 4217 currency code, or whether one is set."},"description":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Description","description":"A description or classification of the customer."},"language":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_PartnerLanguageCode_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Language","description":"The customer's preferred BCP-47 language code (e.g. 'de-DE', 'nl-NL'), 'multi' for no single preference, or whether one is set. Drives voice-call language and email translation."},"customFields":{"$ref":"#/components/schemas/DynamicFields-Input","title":"Customfields","description":"Tenant-defined customer fields, keyed by their exact custom-field keys."},"stats":{"$ref":"#/components/schemas/PartnerStatsFilter-Input","title":"Stats","description":"The customer's aggregate invoice statistics, or whether statistics exist."},"dunningState":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Dunningstate","description":"The ID of the customer's dunning state, or whether one is assigned."}},"additionalProperties":false,"type":"object","title":"CustomerSegmentFilter"},"CustomerSegmentFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/CustomerSegmentFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/CustomerSegmentFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"name":{"anyOf":[{"$ref":"#/components/schemas/CustomerNameComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Name","description":"The customer's current name, or whether a name is set. Matching ignores capitalization unless case is sensitive."},"remoteId":{"$ref":"#/components/schemas/StringComparator","title":"Remoteid","description":"The customer's external ID in the source system."},"accountNumber":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Accountnumber","description":"The customer's current account number, or whether one is set."},"address":{"$ref":"#/components/schemas/AddressFilter-Output","title":"Address","description":"The customer's billing address, or whether a billing address exists."},"assigneeId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Assigneeid","description":"The ID of the user assigned to the customer, or whether one is assigned."},"businessUnitId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Businessunitid","description":"The ID of the business unit assigned to the customer, or whether one is assigned."},"currency":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Currency_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Currency","description":"The customer's default ISO 4217 currency code, or whether one is set."},"description":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Description","description":"A description or classification of the customer."},"language":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_PartnerLanguageCode_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Language","description":"The customer's preferred BCP-47 language code (e.g. 'de-DE', 'nl-NL'), 'multi' for no single preference, or whether one is set. Drives voice-call language and email translation."},"customFields":{"$ref":"#/components/schemas/DynamicFields-Output","title":"Customfields","description":"Tenant-defined customer fields, keyed by their exact custom-field keys."},"stats":{"$ref":"#/components/schemas/PartnerStatsFilter-Output","title":"Stats","description":"The customer's aggregate invoice statistics, or whether statistics exist."},"dunningState":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Dunningstate","description":"The ID of the customer's dunning state, or whether one is assigned."}},"additionalProperties":false,"type":"object","title":"CustomerSegmentFilter"},"CustomerSegmentWithWorkflows":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"name":{"type":"string","title":"","description":"The name of the segment (case-insensitive unique per org)."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional description of what this segment represents."},"priority":{"type":"integer","title":"","description":"Lower number = higher priority for conflict resolution when partner matches multiple segments."},"conditions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Rules that determine which partners belong to this segment."},"partner_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Cached number of partners matching this segment."},"partner_count_refreshed_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When partner_count was last recomputed."},"workflows":{"items":{"$ref":"#/components/schemas/OutreachWorkflowSummary"},"type":"array","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","description","priority","conditions","partner_count","partner_count_refreshed_at","workflows","object"],"title":"CustomerSegmentWithWorkflows"},"CustomerTransaction":{"properties":{"type":{"type":"string","enum":["invoice","payment","credit_memo"],"title":"","description":"Which source document this row represents.","x-speakeasy-enum-format":"union"},"id":{"type":"string","title":"","description":"ID of the underlying invoice, payment, or credit memo."},"partner_id":{"type":"string","title":"","description":"ID of the partner (customer) this transaction belongs to."},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Human-facing reference: invoice/credit-memo number or payment reference number."},"po_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Purchase order number. Populated for invoices; null for payments and credit memos."},"date":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"Transaction date: invoice issue date, payment timestamp, or credit-memo posted date."},"due_date":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"Due date for invoices and credit memos. Null for payments."},"cleared_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the transaction was settled (ERP 'date closed' / 'clearing date'): invoice paid, payment posted, or credit memo applied. Null while still open."},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Total transaction amount in standard units."},"open_balance":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Outstanding amount in standard units: invoice amount remaining, payment unapplied amount, or credit-memo remaining amount."},"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"ISO 4217 currency code of the transaction amounts."},"status":{"$ref":"#/components/schemas/CustomerTransactionStatus","title":"","description":"Unified settlement status."},"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":"","description":"When the underlying record was created in Stuut."},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the underlying record was last modified in Stuut. Null if never modified."}},"type":"object","required":["type","id","partner_id","number","po_number","date","due_date","cleared_at","amount","open_balance","currency","status","created_at","modified_at"],"title":"CustomerTransaction","description":"A single row in a customer's unified transaction ledger.\n\nNormalizes invoices, payments, and credit memos into a common shape. All\nmonetary fields are Decimals in standard units (e.g., 10.25 for $10.25)."},"CustomerTransactionStatus":{"type":"string","enum":["draft","open","cleared","void"],"title":"CustomerTransactionStatus","description":"Unified settlement status across invoices, payments, and credit memos.\n\nEach source maps onto this shared vocabulary:\n- Invoices/credit memos: draft -> ``draft``, open -> ``open``,\n  paid -> ``cleared``, void (and invoice uncollectible) -> ``void``.\n- Payments map by posting state: posted -> ``cleared``, otherwise ``open``."},"DashboardInbox":{"properties":{"triage_count":{"type":"integer","minimum":0.0,"title":"","description":"Number of email threads pending triage."}},"type":"object","required":["triage_count"],"title":"DashboardInbox"},"DashboardResponse":{"properties":{"weekly_progress":{"$ref":"#/components/schemas/WeeklyProgress","title":""},"summary":{"$ref":"#/components/schemas/TaskOverviewSummary","title":""},"action_groups":{"$ref":"#/components/schemas/TaskOverviewActionGroups","title":""},"charts":{"$ref":"#/components/schemas/TaskOverviewCharts","title":""},"currency":{"$ref":"#/components/schemas/Currency","title":""},"agent_task_log":{"anyOf":[{"items":{"$ref":"#/components/schemas/AgentTaskLog"},"type":"array"},{"type":"null"}],"title":""},"inbox":{"$ref":"#/components/schemas/DashboardInbox","title":""},"bank_transactions":{"$ref":"#/components/schemas/BankTransactionMetricsResponse","title":""}},"type":"object","required":["weekly_progress","summary","action_groups","charts","currency","agent_task_log","inbox","bank_transactions"],"title":"DashboardResponse"},"DataChartEvent":{"properties":{"type":{"type":"string","const":"data-chart","title":"","default":"data-chart"},"data":{"additionalProperties":true,"type":"object","title":""}},"type":"object","required":["type","data"],"title":"DataChartEvent"},"DataCustomEvent":{"properties":{"type":{"type":"string","const":"data-custom","title":"","default":"data-custom"},"data":{"title":""}},"type":"object","required":["type","data"],"title":"DataCustomEvent"},"DataPlanResultEvent":{"properties":{"type":{"type":"string","const":"data-plan-result","title":"","default":"data-plan-result"},"data":{"$ref":"#/components/schemas/PlanResult","title":""},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["type","data","id"],"title":"DataPlanResultEvent","description":"Vercel AI SDK v6 typed `data-*` event carrying a final PlanResult."},"DataSuggestionsEvent":{"properties":{"type":{"type":"string","const":"data-suggestions","title":"","default":"data-suggestions"},"data":{"additionalProperties":true,"type":"object","title":""}},"type":"object","required":["type","data"],"title":"DataSuggestionsEvent"},"DataTableEvent":{"properties":{"type":{"type":"string","const":"data-table","title":"","default":"data-table"},"data":{"additionalProperties":true,"type":"object","title":""}},"type":"object","required":["type","data"],"title":"DataTableEvent"},"DatamaticsConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"datamatics","title":""},"site_id":{"type":"integer","title":"","description":"FTNI site ID for the tenant."},"item_queue_status":{"type":"integer","title":"","description":"FTNI item status code to pull during sync. Default 8 (unrecognized BU)."},"writeback_queue_status":{"type":"integer","title":"","description":"FTNI item status code to set after cash application writeback. Default 1 (Approved)."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","site_id","item_queue_status","writeback_queue_status","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"DatamaticsConnection","description":"Datamatics (FTNI) integration connection."},"DatamaticsConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"datamatics","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"username":{"type":"string","title":""},"password":{"type":"string","format":"password","title":"","writeOnly":true},"site_id":{"type":"integer","title":"","description":"FTNI site ID for the tenant."},"item_queue_status":{"type":"integer","title":"","description":"FTNI item status code to pull during sync. Default 8 (unrecognized BU).","default":8},"writeback_queue_status":{"type":"integer","title":"","description":"FTNI item status code to set after cash application writeback. Default 1 (Approved).","default":1},"base_url":{"type":"string","title":""}},"type":"object","required":["provider_name","username","password","site_id","base_url"],"title":"DatamaticsConnectionCreateBody","description":"Create schema for Datamatics connections."},"DatamaticsConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"datamatics","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"password":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":""},"site_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"FTNI site ID for the tenant."},"item_queue_status":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"FTNI item status code to pull during sync. Default 8 (unrecognized BU)."},"writeback_queue_status":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"FTNI item status code to set after cash application writeback. Default 1 (Approved)."},"base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["provider_name"],"title":"DatamaticsConnectionUpdate","description":"Update schema for Datamatics connections."},"DateFormat":{"type":"string","enum":["%d/%m/%Y","%m/%d/%Y","%-m/%-d/%Y","%Y-%m-%d","%d-%b-%y","%d %b %Y","%-d %b %Y","%b %-d, %Y"],"title":"DateFormat","description":"The date patterns a template may print with (Python strftime). `%b` prints the English\nmonth, so a template in another language picks a numeric one."},"DateOperand":{"type":"string","description":"An ISO 8601 date (2026-08-31) or a relative ISO 8601 duration (-P60D)."},"DateTimeOperand":{"type":"string","description":"An ISO 8601 datetime (2026-08-31T00:00:00Z) or a relative ISO 8601 duration (-P60D)."},"DeleteOOOResponse":{"properties":{"user_id":{"type":"string","title":""},"deactivated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"Timestamp of when OOO was deactivated"},"already_inactive":{"type":"boolean","title":"","description":"True when the request was a no-op","default":false}},"type":"object","required":["user_id","deactivated_at","already_inactive"],"title":"DeleteOOOResponse"},"DiscardRemittanceRequest":{"properties":{"remittance_id":{"type":"string","title":"","description":"ID of the remittance to discard"},"rejection_reason":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"","description":"Optional reason for discarding"},"delete_orphaned_payments":{"type":"boolean","title":"","description":"If true, delete SUGGESTED unapproved payments that have no remaining remittances after this discard","default":false}},"type":"object","required":["remittance_id"],"title":"DiscardRemittanceRequest","description":"Request to discard a remittance from a bank transaction."},"DiscoverFormRequest":{"properties":{"invoice_id":{"type":"string","title":"","description":"Internal invoice ID used to inspect this buyer's form."},"create_review_task":{"type":"boolean","title":"","description":"Create a pre-submission review task after the validation dry run succeeds.","default":false}},"type":"object","required":["invoice_id"],"title":"DiscoverFormRequest"},"DiscoverableMailbox":{"properties":{"id":{"type":"string","title":"","description":"The mailbox's Microsoft directory object id."},"email":{"type":"string","title":""},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","email","display_name"],"title":"DiscoverableMailbox","description":"A shared mailbox in the connected tenant that can be added to Stuut."},"DismissThreadRequest":{"properties":{"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional reason for dismissal."}},"type":"object","title":"DismissThreadRequest","description":"Request to dismiss a triage thread as irrelevant."},"DisputeActionGroupItem":{"properties":{"count":{"type":"integer","minimum":0.0,"title":""},"amount":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Amount in cents"},"customer_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":""},"action_type":{"type":"string","const":"disputes","title":""},"activate_count":{"type":"integer","minimum":0.0,"title":""},"create_count":{"type":"integer","minimum":0.0,"title":""},"update_count":{"type":"integer","minimum":0.0,"title":""}},"type":"object","required":["count","amount","customer_count","action_type","activate_count","create_count","update_count"],"title":"DisputeActionGroupItem"},"DisputePriority":{"type":"string","enum":["low","medium","high","urgent"],"title":"DisputePriority","description":"Priority level for dispute resolution."},"DisputeReasonBreakdownSchema":{"properties":{"reason_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The dispute reason ID"},"reason_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The dispute reason code (e.g., 'WPO', 'TAX')"},"reason_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The dispute reason name (e.g., 'Wrong PO', 'Tax Issue')"},"count":{"type":"integer","minimum":0.0,"title":"","description":"Number of disputes resolved with this reason code"},"total_amount":{"type":"integer","minimum":0.0,"title":"","description":"Total disputed amount for this reason code, in cents"},"percentage":{"type":"number","maximum":100.0,"minimum":0.0,"title":"","description":"Percentage of total resolved disputes for the period (# view)"},"amount_percentage":{"type":"number","maximum":100.0,"minimum":0.0,"title":"","description":"Percentage of total disputed amount for the period ($ view)"},"avg_resolution_days":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"","description":"Average time to resolution in days for this reason code"},"total_resolution_days":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"","description":"Total resolution time in days for this reason code"}},"type":"object","required":["reason_id","reason_code","reason_name","count","total_amount","percentage","amount_percentage","avg_resolution_days","total_resolution_days"],"title":"DisputeReasonBreakdown"},"DisputeResolutionMonthSchema":{"properties":{"period_start":{"type":"string","format":"date","title":"","description":"The period start date"},"period_end":{"type":"string","format":"date","title":"","description":"The period end date"},"avg_resolution_days":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"","description":"Average time to resolution in days for the period"},"total_resolution_days":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"","description":"Total resolution time in days for the period"},"resolved_count":{"type":"integer","minimum":0.0,"title":"","description":"Total number of disputes resolved in the period"},"total_amount":{"type":"integer","minimum":0.0,"title":"","description":"Total disputed amount in cents for the period ($ view)"},"by_reason":{"items":{"$ref":"#/components/schemas/DisputeReasonBreakdownSchema"},"type":"array","title":"","description":"Breakdown by reason code"}},"type":"object","required":["period_start","period_end","avg_resolution_days","total_resolution_days","resolved_count","total_amount","by_reason"],"title":"DisputeResolutionMonth"},"DisputeResolutionResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/DisputeResolutionMonthSchema"},"type":"array","title":"","description":"Monthly dispute resolution data"},"open_disputes_over_10_days":{"type":"integer","minimum":0.0,"title":"","description":"Number of open disputes that have been open more than 10 days"},"avg_resolution_days_mtd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"","description":"Average time to resolution month to date"},"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"The organization's currency"}},"type":"object","required":["data","open_disputes_over_10_days","avg_resolution_days_mtd","currency"],"title":"DisputeResolutionResponse"},"DisputeStatus":{"type":"string","enum":["proposed","in_process","needs_review","resolved","closed"],"title":"DisputeStatus","description":"Status of a dispute in the resolution workflow."},"DisputeWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/DisputeWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/DisputeWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"status":{"$ref":"#/components/schemas/EqualityComparator_DisputeStatus_","title":"Status"},"priority":{"$ref":"#/components/schemas/EqualityComparator_DisputePriority_","title":"Priority"},"amount":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Amount"},"currency":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Currency_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Currency"},"reasonCode":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Reasoncode"},"isOriginatedInStuut":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isoriginatedinstuut"},"assigneeId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Assigneeid"},"partnerId":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Partnerid"}},"additionalProperties":false,"type":"object","title":"DisputeWorkflowFilter","description":"Typed dispute fields available to workflow conditions, including the SLA tier a\nKaseya-style follow-up cadence branches on."},"DisputeWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/DisputeWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/DisputeWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"status":{"$ref":"#/components/schemas/EqualityComparator_DisputeStatus_","title":"Status"},"priority":{"$ref":"#/components/schemas/EqualityComparator_DisputePriority_","title":"Priority"},"amount":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Amount"},"currency":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Currency_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Currency"},"reasonCode":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Reasoncode"},"isOriginatedInStuut":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isoriginatedinstuut"},"assigneeId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Assigneeid"},"partnerId":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Partnerid"}},"additionalProperties":false,"type":"object","title":"DisputeWorkflowFilter","description":"Typed dispute fields available to workflow conditions, including the SLA tier a\nKaseya-style follow-up cadence branches on."},"DunningStateAction":{"type":"string","enum":["outreach_pause","outreach_enable"],"title":"DunningStateAction"},"DunningStateSchema":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"name":{"type":"string","title":"","description":"Unique per org, display name for the state (e.g. 'Dunning', '3rd party collection')"},"description":{"type":"string","title":"","description":"Short user facing description"},"action":{"$ref":"#/components/schemas/DunningStateAction","title":"","description":"Behavioral action associated with this state (OUTREACH_PAUSE or OUTREACH_ENABLE)"},"is_dispute_default":{"type":"boolean","title":"","description":"Whether a partner is switched to this state when a customer-level dispute pause is activated. At most one per organization; must be an OUTREACH_PAUSE state."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","description","action","is_dispute_default","object"],"title":"DunningState"},"DynamicComparator-Input":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Scalar_-Input"},{"$ref":"#/components/schemas/OrderedComparator_Scalar_-Input"},{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}]},"DynamicComparator-Output":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Scalar_-Output"},{"$ref":"#/components/schemas/OrderedComparator_Scalar_-Output"},{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}]},"DynamicFields-Input":{"additionalProperties":{"$ref":"#/components/schemas/DynamicComparator-Input"},"type":"object","title":"DynamicFields","description":"Arbitrary JSON-backed field names with structurally typed comparators."},"DynamicFields-Output":{"additionalProperties":{"$ref":"#/components/schemas/DynamicComparator-Output"},"type":"object","title":"DynamicFields","description":"Arbitrary JSON-backed field names with structurally typed comparators."},"ElementKind":{"type":"string","enum":["logo","title","lines","kv","summary","table","totals","text","column"],"title":"ElementKind","description":"The shape the dashboard's sketch of the page draws for the element. `column` is set by the layout,\nnot listed in `ELEMENTS`: an element it marks on a `<th>` prints as one column of a strip, with its\nvalue underneath."},"EligibleBackupsResponse":{"properties":{"users":{"items":{"$ref":"#/components/schemas/User"},"type":"array","title":""}},"type":"object","required":["users"],"title":"EligibleBackupsResponse"},"Email":{"type":"string"},"EmailProvider":{"type":"string","enum":["nylas","sendgrid"],"title":"EmailProvider"},"EmailSettings":{"properties":{"transport_provider":{"$ref":"#/components/schemas/EmailProvider","title":"","description":"How mail is transported — 'nylas' (OAuth sync/send) or 'sendgrid' (domain send)."},"hybrid_mode_enabled":{"type":"boolean","title":""},"microsoft":{"$ref":"#/components/schemas/MicrosoftConnection","title":""},"google":{"$ref":"#/components/schemas/GoogleConnection","title":""},"centralized_inbox":{"$ref":"#/components/schemas/CentralizedInboxSettings","title":""},"sendgrid":{"anyOf":[{"$ref":"#/components/schemas/SendGridSettings"},{"type":"null"}],"title":""}},"type":"object","required":["transport_provider","hybrid_mode_enabled","microsoft","google","centralized_inbox","sendgrid"],"title":"EmailSettings"},"EmailSignature":{"properties":{"email_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["email_signature"],"title":"EmailSignature"},"EmailStatus":{"type":"string","enum":["draft","pending","sending","sent","error"],"title":"EmailStatus"},"EmailSummary":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"snippet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"to":{"items":{"type":"string"},"type":"array","title":""},"cc":{"items":{"type":"string"},"type":"array","title":"","description":"List of CC email addresses"},"direction":{"$ref":"#/components/schemas/RequestDirection","title":"","description":"The request direction of the email. Either inbound or outbound"},"status":{"$ref":"#/components/schemas/EmailStatus","title":""},"sent_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When the email was sent."},"is_unread":{"type":"boolean","title":""},"author_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"author_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"processing_status":{"anyOf":[{"$ref":"#/components/schemas/ProcessingStatus"},{"type":"null"}],"title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","subject","snippet","from","to","cc","direction","status","sent_at","is_unread","author_id","author_name","processing_status","object"],"title":"EmailSummary","description":"Email summary for inbox list rows."},"EmailTemplateSummary":{"properties":{"id":{"type":"string","title":""},"name":{"type":"string","title":""}},"type":"object","required":["id","name"],"title":"EmailTemplateSummary"},"EmailThreadCategories":{"type":"string","enum":["all","drafts","sent","unread"],"title":"EmailThreadCategories"},"EmailThreadSummary":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"partner":{"anyOf":[{"$ref":"#/components/schemas/PartnerSummary"},{"type":"null"}],"title":""},"triage":{"anyOf":[{"$ref":"#/components/schemas/TriageSummary"},{"type":"null"}],"title":""},"has_attachments":{"type":"boolean","title":""},"num_attachments":{"type":"integer","title":""},"num_emails":{"type":"integer","title":""},"num_drafts":{"type":"integer","title":""},"draft_email_ids":{"items":{"type":"string"},"type":"array","title":""},"first_email":{"anyOf":[{"$ref":"#/components/schemas/EmailSummary"},{"type":"null"}],"title":""},"latest_email":{"anyOf":[{"$ref":"#/components/schemas/EmailSummary"},{"type":"null"}],"title":""},"tasks":{"items":{"$ref":"#/components/schemas/TaskSummary"},"type":"array","title":"","description":"Tasks explicitly linked to this email thread"},"workflow":{"anyOf":[{"$ref":"#/components/schemas/OutreachWorkflowSummary"},{"$ref":"#/components/schemas/WorkflowSummary"},{"type":"null"}],"title":""},"is_unread":{"type":"boolean","title":""},"is_internal":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether every Email on this thread has is_internal=True."},"is_from_centralized_inbox":{"type":"boolean","title":"","description":"Whether this thread originated from a centralized inbox sender"},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","partner","triage","has_attachments","num_attachments","num_emails","num_drafts","draft_email_ids","first_email","latest_email","tasks","workflow","is_unread","is_internal","is_from_centralized_inbox","object"],"title":"EmailThreadSummary","description":"Lightweight email thread summary for inbox list views."},"EmailThreadTriageStatus":{"type":"string","enum":["pending","auto_matched","manually_matched","dismissed"],"title":"EmailThreadTriageStatus"},"EmailTranslation":{"properties":{"language_code":{"$ref":"#/components/schemas/Locale","title":""},"subject":{"type":"string","title":""},"body":{"type":"string","title":""}},"type":"object","required":["language_code","subject","body"],"title":"EmailTranslation"},"EmailWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/EmailWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/EmailWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"direction":{"$ref":"#/components/schemas/EqualityComparator_RequestDirection_","title":"Direction"},"emailReason":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Emailreason"},"errorMessage":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Errormessage"},"isGenerated":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isgenerated"},"isInternal":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_bool_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Isinternal"},"isAutomated":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isautomated"},"isOriginatedInStuut":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isoriginatedinstuut"},"isUnread":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isunread"},"sentAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Sentat"},"status":{"$ref":"#/components/schemas/EqualityComparator_EmailStatus_","title":"Status"},"subject":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Subject"},"authorId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Authorid"},"emailSenderId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Emailsenderid"},"sentById":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Sentbyid"},"threadId":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Threadid"}},"additionalProperties":false,"type":"object","title":"EmailWorkflowFilter"},"EmailWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/EmailWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/EmailWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"direction":{"$ref":"#/components/schemas/EqualityComparator_RequestDirection_","title":"Direction"},"emailReason":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Emailreason"},"errorMessage":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Errormessage"},"isGenerated":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isgenerated"},"isInternal":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_bool_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Isinternal"},"isAutomated":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isautomated"},"isOriginatedInStuut":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isoriginatedinstuut"},"isUnread":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isunread"},"sentAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Sentat"},"status":{"$ref":"#/components/schemas/EqualityComparator_EmailStatus_","title":"Status"},"subject":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Subject"},"authorId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Authorid"},"emailSenderId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Emailsenderid"},"sentById":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Sentbyid"},"threadId":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Threadid"}},"additionalProperties":false,"type":"object","title":"EmailWorkflowFilter"},"EntityNotFoundErrorResponse":{"properties":{"type":{"type":"string","const":"entity-not-found","title":"Type"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail","description":"Human-readable description of this specific problem.","x-speakeasy-error-message":true},"status":{"type":"integer","const":404,"title":"Status"},"title":{"type":"string","const":"Entity not found","title":"Title"}},"type":"object","required":["type","status","title"],"title":"APIError","description":"Response schema for 404 Not Found errors."},"EntraCredentials":{"properties":{"client_id":{"type":"string","title":""},"client_secret":{"type":"string","title":""}},"type":"object","required":["client_id","client_secret"],"title":"EntraCredentials","description":"Customer-provided Entra app credentials."},"EqualityComparator_BankTransactionType_":{"properties":{"eq":{"$ref":"#/components/schemas/BankTransactionType","title":"Eq"},"neq":{"$ref":"#/components/schemas/BankTransactionType","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/BankTransactionType"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/BankTransactionType"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[BankTransactionType]"},"EqualityComparator_CallDirection_":{"properties":{"eq":{"$ref":"#/components/schemas/CallDirection","title":"Eq"},"neq":{"$ref":"#/components/schemas/CallDirection","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/CallDirection"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/CallDirection"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[CallDirection]"},"EqualityComparator_CallSentiment_":{"properties":{"eq":{"$ref":"#/components/schemas/CallSentiment","title":"Eq"},"neq":{"$ref":"#/components/schemas/CallSentiment","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/CallSentiment"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/CallSentiment"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[CallSentiment]"},"EqualityComparator_CallStatus_":{"properties":{"eq":{"$ref":"#/components/schemas/CallStatus","title":"Eq"},"neq":{"$ref":"#/components/schemas/CallStatus","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/CallStatus"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/CallStatus"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[CallStatus]"},"EqualityComparator_CountryCode_":{"properties":{"eq":{"type":"string","enum":["AW","AF","AO","AI","AX","AL","AD","AE","AR","AM","AS","AQ","TF","AG","AU","AT","AZ","BI","BE","BJ","BQ","BF","BD","BG","BH","BS","BA","BL","BY","BZ","BM","BO","BR","BB","BN","BT","BV","BW","CF","CA","CC","CH","CL","CN","CI","CM","CD","CG","CK","CO","KM","CV","CR","CU","CW","CX","KY","CY","CZ","DE","DJ","DM","DK","DO","DZ","EC","EG","ER","EH","ES","EE","ET","FI","FJ","FK","FR","FO","FM","GA","GB","GE","GG","GH","GI","GN","GP","GM","GW","GQ","GR","GD","GL","GT","GF","GU","GY","HK","HM","HN","HR","HT","HU","ID","IM","IN","IO","IE","IR","IQ","IS","IL","IT","JM","JE","JO","JP","KZ","KE","KG","KH","KI","KN","KR","KW","LA","LB","LR","LY","LC","LI","LK","LS","LT","LU","LV","MO","MF","MA","MC","MD","MG","MV","MX","MH","MK","ML","MT","MM","ME","MN","MP","MZ","MR","MS","MQ","MU","MW","MY","YT","NA","NC","NE","NF","NG","NI","NU","NL","NO","NP","NR","NZ","OM","PK","PA","PN","PE","PH","PW","PG","PL","PR","KP","PT","PY","PS","PF","QA","RE","RO","RU","RW","SA","SD","SN","SG","GS","SH","SJ","SB","SL","SV","SM","SO","PM","RS","SS","ST","SR","SK","SI","SE","SZ","SX","SC","SY","TC","TD","TG","TH","TJ","TK","TM","TL","TO","TT","TN","TR","TV","TW","TZ","UG","UA","UM","UY","US","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","ZA","ZM","ZW"],"title":"Eq","x-speakeasy-enum-format":"union"},"neq":{"type":"string","enum":["AW","AF","AO","AI","AX","AL","AD","AE","AR","AM","AS","AQ","TF","AG","AU","AT","AZ","BI","BE","BJ","BQ","BF","BD","BG","BH","BS","BA","BL","BY","BZ","BM","BO","BR","BB","BN","BT","BV","BW","CF","CA","CC","CH","CL","CN","CI","CM","CD","CG","CK","CO","KM","CV","CR","CU","CW","CX","KY","CY","CZ","DE","DJ","DM","DK","DO","DZ","EC","EG","ER","EH","ES","EE","ET","FI","FJ","FK","FR","FO","FM","GA","GB","GE","GG","GH","GI","GN","GP","GM","GW","GQ","GR","GD","GL","GT","GF","GU","GY","HK","HM","HN","HR","HT","HU","ID","IM","IN","IO","IE","IR","IQ","IS","IL","IT","JM","JE","JO","JP","KZ","KE","KG","KH","KI","KN","KR","KW","LA","LB","LR","LY","LC","LI","LK","LS","LT","LU","LV","MO","MF","MA","MC","MD","MG","MV","MX","MH","MK","ML","MT","MM","ME","MN","MP","MZ","MR","MS","MQ","MU","MW","MY","YT","NA","NC","NE","NF","NG","NI","NU","NL","NO","NP","NR","NZ","OM","PK","PA","PN","PE","PH","PW","PG","PL","PR","KP","PT","PY","PS","PF","QA","RE","RO","RU","RW","SA","SD","SN","SG","GS","SH","SJ","SB","SL","SV","SM","SO","PM","RS","SS","ST","SR","SK","SI","SE","SZ","SX","SC","SY","TC","TD","TG","TH","TJ","TK","TM","TL","TO","TT","TN","TR","TV","TW","TZ","UG","UA","UM","UY","US","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","ZA","ZM","ZW"],"title":"Neq","x-speakeasy-enum-format":"union"},"in":{"items":{"type":"string","enum":["AW","AF","AO","AI","AX","AL","AD","AE","AR","AM","AS","AQ","TF","AG","AU","AT","AZ","BI","BE","BJ","BQ","BF","BD","BG","BH","BS","BA","BL","BY","BZ","BM","BO","BR","BB","BN","BT","BV","BW","CF","CA","CC","CH","CL","CN","CI","CM","CD","CG","CK","CO","KM","CV","CR","CU","CW","CX","KY","CY","CZ","DE","DJ","DM","DK","DO","DZ","EC","EG","ER","EH","ES","EE","ET","FI","FJ","FK","FR","FO","FM","GA","GB","GE","GG","GH","GI","GN","GP","GM","GW","GQ","GR","GD","GL","GT","GF","GU","GY","HK","HM","HN","HR","HT","HU","ID","IM","IN","IO","IE","IR","IQ","IS","IL","IT","JM","JE","JO","JP","KZ","KE","KG","KH","KI","KN","KR","KW","LA","LB","LR","LY","LC","LI","LK","LS","LT","LU","LV","MO","MF","MA","MC","MD","MG","MV","MX","MH","MK","ML","MT","MM","ME","MN","MP","MZ","MR","MS","MQ","MU","MW","MY","YT","NA","NC","NE","NF","NG","NI","NU","NL","NO","NP","NR","NZ","OM","PK","PA","PN","PE","PH","PW","PG","PL","PR","KP","PT","PY","PS","PF","QA","RE","RO","RU","RW","SA","SD","SN","SG","GS","SH","SJ","SB","SL","SV","SM","SO","PM","RS","SS","ST","SR","SK","SI","SE","SZ","SX","SC","SY","TC","TD","TG","TH","TJ","TK","TM","TL","TO","TT","TN","TR","TV","TW","TZ","UG","UA","UM","UY","US","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","ZA","ZM","ZW"],"x-speakeasy-enum-format":"union"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"type":"string","enum":["AW","AF","AO","AI","AX","AL","AD","AE","AR","AM","AS","AQ","TF","AG","AU","AT","AZ","BI","BE","BJ","BQ","BF","BD","BG","BH","BS","BA","BL","BY","BZ","BM","BO","BR","BB","BN","BT","BV","BW","CF","CA","CC","CH","CL","CN","CI","CM","CD","CG","CK","CO","KM","CV","CR","CU","CW","CX","KY","CY","CZ","DE","DJ","DM","DK","DO","DZ","EC","EG","ER","EH","ES","EE","ET","FI","FJ","FK","FR","FO","FM","GA","GB","GE","GG","GH","GI","GN","GP","GM","GW","GQ","GR","GD","GL","GT","GF","GU","GY","HK","HM","HN","HR","HT","HU","ID","IM","IN","IO","IE","IR","IQ","IS","IL","IT","JM","JE","JO","JP","KZ","KE","KG","KH","KI","KN","KR","KW","LA","LB","LR","LY","LC","LI","LK","LS","LT","LU","LV","MO","MF","MA","MC","MD","MG","MV","MX","MH","MK","ML","MT","MM","ME","MN","MP","MZ","MR","MS","MQ","MU","MW","MY","YT","NA","NC","NE","NF","NG","NI","NU","NL","NO","NP","NR","NZ","OM","PK","PA","PN","PE","PH","PW","PG","PL","PR","KP","PT","PY","PS","PF","QA","RE","RO","RU","RW","SA","SD","SN","SG","GS","SH","SJ","SB","SL","SV","SM","SO","PM","RS","SS","ST","SR","SK","SI","SE","SZ","SX","SC","SY","TC","TD","TG","TH","TJ","TK","TM","TL","TO","TT","TN","TR","TV","TW","TZ","UG","UA","UM","UY","US","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","ZA","ZM","ZW"],"x-speakeasy-enum-format":"union"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[CountryCode]"},"EqualityComparator_CreditMemoStatus_":{"properties":{"eq":{"$ref":"#/components/schemas/CreditMemoStatus","title":"Eq"},"neq":{"$ref":"#/components/schemas/CreditMemoStatus","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/CreditMemoStatus"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/CreditMemoStatus"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[CreditMemoStatus]"},"EqualityComparator_Currency_":{"properties":{"eq":{"$ref":"#/components/schemas/Currency","title":"Eq"},"neq":{"$ref":"#/components/schemas/Currency","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/Currency"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/Currency"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[Currency]"},"EqualityComparator_DateOperand_":{"properties":{"eq":{"$ref":"#/components/schemas/DateOperand","title":"Eq"},"neq":{"$ref":"#/components/schemas/DateOperand","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/DateOperand"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/DateOperand"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[DateOperand]"},"EqualityComparator_DateTimeOperand_":{"properties":{"eq":{"$ref":"#/components/schemas/DateTimeOperand","title":"Eq"},"neq":{"$ref":"#/components/schemas/DateTimeOperand","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/DateTimeOperand"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/DateTimeOperand"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[DateTimeOperand]"},"EqualityComparator_Decimal_-Input":{"properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"Eq"},"neq":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"Neq"},"in":{"items":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[Decimal]"},"EqualityComparator_Decimal_-Output":{"properties":{"eq":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"Eq"},"neq":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"Neq"},"in":{"items":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[Decimal]"},"EqualityComparator_DisputePriority_":{"properties":{"eq":{"$ref":"#/components/schemas/DisputePriority","title":"Eq"},"neq":{"$ref":"#/components/schemas/DisputePriority","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/DisputePriority"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/DisputePriority"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[DisputePriority]"},"EqualityComparator_DisputeStatus_":{"properties":{"eq":{"$ref":"#/components/schemas/DisputeStatus","title":"Eq"},"neq":{"$ref":"#/components/schemas/DisputeStatus","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/DisputeStatus"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/DisputeStatus"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[DisputeStatus]"},"EqualityComparator_EmailStatus_":{"properties":{"eq":{"$ref":"#/components/schemas/EmailStatus","title":"Eq"},"neq":{"$ref":"#/components/schemas/EmailStatus","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/EmailStatus"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/EmailStatus"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[EmailStatus]"},"EqualityComparator_ExportStatus_":{"properties":{"eq":{"$ref":"#/components/schemas/ExportStatus","title":"Eq"},"neq":{"$ref":"#/components/schemas/ExportStatus","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/ExportStatus"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/ExportStatus"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[ExportStatus]"},"EqualityComparator_ExportType_":{"properties":{"eq":{"$ref":"#/components/schemas/ExportType","title":"Eq"},"neq":{"$ref":"#/components/schemas/ExportType","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/ExportType"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/ExportType"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[ExportType]"},"EqualityComparator_ExternalContactType_":{"properties":{"eq":{"$ref":"#/components/schemas/ExternalContactType","title":"Eq"},"neq":{"$ref":"#/components/schemas/ExternalContactType","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/ExternalContactType"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/ExternalContactType"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[ExternalContactType]"},"EqualityComparator_InternalContactType_":{"properties":{"eq":{"$ref":"#/components/schemas/InternalContactType","title":"Eq"},"neq":{"$ref":"#/components/schemas/InternalContactType","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/InternalContactType"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/InternalContactType"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[InternalContactType]"},"EqualityComparator_InvoiceStatus_":{"properties":{"eq":{"$ref":"#/components/schemas/InvoiceStatus","title":"Eq"},"neq":{"$ref":"#/components/schemas/InvoiceStatus","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/InvoiceStatus"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/InvoiceStatus"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[InvoiceStatus]"},"EqualityComparator_PartnerLanguageCode_":{"properties":{"eq":{"$ref":"#/components/schemas/PartnerLanguageCode","title":"Eq"},"neq":{"$ref":"#/components/schemas/PartnerLanguageCode","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/PartnerLanguageCode"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/PartnerLanguageCode"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[PartnerLanguageCode]"},"EqualityComparator_PaymentMethodType_":{"properties":{"eq":{"$ref":"#/components/schemas/PaymentMethodType","title":"Eq"},"neq":{"$ref":"#/components/schemas/PaymentMethodType","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/PaymentMethodType"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/PaymentMethodType"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[PaymentMethodType]"},"EqualityComparator_PaymentPlanFrequency_":{"properties":{"eq":{"$ref":"#/components/schemas/PaymentPlanFrequency","title":"Eq"},"neq":{"$ref":"#/components/schemas/PaymentPlanFrequency","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/PaymentPlanFrequency"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/PaymentPlanFrequency"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[PaymentPlanFrequency]"},"EqualityComparator_PaymentPlanInstallmentStatus_":{"properties":{"eq":{"$ref":"#/components/schemas/PaymentPlanInstallmentStatus","title":"Eq"},"neq":{"$ref":"#/components/schemas/PaymentPlanInstallmentStatus","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/PaymentPlanInstallmentStatus"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/PaymentPlanInstallmentStatus"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[PaymentPlanInstallmentStatus]"},"EqualityComparator_PaymentPlanStatus_":{"properties":{"eq":{"$ref":"#/components/schemas/PaymentPlanStatus","title":"Eq"},"neq":{"$ref":"#/components/schemas/PaymentPlanStatus","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/PaymentPlanStatus"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/PaymentPlanStatus"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[PaymentPlanStatus]"},"EqualityComparator_PaymentPromiseSource_":{"properties":{"eq":{"$ref":"#/components/schemas/PaymentPromiseSource","title":"Eq"},"neq":{"$ref":"#/components/schemas/PaymentPromiseSource","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/PaymentPromiseSource"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/PaymentPromiseSource"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[PaymentPromiseSource]"},"EqualityComparator_PaymentStatus_":{"properties":{"eq":{"$ref":"#/components/schemas/PaymentStatus","title":"Eq"},"neq":{"$ref":"#/components/schemas/PaymentStatus","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/PaymentStatus"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/PaymentStatus"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[Invoice.PaymentStatus]"},"EqualityComparator_PaymentType_":{"properties":{"eq":{"$ref":"#/components/schemas/PaymentType","title":"Eq"},"neq":{"$ref":"#/components/schemas/PaymentType","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/PaymentType"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/PaymentType"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[PaymentType]"},"EqualityComparator_Region_":{"properties":{"eq":{"$ref":"#/components/schemas/Region","title":"Eq"},"neq":{"$ref":"#/components/schemas/Region","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[Region]"},"EqualityComparator_RemittanceStatus_":{"properties":{"eq":{"$ref":"#/components/schemas/RemittanceStatus","title":"Eq"},"neq":{"$ref":"#/components/schemas/RemittanceStatus","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/RemittanceStatus"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/RemittanceStatus"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[RemittanceStatus]"},"EqualityComparator_RequestDirection_":{"properties":{"eq":{"$ref":"#/components/schemas/RequestDirection","title":"Eq"},"neq":{"$ref":"#/components/schemas/RequestDirection","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/RequestDirection"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/RequestDirection"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[RequestDirection]"},"EqualityComparator_SMSDirection_":{"properties":{"eq":{"$ref":"#/components/schemas/SMSDirection","title":"Eq"},"neq":{"$ref":"#/components/schemas/SMSDirection","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/SMSDirection"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/SMSDirection"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[SMSDirection]"},"EqualityComparator_SMSStatus_":{"properties":{"eq":{"$ref":"#/components/schemas/SMSStatus","title":"Eq"},"neq":{"$ref":"#/components/schemas/SMSStatus","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/SMSStatus"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/SMSStatus"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[SMSStatus]"},"EqualityComparator_Scalar_-Input":{"properties":{"eq":{"$ref":"#/components/schemas/Scalar-Input","title":"Eq"},"neq":{"$ref":"#/components/schemas/Scalar-Input","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/Scalar-Input"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/Scalar-Input"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[Scalar]"},"EqualityComparator_Scalar_-Output":{"properties":{"eq":{"$ref":"#/components/schemas/Scalar-Output","title":"Eq"},"neq":{"$ref":"#/components/schemas/Scalar-Output","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/Scalar-Output"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/Scalar-Output"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[Scalar]"},"EqualityComparator_Status_":{"properties":{"eq":{"$ref":"#/components/schemas/Status","title":"Eq"},"neq":{"$ref":"#/components/schemas/Status","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/Status"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/Status"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[BankStatement.Status]"},"EqualityComparator_TaskPriority_":{"properties":{"eq":{"$ref":"#/components/schemas/TaskPriority","title":"Eq"},"neq":{"$ref":"#/components/schemas/TaskPriority","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/TaskPriority"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/TaskPriority"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[TaskPriority]"},"EqualityComparator_TaskSource_":{"properties":{"eq":{"$ref":"#/components/schemas/TaskSource","title":"Eq"},"neq":{"$ref":"#/components/schemas/TaskSource","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/TaskSource"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/TaskSource"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[TaskSource]"},"EqualityComparator_TaskStatus_":{"properties":{"eq":{"$ref":"#/components/schemas/TaskStatus","title":"Eq"},"neq":{"$ref":"#/components/schemas/TaskStatus","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/TaskStatus"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/TaskStatus"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[TaskStatus]"},"EqualityComparator_TaskType_":{"properties":{"eq":{"$ref":"#/components/schemas/TaskType","title":"Eq"},"neq":{"$ref":"#/components/schemas/TaskType","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/TaskType"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/TaskType"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[TaskType]"},"EqualityComparator_UserRoleType_":{"properties":{"eq":{"$ref":"#/components/schemas/UserRoleType","title":"Eq"},"neq":{"$ref":"#/components/schemas/UserRoleType","title":"Neq"},"in":{"items":{"$ref":"#/components/schemas/UserRoleType"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"$ref":"#/components/schemas/UserRoleType"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[UserRoleType]"},"EqualityComparator_bool_":{"properties":{"eq":{"type":"boolean","title":"Eq"},"neq":{"type":"boolean","title":"Neq"},"in":{"items":{"type":"boolean"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"type":"boolean"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[bool]"},"EqualityComparator_int_":{"properties":{"eq":{"type":"integer","title":"Eq"},"neq":{"type":"integer","title":"Neq"},"in":{"items":{"type":"integer"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"type":"integer"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[int]"},"EqualityComparator_str_":{"properties":{"eq":{"type":"string","title":"Eq"},"neq":{"type":"string","title":"Neq"},"in":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"}},"additionalProperties":false,"type":"object","title":"EqualityComparator[str]"},"ErrorEvent":{"properties":{"type":{"type":"string","const":"error","title":"","default":"error"},"errorText":{"type":"string","title":""}},"type":"object","required":["type","errorText"],"title":"ErrorEvent"},"ErrorSource":{"type":"string","enum":["portal","stuut"],"title":"ErrorSource","description":"Who refused a submit: the portal, in its own words, or Stuut's own check."},"EventActorType":{"type":"string","enum":["user","stuut","agent","system"],"title":"EventActorType","description":"Who initiated an event.\n\nUSER: the org's own user.\nSTUUT: Stuut employee (``User.is_stuut_user``).\nAGENT: AI agent.\nSYSTEM: automated, no human or agent."},"EventWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/EventWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/EventWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"name":{"$ref":"#/components/schemas/StringComparator","title":"Name"},"entityType":{"$ref":"#/components/schemas/StringComparator","title":"Entitytype"},"entityId":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Entityid"},"occurredAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Occurredat"}},"additionalProperties":false,"type":"object","title":"EventWorkflowFilter","description":"Stable fields from the event envelope available to workflow clauses."},"EventWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/EventWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/EventWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"name":{"$ref":"#/components/schemas/StringComparator","title":"Name"},"entityType":{"$ref":"#/components/schemas/StringComparator","title":"Entitytype"},"entityId":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Entityid"},"occurredAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Occurredat"}},"additionalProperties":false,"type":"object","title":"EventWorkflowFilter","description":"Stable fields from the event envelope available to workflow clauses."},"ExchangeCodeRequest":{"properties":{"authorization_code":{"type":"string","title":"","description":"The auth0 authorization code to exchange."},"redirect_uri":{"type":"string","title":"","description":"The redirect URI the code was issued for."}},"type":"object","required":["authorization_code","redirect_uri"],"title":"ExchangeCodeRequest","description":"Exchange an auth0 authorization code (hosted-login / social callback) for a\nregistration token. The IdP has already verified the email."},"ExistingAccountSession":{"properties":{"email":{"type":"string","title":"","description":"The verified email address."},"access_token":{"type":"string","title":"","description":"Bearer access token for the session."},"expires_at":{"type":"string","title":"","description":"ISO-8601 timestamp when the access token expires."},"id_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"OIDC id token, if issued."}},"type":"object","required":["email","access_token","expires_at","id_token"],"title":"ExistingAccountSession","description":"Returned by /exchange-code when the OAuth identity already belongs to an account:\nthe code exchange already produced a valid session, so the user is logged in directly\ninstead of registering. The frontend redirects into the app rather than the reg form\n(discriminate from RegistrationTokenResponse by the access_token field)."},"ExportErrorCode":{"type":"string","enum":["limit_exceeded","timed_out","generation_failed"],"x-speakeasy-enum-format":"union"},"ExportListResponse":{"properties":{"exports":{"items":{"$ref":"#/components/schemas/ExportResponse"},"type":"array","title":""}},"type":"object","required":["exports"],"title":"ExportListResponse","description":"Response containing a list of exports."},"ExportRequest":{"properties":{"export_type":{"$ref":"#/components/schemas/ExportType","title":"","description":"Type of data to export"},"format":{"anyOf":[{"type":"string","enum":["csv","json"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"","description":"Journal entry file format; defaults to csv"},"filters":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Optional filter criteria for the export"},"business_unit_id__in":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Filter export data to specific business units"}},"type":"object","required":["export_type"],"title":"ExportRequest","description":"Request to create a new export."},"ExportResponse":{"properties":{"id":{"type":"string","title":""},"export_type":{"$ref":"#/components/schemas/ExportType","title":""},"status":{"$ref":"#/components/schemas/ExportStatus","title":""},"filters":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":""},"format":{"anyOf":[{"type":"string","enum":["csv","json"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":""},"error_code":{"anyOf":[{"$ref":"#/components/schemas/ExportErrorCode"},{"type":"null"}],"title":"","description":"Always set for failed exports; null for all other statuses. `limit_exceeded`: the export exceeds the supported size; request a smaller date range. `timed_out`: processing took too long; request the export again. `generation_failed`: an unspecified or unexpected failure; request the export again, then contact support if it keeps failing."},"record_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Number of rows included in the export. Journal exports in both CSV and JSON skip events without accounting snapshots and can complete with those events omitted. The response does not include a skipped-event count."},"download_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"started_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"completed_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"requested_by":{"anyOf":[{"$ref":"#/components/schemas/ExportUserRef"},{"type":"null"}],"title":"","description":"The user who requested the export; null for a scheduled report send."},"report_config_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The report config this export was sent for, when it is a report send."}},"type":"object","required":["id","export_type","status","filters","format","error_code","record_count","download_url","created_at","started_at","completed_at","requested_by","report_config_id"],"title":"ExportResponse","description":"Response containing export details."},"ExportStatus":{"type":"string","enum":["pending","processing","completed","failed"],"title":"ExportStatus"},"ExportType":{"type":"string","enum":["invoice","partner","payment","analytics","bank_transaction","credit_memo","customer_transaction","invoice_pdf","audit_log","ask_stuut_table","journal_entry","ar_aging","collections_readiness"],"title":"ExportType"},"ExportUserRef":{"properties":{"id":{"type":"string","title":""},"name":{"type":"string","title":""},"email":{"type":"string","title":""}},"type":"object","required":["id","name","email"],"title":"ExportUserRef","description":"Reference to the user who requested the export."},"ExportWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/ExportWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/ExportWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"exportType":{"$ref":"#/components/schemas/EqualityComparator_ExportType_","title":"Exporttype"},"status":{"$ref":"#/components/schemas/EqualityComparator_ExportStatus_","title":"Status"},"recordCount":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Recordcount"},"startedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Startedat"},"completedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Completedat"},"userId":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Userid"}},"additionalProperties":false,"type":"object","title":"ExportWorkflowFilter"},"ExportWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/ExportWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/ExportWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"exportType":{"$ref":"#/components/schemas/EqualityComparator_ExportType_","title":"Exporttype"},"status":{"$ref":"#/components/schemas/EqualityComparator_ExportStatus_","title":"Status"},"recordCount":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Recordcount"},"startedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Startedat"},"completedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Completedat"},"userId":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Userid"}},"additionalProperties":false,"type":"object","title":"ExportWorkflowFilter"},"ExposureBalance":{"properties":{"total_by_currency":{"additionalProperties":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},"propertyNames":{"$ref":"#/components/schemas/Currency"},"type":"object","title":"","description":"Native per-currency amount, in standard units. Never negative."},"converted":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"The same amount converted into target_currency, in standard units. Null when a rate was missing for one of the currencies above."}},"type":"object","required":["total_by_currency","converted"],"title":"ExposureBalance","description":"One amount in the exposure formula, kept per currency, plus one converted total."},"ExposureCreditMemoEvidence":{"properties":{"id":{"type":"string","title":""},"partner_id":{"type":"string","title":""},"currency":{"$ref":"#/components/schemas/Currency","title":""},"net_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"applied_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""}},"type":"object","required":["id","partner_id","currency","net_amount","applied_amount"],"title":"ExposureCreditMemoEvidence","description":"The credit memo facts behind the credit-memo-remainder calculation."},"ExposureDisputeItemEvidence":{"properties":{"id":{"type":"string","title":""},"partner_id":{"type":"string","title":""},"currency":{"$ref":"#/components/schemas/Currency","title":""},"amount":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Null when the dispute has no amount; the invoice's unpaid remainder is used instead."},"invoice_amount_due":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"invoice_amount_paid":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""}},"type":"object","required":["id","partner_id","currency","amount","invoice_amount_due","invoice_amount_paid"],"title":"ExposureDisputeItemEvidence","description":"The dispute item facts behind the disputed-amount calculation."},"ExposureFxRateMissing":{"properties":{"currency":{"$ref":"#/components/schemas/Currency","title":""},"as_of":{"type":"string","format":"date","title":"","description":"No stored rate existed for this currency on or before this day."}},"type":"object","required":["currency","as_of"],"title":"ExposureFxRateMissing","description":"A currency that could not be converted into target_currency."},"ExposureFxRateUsed":{"properties":{"currency":{"$ref":"#/components/schemas/Currency","title":""},"rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Units of currency per one pivot unit, as stored."},"observed_on":{"type":"string","format":"date","title":"","description":"The rate's own day, which may be earlier than the day the exposure was computed."}},"type":"object","required":["currency","rate","observed_on"],"title":"ExposureFxRateUsed","description":"The stored rate one currency was converted with."},"ExposureInvoiceEvidence":{"properties":{"id":{"type":"string","title":""},"partner_id":{"type":"string","title":""},"currency":{"$ref":"#/components/schemas/Currency","title":""},"status":{"type":"string","enum":["open","uncollectible"],"title":"","description":"open is still owed; uncollectible was written off and stays out of the formula.","x-speakeasy-enum-format":"union"},"amount_due":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"amount_paid":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""}},"type":"object","required":["id","partner_id","currency","status","amount_due","amount_paid"],"title":"ExposureInvoiceEvidence","description":"The invoice facts behind open A/R and uncollectible reporting."},"ExposureOverAppliedCreditMemoWarning":{"properties":{"code":{"type":"string","const":"over_applied_credit_memo","title":"","default":"over_applied_credit_memo"},"credit_memo_ids":{"items":{"type":"string"},"type":"array","title":""}},"type":"object","required":["code","credit_memo_ids"],"title":"ExposureOverAppliedCreditMemoWarning","description":"A memo was applied for more than its value, so its remainder was set to zero."},"ExposurePaymentEvidence":{"properties":{"id":{"type":"string","title":""},"partner_id":{"type":"string","title":""},"currency":{"$ref":"#/components/schemas/Currency","title":""},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"amount_refunded":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"applied_in_books":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"This payment's applied amount per the ERP's own books. Can be negative when a credit memo covered part of it."},"standing":{"$ref":"#/components/schemas/CashStanding","title":"","description":"How firmly the cash is tied to this buyer: confirmed is subtracted from exposure, proposed is only a cash-app matching guess."}},"type":"object","required":["id","partner_id","currency","amount","amount_refunded","applied_in_books","standing"],"title":"ExposurePaymentEvidence","description":"The payment facts behind the unapplied-cash calculation."},"ExposurePossibleDuplicatePartnerWarning":{"properties":{"code":{"type":"string","const":"possible_duplicate_partner","title":"","default":"possible_duplicate_partner"},"remote_id":{"type":"string","title":""},"partner_ids":{"items":{"type":"string"},"type":"array","title":""}},"type":"object","required":["code","remote_id","partner_ids"],"title":"ExposurePossibleDuplicatePartnerWarning","description":"The same partner shows up under two connections.\n\nOnly the rows this exposure was computed over are counted; others are flagged here, never merged in."},"ExposureSalesOrderLineEvidence":{"properties":{"id":{"type":"string","title":""},"partner_id":{"type":"string","title":""},"currency":{"$ref":"#/components/schemas/Currency","title":""},"expected_ship_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"requested_delivery_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"total_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"invoiced_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""}},"type":"object","required":["id","partner_id","currency","expected_ship_date","requested_delivery_date","total_amount","invoiced_amount"],"title":"ExposureSalesOrderLineEvidence","description":"The sales order line facts behind the open-sales-order-value calculation."},"ExposureUnappliedCash":{"properties":{"confirmed":{"$ref":"#/components/schemas/ExposureBalance","title":"","description":"Cash with independent evidence it belongs to this buyer. Subtracted from invoiced exposure."},"proposed":{"$ref":"#/components/schemas/ExposureBalance","title":"","description":"Cash matched only by a cash-app guess. Reported beside exposure, never subtracted."}},"type":"object","required":["confirmed","proposed"],"title":"ExposureUnappliedCash","description":"Unapplied cash, split by how firmly it is tied to the buyer."},"ExposureWholeInvoiceDisputeFallbackWarning":{"properties":{"code":{"type":"string","const":"whole_invoice_dispute_fallback","title":"","default":"whole_invoice_dispute_fallback"},"dispute_item_ids":{"items":{"type":"string"},"type":"array","title":""}},"type":"object","required":["code","dispute_item_ids"],"title":"ExposureWholeInvoiceDisputeFallbackWarning","description":"A dispute had no amount, so the invoice's unpaid amount was used instead."},"ExternalContactType":{"type":"string","enum":["billing_contact","executive","economic_user"],"title":"ExternalContactType"},"FeedbackBody":{"properties":{"rating":{"anyOf":[{"type":"string","enum":["positive","negative"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":""},"message":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":""}},"type":"object","required":["rating"],"title":"FeedbackBody"},"FieldSourceSchema":{"properties":{"kind":{"type":"string","enum":["ERP_FIELD","CUSTOM_FIELD","REMOTE_DATA"],"title":"","x-speakeasy-enum-format":"union"},"key":{"type":"string","title":"","description":"ERP column name (ERP_FIELD) or custom-fields key (CUSTOM_FIELD).","default":""},"path":{"items":{"type":"string"},"type":"array","title":"","description":"Traversal path from remote_data root (REMOTE_DATA only)."}},"type":"object","required":["kind","key","path"],"title":"FieldSource","description":"One typed source in a portal field's fallback chain."},"FilePart":{"properties":{"type":{"type":"string","const":"file","title":""},"mediaType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["type","mediaType","url"],"title":"FilePart"},"FilePartInput":{"properties":{"type":{"type":"string","const":"file","title":""},"mediaType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"fileId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["type"],"title":"FilePartInput"},"FinishEvent":{"properties":{"type":{"type":"string","const":"finish","title":"","default":"finish"}},"type":"object","required":["type"],"title":"FinishEvent"},"FinishStepEvent":{"properties":{"type":{"type":"string","const":"finish-step","title":"","default":"finish-step"}},"type":"object","required":["type"],"title":"FinishStepEvent"},"FormProfileConfigSchema-Input":{"properties":{"schema_version":{"type":"integer","const":1,"title":"","default":1},"provider":{"$ref":"#/components/schemas/APPortalProvider","title":""},"field_sources":{"additionalProperties":{"items":{"$ref":"#/components/schemas/ProfileSourceSchema-Input"},"type":"array"},"type":"object","title":""},"field_descriptors":{"additionalProperties":{"$ref":"#/components/schemas/ProfileDescriptorSchema-Input"},"type":"object","title":""},"charges":{"$ref":"#/components/schemas/ProfileChargesSchema-Input","title":""},"invoice_date":{"anyOf":[{"$ref":"#/components/schemas/ProfileInvoiceDateSchema"},{"type":"null"}],"title":""},"supplier_identity":{"additionalProperties":{"type":"string"},"type":"object","title":""},"field_values":{"additionalProperties":{"type":"string"},"type":"object","title":""},"form_variant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"field_choices":{"items":{"$ref":"#/components/schemas/ProfileChoiceSchema-Input"},"type":"array","title":""},"choice_confirmations":{"items":{"$ref":"#/components/schemas/ProfileConfirmationSchema-Input"},"type":"array","title":""},"choice_proposals":{"items":{"$ref":"#/components/schemas/ProfileProposalSchema"},"type":"array","title":""},"resolvers":{"items":{"type":"string","const":"bc_invoice_date"},"type":"array","title":""}},"additionalProperties":false,"type":"object","required":["provider"],"title":"FormProfileConfig","description":"Public configuration contract; provider-specific validation remains in core."},"FormProfileConfigSchema-Output":{"properties":{"schema_version":{"type":"integer","const":1,"title":"","default":1},"provider":{"$ref":"#/components/schemas/APPortalProvider","title":""},"field_sources":{"additionalProperties":{"items":{"$ref":"#/components/schemas/ProfileSourceSchema-Output"},"type":"array"},"type":"object","title":""},"field_descriptors":{"additionalProperties":{"$ref":"#/components/schemas/ProfileDescriptorSchema-Output"},"type":"object","title":""},"charges":{"$ref":"#/components/schemas/ProfileChargesSchema-Output","title":""},"invoice_date":{"anyOf":[{"$ref":"#/components/schemas/ProfileInvoiceDateSchema"},{"type":"null"}],"title":""},"supplier_identity":{"additionalProperties":{"type":"string"},"type":"object","title":""},"field_values":{"additionalProperties":{"type":"string"},"type":"object","title":""},"form_variant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"field_choices":{"items":{"$ref":"#/components/schemas/ProfileChoiceSchema-Output"},"type":"array","title":""},"choice_confirmations":{"items":{"$ref":"#/components/schemas/ProfileConfirmationSchema-Output"},"type":"array","title":""},"choice_proposals":{"items":{"$ref":"#/components/schemas/ProfileProposalSchema"},"type":"array","title":""},"resolvers":{"items":{"type":"string","const":"bc_invoice_date"},"type":"array","title":""}},"additionalProperties":false,"type":"object","required":["schema_version","provider","field_sources","field_descriptors","charges","invoice_date","supplier_identity","field_values","form_variant","field_choices","choice_confirmations","choice_proposals","resolvers"],"title":"FormProfileConfig","description":"Public configuration contract; provider-specific validation remains in core."},"FormProfileRevision":{"properties":{"id":{"type":"string","title":""},"revision":{"type":"integer","title":""},"base_revision":{"type":"integer","title":""},"config":{"$ref":"#/components/schemas/FormProfileConfigSchema-Output","title":""},"is_active":{"type":"boolean","title":""},"approved_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"approved_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"validation_work_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","revision","base_revision","config","is_active","approved_by","approved_at","validation_work_id"],"title":"FormProfileRevision"},"ForwardEmailRequest":{"properties":{"to":{"items":{"type":"string","format":"email"},"type":"array","title":"","description":"Recipient addresses."},"cc":{"items":{"type":"string","format":"email"},"type":"array","title":""},"bcc":{"items":{"type":"string","format":"email"},"type":"array","title":""},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional prefatory note rendered above the forwarded chain."},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Override subject. Defaults to source subject prefixed with `Fwd: `."},"email_sender_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional outgoing sender. When omitted, picks the source's shared inbox if applicable, else the user's default sender. Mirrors reply."}},"type":"object","title":"ForwardEmailRequest","description":"Request to forward an existing email — creates a DRAFT, does not send."},"FunctionRunStatus":{"type":"string","enum":["scheduled","queued","skipped","running","cancelled","failed","pending_retry","complete"],"title":"FunctionRunStatus"},"GenerateClauseInput":{"properties":{"prompt":{"type":"string","maxLength":2000,"minLength":1,"title":""}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"GenerateClauseInput"},"GenerateSigmaEmbedUrlRequest":{"properties":{"content_path":{"type":"string","title":"","description":"Sigma content path to embed. Must be one of the analytics-dashboard workbooks, e.g. 'workbook/Workbook-Analytics-Dashboard-V2-New-Overview-...'. Cash App organizations are served the Cash App counterpart of the requested dashboard and GBP organizations the GBP counterpart; the returned URL reflects this."},"business_unit_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Business units selected in the analytics filter. The embedded session is scoped to these units (within the caller's permission); omit for the caller's full scope."}},"type":"object","required":["content_path"],"title":"GenerateSigmaEmbedUrlRequest","description":"Request schema for generating a Sigma embed URL."},"GeneratedClause":{"properties":{"clause":{"anyOf":[{"$ref":"#/components/schemas/CustomerSegmentFilter-Output","title":""},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"additionalProperties":false,"type":"object","title":"GeneratedClause","description":"A generated segment clause or an explanation of why one could not be generated."},"GoogleConnection":{"properties":{"enabled":{"type":"boolean","title":"","description":"Whether Google mailbox connections are enabled for this org."}},"type":"object","required":["enabled"],"title":"GoogleConnection","description":"The org's Google mailbox connection state."},"HTTPValidationError":{"$defs":{"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object","x-speakeasy-include":true}},"properties":{"type":{"const":"request-validation","title":"Type","type":"string"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Human-readable description of this specific problem.","title":"Detail","x-speakeasy-error-message":true},"status":{"const":422,"title":"Status","type":"integer"},"title":{"description":"Short human-readable summary of the problem.","title":"Title","type":"string","x-speakeasy-error-message":true},"errors":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Errors","type":"array"}},"required":["type","status","title","errors"],"title":"APIError","type":"object"},"HTTPValidationErrorResponse":{"properties":{"type":{"type":"string","const":"request-validation","title":"Type"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail","description":"Human-readable description of this specific problem.","x-speakeasy-error-message":true},"status":{"type":"integer","const":422,"title":"Status"},"title":{"type":"string","title":"Title","description":"Short human-readable summary of the problem.","x-speakeasy-error-message":true},"errors":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Errors"}},"type":"object","required":["type","status","title","errors"],"title":"APIError"},"HoneywellDisputeRouting":{"properties":{"created_by_via_integration_account":{"type":"boolean","title":"Created By Via Integration Account","default":false}},"additionalProperties":false,"type":"object","title":"HoneywellDisputeRouting","description":"Small connection-specific settings for Honeywell dispute routing."},"HttpRequestMethod":{"type":"string","enum":["DELETE","GET","PATCH","POST","PUT"],"title":"HttpRequestMethod"},"Identifier":{"type":"string","minLength":1},"InboxInternalStatus":{"properties":{"all":{"type":"integer","title":"","default":0},"unread":{"type":"integer","title":"","default":0},"drafts":{"type":"integer","title":"","default":0},"sent":{"type":"integer","title":"","default":0}},"type":"object","required":["all","unread","drafts","sent"],"title":"InboxInternalStatus","description":"Category counts for internal email threads."},"InboxStatusResponse":{"properties":{"all":{"type":"integer","title":"","default":0},"unread":{"type":"integer","title":"","default":0},"drafts":{"type":"integer","title":"","default":0},"sent":{"type":"integer","title":"","default":0},"triage":{"type":"integer","title":"","default":0},"dismissed":{"type":"integer","title":"","default":0},"internal":{"$ref":"#/components/schemas/InboxInternalStatus","title":""}},"type":"object","required":["all","unread","drafts","sent","triage","dismissed","internal"],"title":"InboxStatusResponse","description":"Inbox email thread category counts."},"IntegrationAPIUsageMetrics":{"properties":{"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"avg_payload_size":{"type":"number","title":"Avg Payload Size","description":"Average payload size in bytes."},"avg_response_time":{"type":"number","title":"Avg Response Time","description":"Average response time in seconds."},"interval":{"type":"string","title":"Interval"},"total_requests":{"type":"integer","title":"Total Requests","description":"Total number of requests for this period."},"total_success":{"type":"integer","title":"Total Success","description":"Total number of successful requests for this period."}},"type":"object","required":["timestamp","avg_payload_size","avg_response_time","interval","total_requests","total_success"],"title":"IntegrationAPIUsageMetrics","description":"The API usage metrics for a linked integration."},"IntegrationAuthType":{"type":"string","enum":["api_key","basic","custom","oauth1","oauth2","oauth2_cc"],"title":"IntegrationAuthType"},"IntegrationCategory":{"type":"string","enum":["accounting","banking","communication","crm","file-storage"],"x-speakeasy-enum-format":"union"},"IntegrationConnection":{"oneOf":[{"$ref":"#/components/schemas/AcumaticaConnection"},{"$ref":"#/components/schemas/BillingPlatformConnection"},{"$ref":"#/components/schemas/BoomiConnection"},{"$ref":"#/components/schemas/ChargebeeConnection"},{"$ref":"#/components/schemas/CitiConnection"},{"$ref":"#/components/schemas/DatamaticsConnection"},{"$ref":"#/components/schemas/JiraConnection"},{"$ref":"#/components/schemas/JpmcConnection"},{"$ref":"#/components/schemas/PncConnection"},{"$ref":"#/components/schemas/KyribaConnection"},{"$ref":"#/components/schemas/MaxioLegacyConnection"},{"$ref":"#/components/schemas/MSDynamicsBCConnection"},{"$ref":"#/components/schemas/MSDynamicsFOConnection"},{"$ref":"#/components/schemas/NetsuiteConnection"},{"$ref":"#/components/schemas/OdooConnection"},{"$ref":"#/components/schemas/OICConnection"},{"$ref":"#/components/schemas/OracleFusionConnection"},{"$ref":"#/components/schemas/OracleFusion2Connection"},{"$ref":"#/components/schemas/P21Connection"},{"$ref":"#/components/schemas/QuickbooksConnection"},{"$ref":"#/components/schemas/QuickbooksDesktopConnection"},{"$ref":"#/components/schemas/SageIntacctConnection"},{"$ref":"#/components/schemas/SalesforceConnection"},{"$ref":"#/components/schemas/SampleDataGeneratorConnection"},{"$ref":"#/components/schemas/SapBtpConnection"},{"$ref":"#/components/schemas/StripeConnection"},{"$ref":"#/components/schemas/TrovataConnection"},{"$ref":"#/components/schemas/ServiceNowConnection"},{"$ref":"#/components/schemas/ServiceTitanConnection"},{"$ref":"#/components/schemas/SnowflakeConnection"},{"$ref":"#/components/schemas/WellsFargoConnection"},{"$ref":"#/components/schemas/WorkdayConnection"},{"$ref":"#/components/schemas/ZendeskConnection"},{"$ref":"#/components/schemas/ZoomInfoConnection"},{"$ref":"#/components/schemas/ZuoraConnection"}],"title":"IntegrationConnection","discriminator":{"propertyName":"provider_name","mapping":{"acumatica":"#/components/schemas/AcumaticaConnection","billingplatform":"#/components/schemas/BillingPlatformConnection","boomi":"#/components/schemas/BoomiConnection","chargebee":"#/components/schemas/ChargebeeConnection","citi":"#/components/schemas/CitiConnection","datamatics":"#/components/schemas/DatamaticsConnection","jira":"#/components/schemas/JiraConnection","jpmc":"#/components/schemas/JpmcConnection","kyriba":"#/components/schemas/KyribaConnection","maxio-legacy":"#/components/schemas/MaxioLegacyConnection","ms-dynamics-bc":"#/components/schemas/MSDynamicsBCConnection","ms-dynamics-fo":"#/components/schemas/MSDynamicsFOConnection","netsuite":"#/components/schemas/NetsuiteConnection","odoo":"#/components/schemas/OdooConnection","oic":"#/components/schemas/OICConnection","oracle-fusion":"#/components/schemas/OracleFusionConnection","oracle-fusion2":"#/components/schemas/OracleFusion2Connection","p21":"#/components/schemas/P21Connection","pnc":"#/components/schemas/PncConnection","quickbooks":"#/components/schemas/QuickbooksConnection","quickbooks-desktop":"#/components/schemas/QuickbooksDesktopConnection","sage-intacct":"#/components/schemas/SageIntacctConnection","salesforce-accountingseed":"#/components/schemas/SalesforceConnection","sample-data-generator":"#/components/schemas/SampleDataGeneratorConnection","sap-btp":"#/components/schemas/SapBtpConnection","servicenow":"#/components/schemas/ServiceNowConnection","servicetitan":"#/components/schemas/ServiceTitanConnection","snowflake":"#/components/schemas/SnowflakeConnection","stripe":"#/components/schemas/StripeConnection","trovata":"#/components/schemas/TrovataConnection","wells-fargo":"#/components/schemas/WellsFargoConnection","workday":"#/components/schemas/WorkdayConnection","zendesk":"#/components/schemas/ZendeskConnection","zoominfo":"#/components/schemas/ZoomInfoConnection","zuora":"#/components/schemas/ZuoraConnection"}}},"IntegrationConnectionAPIRequestLog":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"direction":{"$ref":"#/components/schemas/RequestDirection","title":""},"is_webhook":{"type":"boolean","title":""},"method":{"$ref":"#/components/schemas/HttpRequestMethod","title":""},"url":{"type":"string","title":"","description":"The request URL"},"requested_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"completed_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"request":{"$ref":"#/components/schemas/Request","title":"","description":"Returns the request object."},"response":{"$ref":"#/components/schemas/Response","title":"","description":"Returns the response object."},"success":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"response_size":{"type":"integer","title":"","description":"Response size in bytes. Falls back to the stored raw body length\nwhen the ``Content-Length`` header is absent (e.g. chunked transfer\nencoding, HTTP/2 responses without an explicit length)."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","direction","is_webhook","method","url","requested_at","completed_at","request","response","success","response_size","object"],"title":"IntegrationConnectionAPIRequestLog"},"IntegrationConnectionAuthenticateBody":{"oneOf":[{"$ref":"#/components/schemas/MSDynamicsBCConnectionAuthenticateBody"},{"$ref":"#/components/schemas/MSDynamicsFOConnectionAuthenticateBody"},{"$ref":"#/components/schemas/NetsuiteConnectionAuthenticateBody"},{"$ref":"#/components/schemas/QuickbooksConnectionAuthenticateBody"},{"$ref":"#/components/schemas/SalesforceConnectionAuthenticateBody"}],"discriminator":{"propertyName":"provider_name","mapping":{"ms-dynamics-bc":"#/components/schemas/MSDynamicsBCConnectionAuthenticateBody","ms-dynamics-fo":"#/components/schemas/MSDynamicsFOConnectionAuthenticateBody","netsuite":"#/components/schemas/NetsuiteConnectionAuthenticateBody","quickbooks":"#/components/schemas/QuickbooksConnectionAuthenticateBody","salesforce-accountingseed":"#/components/schemas/SalesforceConnectionAuthenticateBody"}}},"IntegrationConnectionCreateBody":{"oneOf":[{"$ref":"#/components/schemas/AcumaticaConnectionCreateBody"},{"$ref":"#/components/schemas/BillingPlatformConnectionCreateBody"},{"$ref":"#/components/schemas/BoomiConnectionCreateBody"},{"$ref":"#/components/schemas/ChargebeeConnectionCreateBody"},{"$ref":"#/components/schemas/CitiConnectionCreateBody"},{"$ref":"#/components/schemas/DatamaticsConnectionCreateBody"},{"$ref":"#/components/schemas/JiraConnectionCreateBody"},{"$ref":"#/components/schemas/JpmcConnectionCreateBody"},{"$ref":"#/components/schemas/PncConnectionCreateBody"},{"$ref":"#/components/schemas/KyribaConnectionCreateBody"},{"$ref":"#/components/schemas/MaxioLegacyConnectionCreateBody"},{"$ref":"#/components/schemas/MSDynamicsBCConnectionCreateBody"},{"$ref":"#/components/schemas/MSDynamicsFOConnectionCreateBody"},{"$ref":"#/components/schemas/NetsuiteConnectionCreateBody"},{"$ref":"#/components/schemas/OdooConnectionCreateBody"},{"$ref":"#/components/schemas/OICConnectionCreateBody"},{"$ref":"#/components/schemas/OracleFusionConnectionCreateBody"},{"$ref":"#/components/schemas/OracleFusion2ConnectionCreateBody"},{"$ref":"#/components/schemas/P21ConnectionCreateBody"},{"$ref":"#/components/schemas/QuickbooksConnectionCreateBody"},{"$ref":"#/components/schemas/SalesforceConnectionCreateBody"},{"$ref":"#/components/schemas/SampleDataGeneratorConnectionCreateBody"},{"$ref":"#/components/schemas/SapBtpConnectionCreateBody"},{"$ref":"#/components/schemas/StripeConnectionCreateBody"},{"$ref":"#/components/schemas/TrovataConnectionCreateBody"},{"$ref":"#/components/schemas/ServiceNowConnectionCreateBody"},{"$ref":"#/components/schemas/ServiceTitanConnectionCreateBody"},{"$ref":"#/components/schemas/SnowflakeConnectionCreateBody"},{"$ref":"#/components/schemas/WellsFargoConnectionCreateBody"},{"$ref":"#/components/schemas/WorkdayConnectionCreateBody"},{"$ref":"#/components/schemas/ZendeskConnectionCreateBody"},{"$ref":"#/components/schemas/ZoomInfoConnectionCreateBody"},{"$ref":"#/components/schemas/ZuoraConnectionCreateBody"}],"discriminator":{"propertyName":"provider_name","mapping":{"acumatica":"#/components/schemas/AcumaticaConnectionCreateBody","billingplatform":"#/components/schemas/BillingPlatformConnectionCreateBody","boomi":"#/components/schemas/BoomiConnectionCreateBody","chargebee":"#/components/schemas/ChargebeeConnectionCreateBody","citi":"#/components/schemas/CitiConnectionCreateBody","datamatics":"#/components/schemas/DatamaticsConnectionCreateBody","jira":"#/components/schemas/JiraConnectionCreateBody","jpmc":"#/components/schemas/JpmcConnectionCreateBody","kyriba":"#/components/schemas/KyribaConnectionCreateBody","maxio-legacy":"#/components/schemas/MaxioLegacyConnectionCreateBody","ms-dynamics-bc":"#/components/schemas/MSDynamicsBCConnectionCreateBody","ms-dynamics-fo":"#/components/schemas/MSDynamicsFOConnectionCreateBody","netsuite":"#/components/schemas/NetsuiteConnectionCreateBody","odoo":"#/components/schemas/OdooConnectionCreateBody","oic":"#/components/schemas/OICConnectionCreateBody","oracle-fusion":"#/components/schemas/OracleFusionConnectionCreateBody","oracle-fusion2":"#/components/schemas/OracleFusion2ConnectionCreateBody","p21":"#/components/schemas/P21ConnectionCreateBody","pnc":"#/components/schemas/PncConnectionCreateBody","quickbooks":"#/components/schemas/QuickbooksConnectionCreateBody","salesforce-accountingseed":"#/components/schemas/SalesforceConnectionCreateBody","sample-data-generator":"#/components/schemas/SampleDataGeneratorConnectionCreateBody","sap-btp":"#/components/schemas/SapBtpConnectionCreateBody","servicenow":"#/components/schemas/ServiceNowConnectionCreateBody","servicetitan":"#/components/schemas/ServiceTitanConnectionCreateBody","snowflake":"#/components/schemas/SnowflakeConnectionCreateBody","stripe":"#/components/schemas/StripeConnectionCreateBody","trovata":"#/components/schemas/TrovataConnectionCreateBody","wells-fargo":"#/components/schemas/WellsFargoConnectionCreateBody","workday":"#/components/schemas/WorkdayConnectionCreateBody","zendesk":"#/components/schemas/ZendeskConnectionCreateBody","zoominfo":"#/components/schemas/ZoomInfoConnectionCreateBody","zuora":"#/components/schemas/ZuoraConnectionCreateBody"}}},"IntegrationConnectionHealth":{"properties":{"authentication_required":{"type":"boolean","title":"","description":"Whether or not authentication is required to resolve the error."},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Human-readable error message."},"healthy":{"type":"boolean","title":""},"status_code":{"$ref":"#/components/schemas/IntegrationHealthStatusCode","title":"","description":"A list of error codes."},"suggested_resolution":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Suggested resolution."},"timestamp":{"$ref":"#/components/schemas/UTCDateTime","title":"","description":"The time the health status was set.","readOnly":true}},"type":"object","required":["authentication_required","message","healthy","status_code","suggested_resolution","timestamp"],"title":"IntegrationConnectionHealth"},"IntegrationConnectionModel":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"name":{"type":"string","title":""},"is_read_enabled":{"type":"boolean","title":""},"is_write_enabled":{"type":"boolean","title":""},"is_custom_object":{"type":"boolean","title":"","description":"Whether this model is a custom object."},"is_file_upload_enabled":{"type":"boolean","title":""},"is_webhooks_setup":{"type":"boolean","title":""},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"connection_id":{"type":"string","title":""},"last_sync":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionModelSync"},{"type":"null"}],"title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"display_name":{"type":"string","title":"","readOnly":true},"is_read_supported":{"type":"boolean","title":"","readOnly":true},"is_write_supported":{"type":"boolean","title":"","readOnly":true},"is_sync_supported":{"type":"boolean","title":"","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","is_read_enabled","is_write_enabled","is_custom_object","is_file_upload_enabled","is_webhooks_setup","next_sync_at","connection_id","last_sync","object","display_name","is_read_supported","is_write_supported","is_sync_supported"],"title":"IntegrationConnectionModel"},"IntegrationConnectionModelSync":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"status":{"$ref":"#/components/schemas/IntegrationSyncStatus","title":""},"attempt":{"type":"integer","title":"","description":"Number of attempts made to run this sync. 0 means no attempts have been made."},"batch_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":""},"completed_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Error message if the sync failed."},"file_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"is_initial_sync":{"type":"boolean","title":""},"is_one_off":{"type":"boolean","title":"","description":"Whether or not this is a one off sync"},"model_id":{"type":"string","title":""},"pagination_state":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":""},"started_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"timerange_end":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"End of the time range for which data is being synced."},"timerange_start":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"Start of the time range for which data is being synced."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","status","attempt","batch_id","completed_at","entity_id","error","file_id","is_initial_sync","is_one_off","model_id","pagination_state","started_at","timerange_end","timerange_start","object"],"title":"IntegrationConnectionModelSync"},"IntegrationConnectionUpdateBody":{"oneOf":[{"$ref":"#/components/schemas/AcumaticaConnectionUpdate"},{"$ref":"#/components/schemas/BillingPlatformConnectionUpdate"},{"$ref":"#/components/schemas/BoomiConnectionUpdate"},{"$ref":"#/components/schemas/ChargebeeConnectionUpdate"},{"$ref":"#/components/schemas/CitiConnectionUpdateBody"},{"$ref":"#/components/schemas/DatamaticsConnectionUpdate"},{"$ref":"#/components/schemas/JiraConnectionUpdate"},{"$ref":"#/components/schemas/JpmcConnectionUpdateBody"},{"$ref":"#/components/schemas/PncConnectionUpdateBody"},{"$ref":"#/components/schemas/KyribaConnectionUpdate"},{"$ref":"#/components/schemas/MaxioLegacyConnectionUpdate"},{"$ref":"#/components/schemas/MSDynamicsBCConnectionUpdateBody"},{"$ref":"#/components/schemas/MSDynamicsFOConnectionUpdateBody"},{"$ref":"#/components/schemas/NetsuiteConnectionUpdate"},{"$ref":"#/components/schemas/OdooConnectionUpdate"},{"$ref":"#/components/schemas/OICConnectionUpdate"},{"$ref":"#/components/schemas/OracleFusionConnectionUpdate"},{"$ref":"#/components/schemas/OracleFusion2ConnectionUpdate"},{"$ref":"#/components/schemas/P21ConnectionUpdate"},{"$ref":"#/components/schemas/QuickbooksConnectionUpdate"},{"$ref":"#/components/schemas/QuickbooksDesktopConnectionUpdate"},{"$ref":"#/components/schemas/SageIntacctConnectionUpdate"},{"$ref":"#/components/schemas/SalesforceConnectionUpdate"},{"$ref":"#/components/schemas/SampleDataGeneratorConnectionUpdate"},{"$ref":"#/components/schemas/SapBtpConnectionUpdate"},{"$ref":"#/components/schemas/TrovataConnectionUpdate"},{"$ref":"#/components/schemas/ServiceNowConnectionUpdate"},{"$ref":"#/components/schemas/ServiceTitanConnectionUpdate"},{"$ref":"#/components/schemas/SnowflakeConnectionUpdate"},{"$ref":"#/components/schemas/WellsFargoConnectionUpdate"},{"$ref":"#/components/schemas/WorkdayConnectionUpdate"},{"$ref":"#/components/schemas/ZendeskConnectionUpdate"},{"$ref":"#/components/schemas/ZoomInfoConnectionUpdate"},{"$ref":"#/components/schemas/ZuoraConnectionUpdate"}],"discriminator":{"propertyName":"provider_name","mapping":{"acumatica":"#/components/schemas/AcumaticaConnectionUpdate","billingplatform":"#/components/schemas/BillingPlatformConnectionUpdate","boomi":"#/components/schemas/BoomiConnectionUpdate","chargebee":"#/components/schemas/ChargebeeConnectionUpdate","citi":"#/components/schemas/CitiConnectionUpdateBody","datamatics":"#/components/schemas/DatamaticsConnectionUpdate","jira":"#/components/schemas/JiraConnectionUpdate","jpmc":"#/components/schemas/JpmcConnectionUpdateBody","kyriba":"#/components/schemas/KyribaConnectionUpdate","maxio-legacy":"#/components/schemas/MaxioLegacyConnectionUpdate","ms-dynamics-bc":"#/components/schemas/MSDynamicsBCConnectionUpdateBody","ms-dynamics-fo":"#/components/schemas/MSDynamicsFOConnectionUpdateBody","netsuite":"#/components/schemas/NetsuiteConnectionUpdate","odoo":"#/components/schemas/OdooConnectionUpdate","oic":"#/components/schemas/OICConnectionUpdate","oracle-fusion":"#/components/schemas/OracleFusionConnectionUpdate","oracle-fusion2":"#/components/schemas/OracleFusion2ConnectionUpdate","p21":"#/components/schemas/P21ConnectionUpdate","pnc":"#/components/schemas/PncConnectionUpdateBody","quickbooks":"#/components/schemas/QuickbooksConnectionUpdate","quickbooks-desktop":"#/components/schemas/QuickbooksDesktopConnectionUpdate","sage-intacct":"#/components/schemas/SageIntacctConnectionUpdate","salesforce-accountingseed":"#/components/schemas/SalesforceConnectionUpdate","sample-data-generator":"#/components/schemas/SampleDataGeneratorConnectionUpdate","sap-btp":"#/components/schemas/SapBtpConnectionUpdate","servicenow":"#/components/schemas/ServiceNowConnectionUpdate","servicetitan":"#/components/schemas/ServiceTitanConnectionUpdate","snowflake":"#/components/schemas/SnowflakeConnectionUpdate","trovata":"#/components/schemas/TrovataConnectionUpdate","wells-fargo":"#/components/schemas/WellsFargoConnectionUpdate","workday":"#/components/schemas/WorkdayConnectionUpdate","zendesk":"#/components/schemas/ZendeskConnectionUpdate","zoominfo":"#/components/schemas/ZoomInfoConnectionUpdate","zuora":"#/components/schemas/ZuoraConnectionUpdate"}}},"IntegrationConnectionWebhook":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The stuut ID for the entity"},"entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The name of the stuut entity that this webhook is related to, e.g. Invoice, Partner, etc."},"event_time":{"$ref":"#/components/schemas/UTCDateTime","title":"","description":"The time at which this event occurred (before it was received)."},"event_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The name of the webhook event, e.g. 'invoice.created'"},"payload":{"additionalProperties":true,"type":"object","title":"","description":"The event payload"},"processed_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"The time at which this webhook was processed by stuut."},"received_at":{"$ref":"#/components/schemas/UTCDateTime","title":"","description":"When the webhook was received"},"remote_entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The entity's id in the remote system."},"connection_id":{"type":"string","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","entity_id","entity_type","event_time","event_name","payload","processed_at","received_at","remote_entity_id","connection_id","object"],"title":"IntegrationConnectionWebhook"},"IntegrationHealthStatusCode":{"type":"string","enum":["healthy","invalid_credentials","credentials_expired","credentials_expiring","missing_permission","missing_settings","unknown_error","connection_issue","timeout"],"x-speakeasy-enum-format":"union"},"IntegrationModelSyncFile":{"properties":{"id":{"type":"string","title":""},"name":{"type":"string","title":""}},"type":"object","required":["id","name"],"title":"IntegrationModelSyncFile"},"IntegrationModelSyncSummary":{"properties":{"id":{"type":"string","title":""},"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"status":{"$ref":"#/components/schemas/FunctionRunStatus","title":""},"started_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"completed_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"file":{"anyOf":[{"$ref":"#/components/schemas/IntegrationModelSyncFile"},{"type":"null"}],"title":"","description":"The data file of a file sync. Null for other syncs."},"uploaded_by":{"anyOf":[{"$ref":"#/components/schemas/IntegrationModelSyncUploader"},{"type":"null"}],"title":"","description":"The user who uploaded the file. Null when the file has no visible uploader, for example an automated sync or a deleted user."}},"type":"object","required":["id","created_at","status","started_at","completed_at","error","file","uploaded_by"],"title":"IntegrationModelSyncSummary","description":"One sync run of a linked model."},"IntegrationModelSyncUploader":{"properties":{"id":{"type":"string","title":""},"name":{"type":"string","title":""}},"type":"object","required":["id","name"],"title":"IntegrationModelSyncUploader"},"IntegrationProvider":{"properties":{"name":{"$ref":"#/components/schemas/IntegrationProviderName","description":"Unique name for the integration provider. Note: must contain only alphanumeric characters and dashes(-)"},"auth_type":{"anyOf":[{"$ref":"#/components/schemas/IntegrationAuthType"},{"type":"null"}]},"cash_app_features":{"$ref":"#/components/schemas/CashAppIntegrationFeatures"},"categories":{"items":{"$ref":"#/components/schemas/IntegrationCategory"},"type":"array","title":"Categories"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"connection_guide_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Connection Guide Url","description":"Guide for the person connecting the integration. Shown alongside connection_instructions in the connect flow."},"connection_instructions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Connection Instructions"},"documentation_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Documentation Url","description":"The provider's reference documentation. Shown as the Docs link on the connection page."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"display_name":{"type":"string","title":"Display Name"},"is_api_connection":{"type":"boolean","title":"Is Api Connection","description":"Whether connection to this integration provider is done through an API."},"is_enabled":{"type":"boolean","title":"Is Enabled","default":true},"is_manual_sync_supported":{"type":"boolean","title":"Is Manual Sync Supported","description":"Whether this integration supports manually triggering sync.","default":true},"is_webhooks_supported":{"type":"boolean","title":"Is Webhooks Supported","description":"Whether or not the integration is enabled"},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"URL to the provider's logo."},"logo_square":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Square","description":"URL to the provider's square logo."},"required_settings":{"items":{"type":"string"},"type":"array","title":"Required Settings"},"short_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Short Description"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"}},"type":"object","required":["name","categories","display_name","is_api_connection","is_webhooks_supported"],"title":"IntegrationProvider"},"IntegrationProviderName":{"type":"string","enum":["acumatica","bill","billingplatform","boomi","chargebee","citi","datamatics","demo-mode","jira","jpmc","kyriba","maxio-legacy","ms-dynamics-bc","ms-dynamics-fo","netsuite","odoo","oic","oracle-fusion","oracle-fusion2","p21","pnc","quickbooks","quickbooks-desktop","sage-intacct","salesforce-accountingseed","sample-data-generator","sap-btp","servicenow","servicetitan","snowflake","stripe","trovata","wells-fargo","western-alliance-bank","workday","xero","zendesk","zoominfo","zuora"],"x-speakeasy-enum-format":"union"},"IntegrationProviderResponse":{"properties":{"name":{"$ref":"#/components/schemas/IntegrationProviderName","title":"","description":"Unique name for the integration provider. Note: must contain only alphanumeric characters and dashes(-)"},"auth_type":{"anyOf":[{"$ref":"#/components/schemas/IntegrationAuthType"},{"type":"null"}],"title":""},"cash_app_features":{"$ref":"#/components/schemas/CashAppIntegrationFeatures","title":""},"categories":{"items":{"$ref":"#/components/schemas/IntegrationCategory"},"type":"array","title":""},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"connection_guide_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Guide for the person connecting the integration. Shown alongside connection_instructions in the connect flow."},"connection_instructions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""},"documentation_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The provider's reference documentation. Shown as the Docs link on the connection page."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"display_name":{"type":"string","title":""},"is_api_connection":{"type":"boolean","title":"","description":"Whether connection to this integration provider is done through an API."},"is_enabled":{"type":"boolean","title":"","default":true},"is_manual_sync_supported":{"type":"boolean","title":"","description":"Whether this integration supports manually triggering sync.","default":true},"is_webhooks_supported":{"type":"boolean","title":"","description":"Whether or not the integration is enabled"},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"URL to the provider's logo."},"logo_square":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"URL to the provider's square logo."},"required_settings":{"items":{"type":"string"},"type":"array","title":""},"short_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"is_create_supported":{"type":"boolean","title":"","description":"Whether a connection for this provider can be created through POST /v2/integrations/connections. When false, the provider is still listed and its existing connections remain readable, but callers must use the v1 connect flow."}},"type":"object","required":["name","auth_type","cash_app_features","categories","color","connection_guide_url","connection_instructions","documentation_url","description","display_name","is_api_connection","is_enabled","is_manual_sync_supported","is_webhooks_supported","logo","logo_square","required_settings","short_description","website","is_create_supported"],"title":"IntegrationProviderResponse","description":"An integration provider, and what the v2 API can do with it."},"IntegrationSyncStatus":{"type":"string","enum":["scheduled","queued","running","cancelled","failed","pending_retry","complete"],"title":"IntegrationSyncStatus"},"InteractionClassification":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"action_recommendation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Necessary actions that need to be taken in response to this interaction"},"agent_confidence_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The confidence score of the result on a scale of 0-100, where 0 indicates no confidence in the accuracy of the result and 100 indicates full confidence in the accuracy of the result."},"agent_metrics":{"anyOf":[{"$ref":"#/components/schemas/AgentMetrics"},{"type":"null"}],"title":""},"classification":{"$ref":"#/components/schemas/InteractionType","title":"","description":"The type of this interaction"},"evidence":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"The text excerpts that led to the classification decision"},"is_action_required":{"type":"boolean","title":"","description":"Whether an action or actions need to be taken as a result of this interaction"},"is_reply_required":{"type":"boolean","title":"","description":"Whether an email needs to be sent as a reply to this interaction"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The detected language of the interaction using ISO 639-1 alpha-2 code."},"reason":{"type":"string","title":"","description":"The reason for the classifications of the interaction"},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","action_recommendation","agent_confidence_score","agent_metrics","classification","evidence","is_action_required","is_reply_required","language","reason","object"],"title":"InteractionClassification"},"InteractionClassificationSummary":{"properties":{"classification":{"$ref":"#/components/schemas/InteractionType","title":"","description":"The type of this interaction"},"is_reply_required":{"type":"boolean","title":"","description":"Whether an email needs to be sent as a reply to this interaction"},"is_action_required":{"type":"boolean","title":"","description":"Whether an action or actions need to be taken as a result of this interaction"}},"type":"object","required":["classification","is_reply_required","is_action_required"],"title":"InteractionClassificationSummary","description":"Slim classification for list-row tasks (mirrors v1 InteractionClassificationSummarySchema)."},"InteractionType":{"type":"string","enum":["payment_inquiry","payment_promise","account_inquiry","invoice_inquiry","refund_request","cancellation_request","support_request","complaint","feedback","wrong_contact","message_forwarding_request","cc_inclusion_request","not_available","contact_inquiry","dispute","resolution","delivery_failure","payment_processing_request","other"],"title":"InteractionType","description":"Enumerates the possible classifications for an interaction (email or call)."},"InternalContact":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"email":{"$ref":"#/components/schemas/Email","title":"","description":"The internal contact's email address."},"given_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The internal contact's given name."},"family_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The internal contact's family name."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The internal contact's full name, if no given/family name."},"phone":{"anyOf":[{"type":"string","format":"phone","description":"A phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format"},{"type":"null"}],"title":"","description":"The internal contact's phone number."},"job_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The internal contact's job title."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","email","given_name","family_name","name","phone","job_title","object"],"title":"InternalContact","description":"An internal contact (CSM, AM, etc.) at the organization level."},"InternalContactAssignment":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"internal_role":{"$ref":"#/components/schemas/InternalContactType","title":"","description":"The role this internal contact holds for this partner."},"partner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"remote_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Third-party sync identifier for upsert deduplication."},"internal_contact":{"$ref":"#/components/schemas/InternalContact","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","internal_role","partner_id","remote_id","internal_contact","object"],"title":"InternalContactAssignment","description":"An InternalContact assigned to a Partner with a specific role.\n\n``partner_id`` is null for \"floating\" assignments — contacts whose role is\ndeclared at the organization level but who have not yet been attached to a\nspecific partner."},"InternalContactType":{"type":"string","enum":["account_manager","account_executive","csm","lead","co_lead","practice_lead"],"title":"InternalContactType"},"InvoiceBalanceBucket":{"properties":{"count":{"type":"integer","minimum":0.0,"title":"","description":"Number of invoices"},"amount":{"type":"integer","minimum":0.0,"title":"","description":"Total amount in cents"}},"type":"object","required":["count","amount"],"title":"InvoiceBalanceBucket"},"InvoiceBalanceSummaryResponse":{"properties":{"due":{"$ref":"#/components/schemas/InvoiceBalanceBucket","title":"","description":"Invoices not yet past due date"},"overdue":{"$ref":"#/components/schemas/InvoiceBalanceBucket","title":"","description":"Invoices past due date"},"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"Organization's base currency"}},"type":"object","required":["due","overdue","currency"],"title":"InvoiceBalanceSummaryResponse"},"InvoiceLine":{"properties":{"key":{"anyOf":[{"$ref":"#/components/schemas/BillingProductKey"},{"type":"null"}],"title":"","description":"Stuut product key; null for lines that aren't a catalog product (credit applications, fixed-charge products)."},"name":{"type":"string","title":"","description":"The line label as it will appear on the invoice."},"type":{"type":"string","enum":["USAGE","SCHEDULED","CREDIT"],"title":"","description":"USAGE = metered consumption; SCHEDULED = a fixed/recurring fee; CREDIT = a credit/commit application (negative).","x-speakeasy-enum-format":"union"},"quantity":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Metered quantity (a COUNT, not money); null for non-metered lines."},"unit_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Price per unit in dollars; null for non-metered lines."},"total":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Line total in dollars; negative = credit applied."},"applied_commit_or_credit":{"anyOf":[{"$ref":"#/components/schemas/AppliedCommitOrCredit"},{"type":"null"}],"title":"","description":"For CREDIT lines: which instrument the application drew from."},"sub_line_items":{"anyOf":[{"items":{"$ref":"#/components/schemas/SubLineItem"},"type":"array"},{"type":"null"}],"title":"","description":"Per-tier / per-charge breakdown of this line, when Metronome provides one."}},"type":"object","required":["key","name","type","quantity","unit_price","total","applied_commit_or_credit","sub_line_items"],"title":"billing.InvoiceLine","description":"A usage, scheduled-charge, or credit invoice line."},"InvoiceListSchema":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"A unique, identifying string that appears on emails sent to the customer for this invoice."},"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"The invoice's currency code (e.g. USD)."},"amount_due":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The total amount due on the invoice."},"amount_paid":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The total amount paid on the invoice."},"amount_remaining":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The remaining balance on the invoice, excluding unposted payments."},"pending_amount_remaining":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The remaining balance on the invoice, including unposted payments."},"total_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The total amount on the invoice."},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"The invoice's due date."},"issued_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"The invoice's issue date."},"paid_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"The date the invoice was paid."},"promised_to_pay_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"The date the customer has promised to pay the invoice."},"current_payment_promise_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"remote_created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When the third party's entry was created."},"purchase_order_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Unique identifier assigned to a purchase order by a buyer."},"order_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Unique identifier assigned to a purchase by a seller."},"pdf":{"$ref":"#/components/schemas/AttachmentSignedUrl","title":"","description":"The invoice's pdf."},"pdf_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"remote_invoice_pdf":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The url to the invoice's third party pdf."},"partner":{"anyOf":[{"$ref":"#/components/schemas/PartnerSummary"},{"type":"null"}],"title":"","description":"The invoice's vendor or customer."},"last_outreach_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"The last date outreach was sent for this invoice."},"last_outreach_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The last recipient of outreach that was sent for this invoice (email address or phone number)."},"last_outreach_channel":{"anyOf":[{"$ref":"#/components/schemas/OutreachActionType"},{"type":"null"}],"title":"","description":"The last channel outreach was sent in for this invoice (phone or email)."},"latest_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Content of the most recently created invoice note."},"in_dispute":{"type":"boolean","title":"","description":"Whether an invoice is in dispute. If it is, we exclude it from any outreach."},"remote_payment_status":{"anyOf":[{"$ref":"#/components/schemas/PaymentStatus"},{"type":"null"}],"title":"","description":"Status of payment on this invoice.\nNOTE: Source of this status could be different from the source of `remote_status`,\nand could be out of sync with it. It is currently controlled Stripe webhooks\nthat receive partner portal session events.\nIf payment was initiated and failed, remote_payment_status should be set to None."},"unresolved_dispute_item_status":{"anyOf":[{"$ref":"#/components/schemas/DisputeStatus"},{"type":"null"}],"title":""},"unresolved_dispute_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"ap_portal_status":{"anyOf":[{"$ref":"#/components/schemas/APPortalStatusSummary"},{"type":"null"}],"title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"virtual_status":{"$ref":"#/components/schemas/InvoiceVirtualStatus","title":"","description":"Virtual status combining base status with conditions for OPEN invoices.","readOnly":true},"days_overdue":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Number of days past due. Only set for overdue invoices.","readOnly":true},"days_until_due":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Number of days until due. Only set for open invoices with a due date.","readOnly":true},"payment_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Payment portal URL for this invoice.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","number","currency","amount_due","amount_paid","amount_remaining","pending_amount_remaining","total_amount","due_date","issued_at","paid_at","promised_to_pay_date","current_payment_promise_id","remote_created_at","purchase_order_number","order_number","pdf","pdf_id","remote_invoice_pdf","partner","last_outreach_at","last_outreach_to","last_outreach_channel","latest_note","in_dispute","remote_payment_status","unresolved_dispute_item_status","unresolved_dispute_id","ap_portal_status","object","virtual_status","days_overdue","days_until_due","payment_url"],"title":"InvoiceList","description":"Lightweight invoice summary for list endpoint.\n\nIncludes PartnerSummary for table display (name, account_number)."},"InvoiceNumberSearchRequest":{"properties":{"numbers":{"items":{"type":"string"},"type":"array","maxItems":500,"minItems":1,"title":"","description":"Invoice numbers to match exactly, ignoring case and surrounding whitespace."}},"type":"object","required":["numbers"],"title":"InvoiceNumberSearchRequest","description":"Request body for looking up many invoices by exact number."},"InvoiceNumberSearchResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/InvoiceSummary"},"type":"array","title":"","description":"Matching invoices in the order their numbers were requested. A number shared by several invoices returns all of them."},"missing":{"items":{"type":"string"},"type":"array","title":"","description":"Requested numbers that matched no invoice, as sent."}},"type":"object","required":["data","missing"],"title":"InvoiceNumberSearchResponse","description":"Invoices whose number matched one of the requested numbers."},"InvoicePage":{"properties":{"invoices":{"items":{"$ref":"#/components/schemas/BilledInvoice"},"type":"array","title":"","description":"This page of invoices, newest first."},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Pass as `?cursor=` for the next page; null when exhausted."}},"type":"object","required":["invoices","next_cursor"],"title":"billing.InvoicePage","description":"One page of invoice history."},"InvoicePayload":{"properties":{"custom_fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Source-specific values without a standard field."},"invoice_number":{"$ref":"#/components/schemas/Identifier","title":""},"line_item":{"$ref":"#/components/schemas/Identifier","title":""},"fiscal_year":{"$ref":"#/components/schemas/Identifier","title":""},"company_code":{"$ref":"#/components/schemas/Identifier","title":""},"customer_id":{"$ref":"#/components/schemas/Identifier","title":""},"document_type":{"type":"string","title":""},"debit_credit_code":{"type":"string","enum":["S","H"],"title":"","x-speakeasy-enum-format":"union"},"total_amount":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":""},"currency":{"type":"string","title":""},"issued_date":{"type":"string","format":"date","title":""},"due_date":{"type":"string","format":"date","title":""},"clearing_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"purchase_order_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"memo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"contract_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"order_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoice_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"in_dispute":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"disputed_amount":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":""},"promised_to_pay_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","required":["invoice_number","line_item","fiscal_year","company_code","customer_id","document_type","debit_credit_code","total_amount","currency","issued_date","due_date"],"title":"InvoicePayload","description":"Standard receivable; S means invoice and H means credit memo."},"InvoicePdfDocumentShape":{"properties":{"page_count":{"type":"integer","title":""},"invoice_count":{"type":"integer","title":""},"terms_pages":{"items":{"type":"integer"},"type":"array","title":""},"language":{"type":"string","title":""}},"type":"object","required":["page_count","invoice_count","terms_pages","language"],"title":"InvoicePdfDocumentShape","description":"What the uploaded file turned out to be."},"InvoicePdfGenerationSwitch":{"properties":{"is_enabled":{"type":"boolean","title":""}},"type":"object","required":["is_enabled"],"title":"InvoicePdfGenerationSwitch","description":"The organization's own on/off for generated invoice PDFs."},"InvoicePdfLayoutElement":{"properties":{"id":{"type":"string","title":""},"kind":{"$ref":"#/components/schemas/ElementKind","title":""},"label":{"type":"string","title":""},"toggle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","kind","label","toggle"],"title":"InvoicePdfLayoutElement","description":"Something the layout prints, for drawing a sketch of the page."},"InvoicePdfLayoutOption":{"properties":{"name":{"type":"string","title":""},"label":{"type":"string","title":""},"description":{"type":"string","title":""},"is_org_layout":{"type":"boolean","title":""},"orientation":{"$ref":"#/components/schemas/Orientation","title":""},"regions":{"items":{"$ref":"#/components/schemas/InvoicePdfLayoutRegion"},"type":"array","title":""},"default_labels":{"additionalProperties":{"type":"string"},"propertyNames":{"$ref":"#/components/schemas/LabelKey"},"type":"object","title":""}},"type":"object","required":["name","label","description","is_org_layout","orientation","regions","default_labels"],"title":"InvoicePdfLayoutOption","description":"A shared layout, or one built for the organization (`is_org_layout`)."},"InvoicePdfLayoutRegion":{"properties":{"region":{"type":"string","title":""},"elements":{"items":{"$ref":"#/components/schemas/InvoicePdfLayoutElement"},"type":"array","title":""}},"type":"object","required":["region","elements"],"title":"InvoicePdfLayoutRegion"},"InvoicePdfPrintedValue":{"properties":{"label":{"type":"string","title":""},"example":{"type":"string","title":""},"why":{"type":"string","title":""}},"type":"object","required":["label","example","why"],"title":"InvoicePdfPrintedValue","description":"Something printed on the PDF that no template field can carry."},"InvoicePdfReviewNote":{"properties":{"field":{"type":"string","title":""},"reason":{"type":"string","title":""}},"type":"object","required":["field","reason"],"title":"InvoicePdfReviewNote","description":"A drafted value the admin must check before activating the template."},"InvoicePdfTemplateAction":{"type":"string","enum":["generate","never_generate"],"title":"InvoicePdfTemplateAction"},"InvoicePdfTemplateBuildResult":{"properties":{"document":{"$ref":"#/components/schemas/InvoicePdfDocumentShape","title":""},"name":{"type":"string","title":""},"layout_name":{"type":"string","pattern":"^(org/)?[a-z0-9][a-z0-9-]*$","title":""},"layout_reason":{"type":"string","title":""},"config":{"$ref":"#/components/schemas/InvoicePdfTemplateDraft","title":""},"unmapped":{"items":{"$ref":"#/components/schemas/InvoicePdfPrintedValue"},"type":"array","title":""},"review":{"items":{"$ref":"#/components/schemas/InvoicePdfReviewNote"},"type":"array","title":""}},"type":"object","required":["document","name","layout_name","layout_reason","config","unmapped","review"],"title":"InvoicePdfTemplateBuildResult","description":"A template drafted from the organization's own invoice PDF, for the admin to review and\ncreate with `createTemplate`. Nothing is saved by the build."},"InvoicePdfTemplateCreateRequest":{"properties":{"name":{"type":"string","minLength":1,"title":""},"slug":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":""},"duplicate_from_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"layout_name":{"anyOf":[{"type":"string","pattern":"^(org/)?[a-z0-9][a-z0-9-]*$"},{"type":"null"}],"title":""},"action":{"anyOf":[{"$ref":"#/components/schemas/InvoicePdfTemplateAction"},{"type":"null"}],"title":""},"config":{"anyOf":[{"$ref":"#/components/schemas/InvoicePdfTemplateRequest"},{"type":"null"}],"title":""}},"type":"object","required":["name"],"title":"InvoicePdfTemplateCreateRequest","description":"A template, copied from `duplicate_from_id`, started from `layout_name`, or neither for\nthe defaults. The default template is created by listing the templates."},"InvoicePdfTemplateDraft":{"properties":{"state":{"anyOf":[{"$ref":"#/components/schemas/InvoicePdfTemplateState"},{"type":"null"}],"title":""},"action":{"anyOf":[{"$ref":"#/components/schemas/InvoicePdfTemplateAction"},{"type":"null"}],"title":""},"combine_pdfs_from":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":""},"show_org_contact":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_mailing_address":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_banking":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_ship_to":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_bill_to":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_purchase_order_number":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_order_number":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_customer_number":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_payment_terms":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_invoice_method":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_due_date":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_invoice_period":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_invoice_balance":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_tax_row":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_payments_row":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_comments":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_late_fee_note":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_payment_instructions":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_terms":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_payment_stub":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Print the tear-off remittance stub. Only layouts that have one print it; the rest ignore it."},"mailing_address":{"anyOf":[{"$ref":"#/components/schemas/PdfAddressSchema-Output"},{"type":"null"}],"title":""},"wire_address":{"anyOf":[{"$ref":"#/components/schemas/PdfAddressSchema-Output"},{"type":"null"}],"title":""},"lockbox_address":{"anyOf":[{"$ref":"#/components/schemas/PdfAddressSchema-Output"},{"type":"null"}],"title":""},"banking":{"anyOf":[{"$ref":"#/components/schemas/PdfBankDetailsSchema-Output"},{"type":"null"}],"title":""},"payment_terms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoice_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"late_fee_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"footer_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"payment_instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"org_contact_lines":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""},"accent_color":{"anyOf":[{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},{"type":"null"}],"title":""},"layout_name":{"anyOf":[{"type":"string","pattern":"^(org/)?[a-z0-9][a-z0-9-]*$"},{"type":"null"}],"title":""},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"header_fields":{"anyOf":[{"items":{"$ref":"#/components/schemas/PdfHeaderFieldSchema"},"type":"array"},{"type":"null"}],"title":""},"terms_blocks":{"anyOf":[{"items":{"$ref":"#/components/schemas/PdfTermsBlockSchema-Output"},"type":"array","maxItems":2},{"type":"null"}],"title":""},"terms_placement":{"anyOf":[{"$ref":"#/components/schemas/TermsPlacement"},{"type":"null"}],"title":""},"line_item_columns":{"anyOf":[{"items":{"$ref":"#/components/schemas/PdfLineItemColumnSchema-Output"},"type":"array","minItems":1},{"type":"null"}],"title":""},"payment_link":{"anyOf":[{"$ref":"#/components/schemas/PdfPaymentLinkSchema-Output"},{"type":"null"}],"title":""},"totals_rows":{"anyOf":[{"items":{"$ref":"#/components/schemas/PdfTotalsRowSchema-Output"},"type":"array"},{"type":"null"}],"title":"","description":"The totals block top to bottom. `null` prints subtotal, tax, total, payments and amount due as `show_tax_row`, `show_payments_row` and `show_invoice_balance` allow; a list decides the rows and those three switches no longer apply."},"labels":{"anyOf":[{"additionalProperties":{"type":"string","minLength":1},"propertyNames":{"$ref":"#/components/schemas/LabelKey"},"type":"object"},{"type":"null"}],"title":"","description":"Captions to print instead of the layout's own, keyed by caption, in any language. A key left out keeps the layout's wording; `null` clears every rename. The English wording each key stands for: `invoice` = Invoice; `invoice_no` = Invoice no.; `invoice_date` = Invoice date; `customer_no` = Customer no.; `bill_to` = Bill to; `ship_to` = Ship to; `terms` = Terms; `due_date` = Due date; `po` = PO #; `sales_order` = Sales order #; `invoice_method` = Sent via; `period` = Service period; `comments` = Comments; `subtotal` = Subtotal; `tax` = Tax; `total` = Total amount; `payments` = Payments; `amount_due` = Total amount due; `detach` = Please detach and return this portion with your payment; `amount_paid` = Amount paid; `payment_options` = Payment options; `by_check` = By check; `by_lockbox` = By courier or lockbox; `by_transfer` = By ACH / wire; `by_ach` = By ACH; `by_wire` = By wire; `account` = Account #; `routing` = Routing #; `wire_routing` = Wire routing #; `page` = Page; `of` = of; `details` = Details; `reference` = Reference; `instructions` = Instructions; `payment_slip` = Payment slip; `from` = From; `amount_enclosed` = Amount enclosed; `balance` = Invoice balance; `lang` = en; `pay_online` = Pay online at the link below."},"date_format":{"anyOf":[{"$ref":"#/components/schemas/DateFormat"},{"type":"null"}],"title":"","description":"How every date on the page prints, as a Python strftime pattern from the allowed list (`%d/%m/%Y` prints 22/10/2026). `%b` prints the English month. `null` keeps the layout's own format."},"currency":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"","description":"The template's home currency (ISO 4217). Invoices keep their own currency; this decides how amounts are written, so a CAD template prints CAD as `$` and USD as `US$`, and what the preview's sample invoice bills in. `null` uses the organization's currency."}},"type":"object","required":["state","action","combine_pdfs_from","show_org_contact","show_mailing_address","show_banking","show_ship_to","show_bill_to","show_purchase_order_number","show_order_number","show_customer_number","show_payment_terms","show_invoice_method","show_due_date","show_invoice_period","show_invoice_balance","show_tax_row","show_payments_row","show_comments","show_late_fee_note","show_payment_instructions","show_terms","show_payment_stub","mailing_address","wire_address","lockbox_address","banking","payment_terms","invoice_method","late_fee_note","footer_note","notes","payment_instructions","org_contact_lines","accent_color","layout_name","logo_url","company_name","header_fields","terms_blocks","terms_placement","line_item_columns","payment_link","totals_rows","labels","date_format","currency"],"title":"InvoicePdfTemplateDraft","description":"Drafted settings in the shape `createTemplate` and `updateTemplate` take. Its own class so\nthe request schema is only ever an input: a schema used both ways is generated as two types."},"InvoicePdfTemplateRequest":{"properties":{"state":{"anyOf":[{"$ref":"#/components/schemas/InvoicePdfTemplateState"},{"type":"null"}],"title":""},"action":{"anyOf":[{"$ref":"#/components/schemas/InvoicePdfTemplateAction"},{"type":"null"}],"title":""},"combine_pdfs_from":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":""},"show_org_contact":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_mailing_address":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_banking":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_ship_to":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_bill_to":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_purchase_order_number":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_order_number":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_customer_number":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_payment_terms":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_invoice_method":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_due_date":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_invoice_period":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_invoice_balance":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_tax_row":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_payments_row":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_comments":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_late_fee_note":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_payment_instructions":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_terms":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_payment_stub":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Print the tear-off remittance stub. Only layouts that have one print it; the rest ignore it."},"mailing_address":{"anyOf":[{"$ref":"#/components/schemas/PdfAddressSchema-Input"},{"type":"null"}],"title":""},"wire_address":{"anyOf":[{"$ref":"#/components/schemas/PdfAddressSchema-Input"},{"type":"null"}],"title":""},"lockbox_address":{"anyOf":[{"$ref":"#/components/schemas/PdfAddressSchema-Input"},{"type":"null"}],"title":""},"banking":{"anyOf":[{"$ref":"#/components/schemas/PdfBankDetailsSchema-Input"},{"type":"null"}],"title":""},"payment_terms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoice_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"late_fee_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"footer_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"payment_instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"org_contact_lines":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""},"accent_color":{"anyOf":[{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},{"type":"null"}],"title":""},"layout_name":{"anyOf":[{"type":"string","pattern":"^(org/)?[a-z0-9][a-z0-9-]*$"},{"type":"null"}],"title":""},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"header_fields":{"anyOf":[{"items":{"$ref":"#/components/schemas/PdfHeaderFieldSchema"},"type":"array"},{"type":"null"}],"title":""},"terms_blocks":{"anyOf":[{"items":{"$ref":"#/components/schemas/PdfTermsBlockSchema-Input"},"type":"array","maxItems":2},{"type":"null"}],"title":""},"terms_placement":{"anyOf":[{"$ref":"#/components/schemas/TermsPlacement"},{"type":"null"}],"title":""},"line_item_columns":{"anyOf":[{"items":{"$ref":"#/components/schemas/PdfLineItemColumnSchema-Input"},"type":"array","minItems":1},{"type":"null"}],"title":""},"payment_link":{"anyOf":[{"$ref":"#/components/schemas/PdfPaymentLinkSchema-Input"},{"type":"null"}],"title":""},"totals_rows":{"anyOf":[{"items":{"$ref":"#/components/schemas/PdfTotalsRowSchema-Input"},"type":"array"},{"type":"null"}],"title":"","description":"The totals block top to bottom. `null` prints subtotal, tax, total, payments and amount due as `show_tax_row`, `show_payments_row` and `show_invoice_balance` allow; a list decides the rows and those three switches no longer apply."},"labels":{"anyOf":[{"additionalProperties":{"type":"string","minLength":1},"propertyNames":{"$ref":"#/components/schemas/LabelKey"},"type":"object"},{"type":"null"}],"title":"","description":"Captions to print instead of the layout's own, keyed by caption, in any language. A key left out keeps the layout's wording; `null` clears every rename. The English wording each key stands for: `invoice` = Invoice; `invoice_no` = Invoice no.; `invoice_date` = Invoice date; `customer_no` = Customer no.; `bill_to` = Bill to; `ship_to` = Ship to; `terms` = Terms; `due_date` = Due date; `po` = PO #; `sales_order` = Sales order #; `invoice_method` = Sent via; `period` = Service period; `comments` = Comments; `subtotal` = Subtotal; `tax` = Tax; `total` = Total amount; `payments` = Payments; `amount_due` = Total amount due; `detach` = Please detach and return this portion with your payment; `amount_paid` = Amount paid; `payment_options` = Payment options; `by_check` = By check; `by_lockbox` = By courier or lockbox; `by_transfer` = By ACH / wire; `by_ach` = By ACH; `by_wire` = By wire; `account` = Account #; `routing` = Routing #; `wire_routing` = Wire routing #; `page` = Page; `of` = of; `details` = Details; `reference` = Reference; `instructions` = Instructions; `payment_slip` = Payment slip; `from` = From; `amount_enclosed` = Amount enclosed; `balance` = Invoice balance; `lang` = en; `pay_online` = Pay online at the link below."},"date_format":{"anyOf":[{"$ref":"#/components/schemas/DateFormat"},{"type":"null"}],"title":"","description":"How every date on the page prints, as a Python strftime pattern from the allowed list (`%d/%m/%Y` prints 22/10/2026). `%b` prints the English month. `null` keeps the layout's own format."},"currency":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"","description":"The template's home currency (ISO 4217). Invoices keep their own currency; this decides how amounts are written, so a CAD template prints CAD as `$` and USD as `US$`, and what the preview's sample invoice bills in. `null` uses the organization's currency."}},"type":"object","title":"InvoicePdfTemplateRequest","description":"Only fields included are written. `null` clears a field; a `null` `line_item_columns`\nrestores the default columns. `state` (not on the default) decides whether matching considers\nthe template; disabled templates pass their invoices on to the next template or the default.\n`action` is what happens to invoices this template picks. `combine_pdfs_from` is how emails attach this template's\ngenerated PDFs: `null` follows the organization, `0` attaches one per invoice, and 2 or more combines\nthem into one file from that many."},"InvoicePdfTemplateResponse":{"properties":{"id":{"type":"string","title":""},"name":{"type":"string","title":""},"is_default":{"type":"boolean","title":""},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"state":{"$ref":"#/components/schemas/InvoicePdfTemplateState","title":""},"action":{"$ref":"#/components/schemas/InvoicePdfTemplateAction","title":""},"combine_pdfs_from":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""},"show_org_contact":{"type":"boolean","title":""},"show_mailing_address":{"type":"boolean","title":""},"show_banking":{"type":"boolean","title":""},"show_ship_to":{"type":"boolean","title":""},"show_bill_to":{"type":"boolean","title":""},"show_purchase_order_number":{"type":"boolean","title":""},"show_order_number":{"type":"boolean","title":""},"show_customer_number":{"type":"boolean","title":""},"show_payment_terms":{"type":"boolean","title":""},"show_invoice_method":{"type":"boolean","title":""},"show_due_date":{"type":"boolean","title":""},"show_invoice_period":{"type":"boolean","title":""},"show_invoice_balance":{"type":"boolean","title":""},"show_tax_row":{"type":"boolean","title":""},"show_payments_row":{"type":"boolean","title":""},"show_comments":{"type":"boolean","title":""},"show_late_fee_note":{"type":"boolean","title":""},"show_payment_instructions":{"type":"boolean","title":""},"show_terms":{"type":"boolean","title":""},"show_payment_stub":{"type":"boolean","title":""},"mailing_address":{"anyOf":[{"$ref":"#/components/schemas/PdfAddressSchema-Output"},{"type":"null"}],"title":""},"wire_address":{"anyOf":[{"$ref":"#/components/schemas/PdfAddressSchema-Output"},{"type":"null"}],"title":""},"lockbox_address":{"anyOf":[{"$ref":"#/components/schemas/PdfAddressSchema-Output"},{"type":"null"}],"title":""},"banking":{"anyOf":[{"$ref":"#/components/schemas/PdfBankDetailsSchema-Output"},{"type":"null"}],"title":""},"payment_terms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoice_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"late_fee_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"footer_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"payment_instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"org_contact_lines":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""},"accent_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"layout_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"header_fields":{"anyOf":[{"items":{"$ref":"#/components/schemas/PdfHeaderFieldSchema"},"type":"array"},{"type":"null"}],"title":""},"terms_blocks":{"anyOf":[{"items":{"$ref":"#/components/schemas/PdfTermsBlockSchema-Output"},"type":"array"},{"type":"null"}],"title":""},"terms_placement":{"$ref":"#/components/schemas/TermsPlacement","title":""},"line_item_columns":{"items":{"$ref":"#/components/schemas/PdfLineItemColumnSchema-Output"},"type":"array","title":""},"payment_link":{"anyOf":[{"$ref":"#/components/schemas/PdfPaymentLinkSchema-Output"},{"type":"null"}],"title":""},"totals_rows":{"anyOf":[{"items":{"$ref":"#/components/schemas/PdfTotalsRowSchema-Output"},"type":"array"},{"type":"null"}],"title":""},"labels":{"anyOf":[{"additionalProperties":{"type":"string"},"propertyNames":{"$ref":"#/components/schemas/LabelKey"},"type":"object"},{"type":"null"}],"title":""},"date_format":{"anyOf":[{"$ref":"#/components/schemas/DateFormat"},{"type":"null"}],"title":""},"currency":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":""}},"type":"object","required":["id","name","is_default","slug","created_at","modified_at","state","action","combine_pdfs_from","show_org_contact","show_mailing_address","show_banking","show_ship_to","show_bill_to","show_purchase_order_number","show_order_number","show_customer_number","show_payment_terms","show_invoice_method","show_due_date","show_invoice_period","show_invoice_balance","show_tax_row","show_payments_row","show_comments","show_late_fee_note","show_payment_instructions","show_terms","show_payment_stub","mailing_address","wire_address","lockbox_address","banking","payment_terms","invoice_method","late_fee_note","footer_note","notes","payment_instructions","org_contact_lines","accent_color","layout_name","logo_url","company_name","header_fields","terms_blocks","terms_placement","line_item_columns","payment_link","totals_rows","labels","date_format","currency"],"title":"InvoicePdfTemplateResponse","description":"One invoice PDF template; unset fields report their defaults."},"InvoicePdfTemplateState":{"type":"string","enum":["active","disabled"],"title":"InvoicePdfTemplateState"},"InvoicePdfTemplateUpdateRequest":{"properties":{"state":{"anyOf":[{"$ref":"#/components/schemas/InvoicePdfTemplateState"},{"type":"null"}],"title":""},"action":{"anyOf":[{"$ref":"#/components/schemas/InvoicePdfTemplateAction"},{"type":"null"}],"title":""},"combine_pdfs_from":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":""},"show_org_contact":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_mailing_address":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_banking":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_ship_to":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_bill_to":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_purchase_order_number":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_order_number":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_customer_number":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_payment_terms":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_invoice_method":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_due_date":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_invoice_period":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_invoice_balance":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_tax_row":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_payments_row":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_comments":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_late_fee_note":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_payment_instructions":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_terms":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"show_payment_stub":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Print the tear-off remittance stub. Only layouts that have one print it; the rest ignore it."},"mailing_address":{"anyOf":[{"$ref":"#/components/schemas/PdfAddressSchema-Input"},{"type":"null"}],"title":""},"wire_address":{"anyOf":[{"$ref":"#/components/schemas/PdfAddressSchema-Input"},{"type":"null"}],"title":""},"lockbox_address":{"anyOf":[{"$ref":"#/components/schemas/PdfAddressSchema-Input"},{"type":"null"}],"title":""},"banking":{"anyOf":[{"$ref":"#/components/schemas/PdfBankDetailsSchema-Input"},{"type":"null"}],"title":""},"payment_terms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoice_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"late_fee_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"footer_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"payment_instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"org_contact_lines":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""},"accent_color":{"anyOf":[{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},{"type":"null"}],"title":""},"layout_name":{"anyOf":[{"type":"string","pattern":"^(org/)?[a-z0-9][a-z0-9-]*$"},{"type":"null"}],"title":""},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"header_fields":{"anyOf":[{"items":{"$ref":"#/components/schemas/PdfHeaderFieldSchema"},"type":"array"},{"type":"null"}],"title":""},"terms_blocks":{"anyOf":[{"items":{"$ref":"#/components/schemas/PdfTermsBlockSchema-Input"},"type":"array","maxItems":2},{"type":"null"}],"title":""},"terms_placement":{"anyOf":[{"$ref":"#/components/schemas/TermsPlacement"},{"type":"null"}],"title":""},"line_item_columns":{"anyOf":[{"items":{"$ref":"#/components/schemas/PdfLineItemColumnSchema-Input"},"type":"array","minItems":1},{"type":"null"}],"title":""},"payment_link":{"anyOf":[{"$ref":"#/components/schemas/PdfPaymentLinkSchema-Input"},{"type":"null"}],"title":""},"totals_rows":{"anyOf":[{"items":{"$ref":"#/components/schemas/PdfTotalsRowSchema-Input"},"type":"array"},{"type":"null"}],"title":"","description":"The totals block top to bottom. `null` prints subtotal, tax, total, payments and amount due as `show_tax_row`, `show_payments_row` and `show_invoice_balance` allow; a list decides the rows and those three switches no longer apply."},"labels":{"anyOf":[{"additionalProperties":{"type":"string","minLength":1},"propertyNames":{"$ref":"#/components/schemas/LabelKey"},"type":"object"},{"type":"null"}],"title":"","description":"Captions to print instead of the layout's own, keyed by caption, in any language. A key left out keeps the layout's wording; `null` clears every rename. The English wording each key stands for: `invoice` = Invoice; `invoice_no` = Invoice no.; `invoice_date` = Invoice date; `customer_no` = Customer no.; `bill_to` = Bill to; `ship_to` = Ship to; `terms` = Terms; `due_date` = Due date; `po` = PO #; `sales_order` = Sales order #; `invoice_method` = Sent via; `period` = Service period; `comments` = Comments; `subtotal` = Subtotal; `tax` = Tax; `total` = Total amount; `payments` = Payments; `amount_due` = Total amount due; `detach` = Please detach and return this portion with your payment; `amount_paid` = Amount paid; `payment_options` = Payment options; `by_check` = By check; `by_lockbox` = By courier or lockbox; `by_transfer` = By ACH / wire; `by_ach` = By ACH; `by_wire` = By wire; `account` = Account #; `routing` = Routing #; `wire_routing` = Wire routing #; `page` = Page; `of` = of; `details` = Details; `reference` = Reference; `instructions` = Instructions; `payment_slip` = Payment slip; `from` = From; `amount_enclosed` = Amount enclosed; `balance` = Invoice balance; `lang` = en; `pay_online` = Pay online at the link below."},"date_format":{"anyOf":[{"$ref":"#/components/schemas/DateFormat"},{"type":"null"}],"title":"","description":"How every date on the page prints, as a Python strftime pattern from the allowed list (`%d/%m/%Y` prints 22/10/2026). `%b` prints the English month. `null` keeps the layout's own format."},"currency":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"","description":"The template's home currency (ISO 4217). Invoices keep their own currency; this decides how amounts are written, so a CAD template prints CAD as `$` and USD as `US$`, and what the preview's sample invoice bills in. `null` uses the organization's currency."},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":""},"slug":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":""}},"type":"object","title":"InvoicePdfTemplateUpdateRequest","description":"Name, slug (not on the default; `null` removes it) and config fields."},"InvoiceSearchResult":{"properties":{"invoice":{"$ref":"#/components/schemas/InvoiceSummary","title":""},"score":{"type":"number","title":"","description":"Relevance score (0.0-1.0)"},"match_type":{"anyOf":[{"type":"string","enum":["exact","fuzzy"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"","description":"Whether match was exact or fuzzy. None when browsing without a query."},"matched_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Field that matched (e.g., 'invoice.number', 'partner.name')"},"matched_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The query value that matched"}},"type":"object","required":["invoice","score","match_type","matched_field","matched_value"],"title":"InvoiceSearchResult","description":"Search result containing invoice summary and match metadata."},"InvoiceStatus":{"type":"string","enum":["draft","open","uncollectible","paid","void"],"title":"InvoiceStatus","description":"Invoice status."},"InvoiceSummary":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"A unique, identifying string that appears on emails sent to the customer for this invoice."},"status":{"$ref":"#/components/schemas/InvoiceStatus","title":"","description":"The status of the invoice. One of `draft`, `open`, `paid`, `uncollectible`, or `void`."},"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"The invoice's currency code (e.g. USD)."},"amount_due":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The total amount due on the invoice."},"amount_paid":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The total amount paid on the invoice."},"amount_remaining":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The remaining balance on the invoice, excluding unposted payments."},"pending_amount_remaining":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The remaining balance on the invoice, including unposted payments."},"total_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The total amount on the invoice."},"due_date":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"The invoice's due date."},"issued_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"The invoice's issue date."},"paid_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"The date the invoice was paid."},"purchase_order_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Unique identifier assigned to a purchase order by a buyer."},"order_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Unique identifier assigned to a purchase by a seller."},"partner":{"anyOf":[{"$ref":"#/components/schemas/PartnerSummary"},{"type":"null"}],"title":"","description":"The invoice's vendor or customer."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","number","status","currency","amount_due","amount_paid","amount_remaining","pending_amount_remaining","total_amount","due_date","issued_at","paid_at","purchase_order_number","order_number","partner","object"],"title":"InvoiceSummary","description":"Invoice summary for nested relationships and search results."},"InvoiceVirtualStatus":{"type":"string","enum":["draft","open","uncollectible","paid","void","processing","overdue","partially_paid","promised","broken_promise"],"title":"InvoiceVirtualStatus"},"InvoiceWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/InvoiceWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/InvoiceWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"customFields":{"$ref":"#/components/schemas/DynamicFields-Input","title":"Customfields"},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"number":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Number"},"currency":{"$ref":"#/components/schemas/EqualityComparator_Currency_","title":"Currency"},"amountDue":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Amountdue","description":"Amount due in the invoice currency's minor units."},"amountPaid":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Amountpaid","description":"Amount paid in the invoice currency's minor units."},"amountRemaining":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Amountremaining","description":"Amount remaining in the invoice currency's minor units."},"totalAmount":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Totalamount","description":"Total amount in the invoice currency's minor units."},"dueDate":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Duedate"},"issuedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Issuedat"},"paidAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Paidat"},"promisedToPayDate":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Promisedtopaydate"},"purchaseOrderNumber":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Purchaseordernumber"},"orderNumber":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Ordernumber"},"lastOutreachAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Lastoutreachat"},"lastOutreachTo":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Lastoutreachto"},"inDispute":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Indispute"},"isOpen":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isopen","description":"Whether the invoice has open accounting status and a positive remaining balance."},"remotePaymentStatus":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_PaymentStatus_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Remotepaymentstatus"},"status":{"$ref":"#/components/schemas/EqualityComparator_InvoiceStatus_","title":"Status"},"virtualStatus":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Virtualstatus"},"daysOverdue":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Daysoverdue"},"daysUntilDue":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Daysuntildue"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"}},"additionalProperties":false,"type":"object","title":"InvoiceWorkflowFilter","description":"Typed invoice fields that can be compiled directly to SQLAlchemy."},"InvoiceWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/InvoiceWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/InvoiceWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"customFields":{"$ref":"#/components/schemas/DynamicFields-Output","title":"Customfields"},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"number":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Number"},"currency":{"$ref":"#/components/schemas/EqualityComparator_Currency_","title":"Currency"},"amountDue":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Amountdue","description":"Amount due in the invoice currency's minor units."},"amountPaid":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Amountpaid","description":"Amount paid in the invoice currency's minor units."},"amountRemaining":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Amountremaining","description":"Amount remaining in the invoice currency's minor units."},"totalAmount":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Totalamount","description":"Total amount in the invoice currency's minor units."},"dueDate":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Duedate"},"issuedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Issuedat"},"paidAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Paidat"},"promisedToPayDate":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Promisedtopaydate"},"purchaseOrderNumber":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Purchaseordernumber"},"orderNumber":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Ordernumber"},"lastOutreachAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Lastoutreachat"},"lastOutreachTo":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Lastoutreachto"},"inDispute":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Indispute"},"isOpen":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isopen","description":"Whether the invoice has open accounting status and a positive remaining balance."},"remotePaymentStatus":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_PaymentStatus_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Remotepaymentstatus"},"status":{"$ref":"#/components/schemas/EqualityComparator_InvoiceStatus_","title":"Status"},"virtualStatus":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Virtualstatus"},"daysOverdue":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Daysoverdue"},"daysUntilDue":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Daysuntildue"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"}},"additionalProperties":false,"type":"object","title":"InvoiceWorkflowFilter","description":"Typed invoice fields that can be compiled directly to SQLAlchemy."},"ItemSummary":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"name":{"type":"string","title":""},"sku":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The stock keeping unit (SKU) for this Item."},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"type":{"$ref":"#/components/schemas/ItemType","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","sku","number","type","object"],"title":"ItemSummary","description":"Lightweight item for nested relationships."},"ItemType":{"type":"string","enum":["inventory","non_inventory","service"],"title":"ItemType"},"JiraConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"jira","title":""},"subdomain":{"type":"string","title":"","description":"Jira Cloud subdomain (e.g. 'acme' for acme.atlassian.net)."},"email":{"type":"string","title":"","description":"Email of the Atlassian account that owns the API token."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","subdomain","email","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"JiraConnection","description":"Jira integration connection."},"JiraConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"jira","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"subdomain":{"type":"string","title":"","description":"Jira Cloud subdomain (e.g. 'acme' for acme.atlassian.net)."},"email":{"type":"string","title":"","description":"Email of the Atlassian account that owns the API token."},"api_token":{"type":"string","format":"password","title":"","description":"Atlassian API token.","writeOnly":true}},"type":"object","required":["provider_name","subdomain","email","api_token"],"title":"JiraConnectionCreateBody","description":"Create schema for Jira connections."},"JiraConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"jira","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"subdomain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Jira Cloud subdomain (e.g. 'acme' for acme.atlassian.net)."},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Email of the Atlassian account that owns the API token."},"api_token":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"Atlassian API token."}},"type":"object","required":["provider_name"],"title":"JiraConnectionUpdate","description":"Update schema for Jira connections."},"JoinableOrg":{"properties":{"organization_id":{"type":"string","title":"","description":"ID of the joinable org — pass as `organization` to /register to join it (the email is already verified, so this fully identifies eligibility)."},"organization_name":{"type":"string","title":"","description":"Display name of the organization."},"organization_logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Logo of the organization, if it has one."}},"type":"object","required":["organization_id","organization_name","organization_logo_url"],"title":"JoinableOrg","description":"An existing organization the verified email can join instead of (or in addition to)\nfounding a new one — either via a pending invite or because the org auto-provisions the\nemail's domain. Surfaced so the frontend can offer 'join organization vs. create new'."},"JpmcConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"jpmc","title":""},"multi_tenant_client_id":{"type":"string","title":"","description":"JPMC multi-tenant child profile identifier (ClientID header)."},"account_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"List of bank account IDs to sync transactions for."},"lockbox_enabled":{"type":"boolean","title":"","description":"Whether lockbox file sync is enabled for this connection."},"lockbox_sftp_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SFTP username for lockbox file retrieval."},"lockbox_sftp_data_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SFTP path for CSV/LDT data files (e.g. /outbound/LBX02). Falls back to JpmcConfig.LOCKBOX_SFTP_PATH."},"lockbox_sftp_img_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SFTP path for IMG zip files (e.g. /outbound/IMG01). Falls back to JpmcConfig.LOCKBOX_SFTP_PATH."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","multi_tenant_client_id","account_ids","lockbox_enabled","lockbox_sftp_username","lockbox_sftp_data_path","lockbox_sftp_img_path","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"JpmcConnection","description":"JP Morgan Chase integration connection."},"JpmcConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"jpmc","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"multi_tenant_client_id":{"type":"string","title":"","description":"JPMC multi-tenant child profile identifier (ClientID header)."},"account_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"List of bank account IDs to sync transactions for."},"lockbox_enabled":{"type":"boolean","title":"","description":"Whether lockbox file sync is enabled for this connection.","default":false},"lockbox_sftp_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SFTP username for lockbox file retrieval."},"lockbox_sftp_data_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SFTP path for CSV/LDT data files (e.g. /outbound/LBX02). Falls back to JpmcConfig.LOCKBOX_SFTP_PATH."},"lockbox_sftp_img_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SFTP path for IMG zip files (e.g. /outbound/IMG01). Falls back to JpmcConfig.LOCKBOX_SFTP_PATH."}},"type":"object","required":["provider_name","multi_tenant_client_id"],"title":"JpmcConnectionCreateBody","description":"Create schema for JPMC connections."},"JpmcConnectionUpdateBody":{"properties":{"provider_name":{"type":"string","const":"jpmc","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"multi_tenant_client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"JPMC multi-tenant child profile identifier (ClientID header)."},"account_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"List of bank account IDs to sync transactions for."},"lockbox_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether lockbox file sync is enabled for this connection."},"lockbox_sftp_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SFTP username for lockbox file retrieval."},"lockbox_sftp_data_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SFTP path for CSV/LDT data files (e.g. /outbound/LBX02). Falls back to JpmcConfig.LOCKBOX_SFTP_PATH."},"lockbox_sftp_img_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SFTP path for IMG zip files (e.g. /outbound/IMG01). Falls back to JpmcConfig.LOCKBOX_SFTP_PATH."}},"type":"object","required":["provider_name"],"title":"JpmcConnectionUpdateBody","description":"Update schema for JPMC connections."},"KYBAddressSummary":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Street address line."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"City name."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Two-letter state code."},"zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ZIP or postal code."},"address_type":{"anyOf":[{"$ref":"#/components/schemas/BusinessAddressType"},{"type":"null"}],"title":"","description":"USPS address classification (street, PO box, CMRA, etc.)."},"is_cmra":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"True if address is a Commercial Mail Receiving Agency."},"is_residential":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"True if address is classified as residential (RDI indicator)."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","street","city","state","zip","address_type","is_cmra","is_residential","object"],"title":"KYBAddressSummary","description":"Address associated with the business."},"KYBIndustryCode":{"properties":{"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"visa_risk_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"mastercard_risk":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""}},"type":"object","required":["code","description","visa_risk_tier","mastercard_risk"],"title":"KYBIndustryCode","description":"A single industry classification code."},"KYBLienSummary":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"filing_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Official filing number from the recording office."},"filing_type":{"$ref":"#/components/schemas/LienFilingType","title":"","description":"Type of lien filing (UCC-1, tax lien, judgment, etc.)."},"status":{"$ref":"#/components/schemas/LienStatus","title":"","description":"Current status of the lien (active, terminated, lapsed)."},"filed_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"Date the lien was filed."},"expiration_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"Date the lien expires or lapsed."},"secured_party":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Name of the secured party (lender). May be masked."},"is_blanket_lien":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"True if this is an 'all assets' blanket lien."},"collateral_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Description of collateral covered by the lien."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","filing_number","filing_type","status","filed_date","expiration_date","secured_party","is_blanket_lien","collateral_description","object"],"title":"KYBLienSummary","description":"Lien discovered during verification."},"KYBOfficerSummary":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"name":{"type":"string","title":"","description":"Full name of the officer."},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Officer title (CEO, Managing Member, Registered Agent, etc.)."},"source":{"anyOf":[{"$ref":"#/components/schemas/OfficerSource"},{"type":"null"}],"title":"","description":"Where this officer information was discovered."},"is_input_match":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"True if this officer matches a name provided in verification input."},"match_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"","description":"Fuzzy match confidence score (0.0-1.0) if matched against input."},"watchlist_clear":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"True if this individual has no watchlist hits."},"pep_status":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"True if this individual is a Politically Exposed Person."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","title","source","is_input_match","match_score","watchlist_clear","pep_status","object"],"title":"KYBOfficerSummary","description":"Officer discovered during verification."},"KYBRegistrationSummary":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"registration_type":{"type":"string","title":"","description":"Registration type from SoS (e.g., 'domestic', 'foreign')."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Two-letter state code for this registration."},"status":{"anyOf":[{"$ref":"#/components/schemas/SosStatus"},{"type":"null"}],"title":"","description":"Secretary of State registration status."},"standing":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SOS standing (e.g., 'Good Standing', 'Suspended')."},"file_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Secretary of State filing/file number."},"registered_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Business name as registered in this state."},"issue_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"Date the registration was issued."},"inactive_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"Date the registration became inactive, if applicable."},"dissolution_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"Date the business was dissolved in this state, if applicable."},"registered_agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Name of the registered/statutory agent in this state."},"registered_agent_address":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Full address of the registered agent (street, city, state, zip)."},"registered_address":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Registered address in this state (street, city, state, zip)."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","registration_type","state","status","standing","file_number","registered_name","issue_date","inactive_date","dissolution_date","registered_agent_name","registered_agent_address","registered_address","object"],"title":"KYBRegistrationSummary","description":"SoS registration discovered during verification."},"KYBSettingsRequest":{"properties":{"website_analysis_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"naics_prediction_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"lien_search_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"monthly_verification_limit":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":""}},"type":"object","title":"KYBSettingsRequest","description":"Request to update KYB settings."},"KYBSettingsResponse":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"website_analysis_enabled":{"type":"boolean","title":"","description":"Include website discovery and analysis in KYB verifications."},"naics_prediction_enabled":{"type":"boolean","title":"","description":"Include industry (NAICS) prediction in KYB verifications."},"lien_search_enabled":{"type":"boolean","title":"","description":"Include UCC lien search in KYB verifications."},"monthly_verification_limit":{"type":"integer","title":"","description":"Maximum number of KYB verifications allowed per calendar month."},"verifications_used":{"type":"integer","title":"","default":0},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","website_analysis_enabled","naics_prediction_enabled","lien_search_enabled","monthly_verification_limit","verifications_used","object"],"title":"KYBSettingsResponse","description":"KYB configuration for the organization."},"KYBVerificationDetail":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"status":{"$ref":"#/components/schemas/VerificationStatus","title":"","description":"Current status of the verification request."},"verification_type":{"$ref":"#/components/schemas/VerificationType","title":"","description":"The type of verification performed."},"requested_at":{"type":"string","format":"date-time","title":"","description":"When the verification was requested."},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When the verification completed (success or failure)."},"is_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Overall verification result - True if business is verified, False if not, None if pending."},"verification_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Verification quality rating (A, B, C, F). Null if vendor doesn't provide."},"risk_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Risk assessment rating (A, B, C, F). Null if vendor doesn't provide."},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Error message if verification failed."},"verification_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Verification quality score (0-100). Null if vendor doesn't provide."},"risk_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Risk assessment score (0-100). Null if vendor doesn't provide."},"sos_status":{"anyOf":[{"$ref":"#/components/schemas/SosStatus"},{"type":"null"}],"title":"","description":"Secretary of State registration status."},"sos_standing":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SOS standing (e.g., 'GOOD STANDING', 'SUSPENDED'). Distinct from sos_status."},"sos_file_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Secretary of State filing/file number."},"registration_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SOS registration type (e.g., 'domestic', 'foreign')."},"registered_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Official business name on the SOS registration (may differ from search name)."},"business_structure":{"anyOf":[{"$ref":"#/components/schemas/BusinessStructure"},{"type":"null"}],"title":"","description":"Legal structure of the business (LLC, Corporation, Sole Prop, etc.)."},"business_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Legal entity address as reported by vendor."},"formation_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"Date the business was formed/incorporated."},"inactive_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"Date the business became inactive, if applicable."},"dissolution_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"Date the business was dissolved, if applicable."},"domestic_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Two-letter state code where business is domiciled."},"registered_agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Name of the registered/statutory agent."},"registered_agent_address":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Full address of the registered agent (street, city, state, zip)."},"alternative_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Alternate business names / DBAs from official records."},"registered_address":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Full registered address from SOS records (street, city, state, zip)."},"name_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether the business name was verified against official records."},"name_match_quality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Raw name match quality from vendor (e.g., 'EXACT', 'PARTIAL', 'NO_MATCH')."},"address_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether the business address was verified."},"address_match_quality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Raw address match quality from vendor (e.g., 'EXACT', 'PARTIAL', 'NO_MATCH')."},"tin_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether the Tax ID (TIN/EIN) was verified with IRS records."},"address_type":{"anyOf":[{"$ref":"#/components/schemas/BusinessAddressType"},{"type":"null"}],"title":"","description":"USPS address classification (street, PO box, CMRA, etc.)."},"is_residential":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"True if address is classified as residential (RDI indicator)."},"naics_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"6-digit NAICS industry code."},"mcc_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"4-digit Merchant Category Code."},"sic_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"4-digit Standard Industrial Classification code."},"industry_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Human-readable industry description."},"industry_confidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"","description":"Industry prediction confidence score (0.0-1.0)."},"naics_risk_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"NAICS risk level from prediction (e.g. 'high', 'medium', 'low')."},"mcc_codes":{"anyOf":[{"items":{"$ref":"#/components/schemas/KYBIndustryCode"},"type":"array"},{"type":"null"}],"title":"","description":"All predicted MCC codes from vendor [{code, description}, ...]."},"sic_codes":{"anyOf":[{"items":{"$ref":"#/components/schemas/KYBIndustryCode"},"type":"array"},{"type":"null"}],"title":"","description":"All predicted SIC codes from vendor [{code, description}, ...]."},"industry_keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Industry classification keywords from NAICS prediction."},"industry_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"LLM reasoning for the NAICS industry classification."},"website_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Discovered or verified business website URL."},"domain_age_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Age of the domain in days."},"has_ssl":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether the website has a valid SSL certificate."},"email_deliverable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether email to the business domain is deliverable."},"officer_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Number of officers discovered."},"officer_match":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"True if any provided officer name matched discovered officers."},"active_lien_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Total count of active liens (UCC, tax, judgment)."},"active_ucc_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Count of active UCC filings."},"tax_lien_found":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"True if any tax liens (federal or state) were found."},"judgment_found":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"True if any judgment liens were found."},"watchlist_clear":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"True if no hits on any sanctions/watchlists. False if any hits found."},"ofac_clear":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"True if no OFAC (SDN, SSI, etc.) hits found."},"pep_found":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"True if any Politically Exposed Person matches found."},"registrations":{"items":{"$ref":"#/components/schemas/KYBRegistrationSummary"},"type":"array","title":"","description":"SoS registrations across all states."},"addresses":{"items":{"$ref":"#/components/schemas/KYBAddressSummary"},"type":"array","title":"","description":"Addresses associated with the business."},"officers":{"items":{"$ref":"#/components/schemas/KYBOfficerSummary"},"type":"array","title":"","description":"Officers discovered during verification."},"liens":{"items":{"$ref":"#/components/schemas/KYBLienSummary"},"type":"array","title":"","description":"Liens and filings discovered during verification."},"watchlist_hits":{"items":{"$ref":"#/components/schemas/KYBWatchlistHitSummary"},"type":"array","title":"","description":"Watchlist/sanctions matches found during verification."},"website_analysis_detail":{"anyOf":[{"$ref":"#/components/schemas/KYBWebsiteAnalysisSummary"},{"type":"null"}],"title":"","description":"Detailed website analysis data from online presence verification."},"input_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"The data sent to the vendor for verification (business_name, tax_id, address, etc.)."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","status","verification_type","requested_at","completed_at","is_verified","verification_rating","risk_rating","error_message","verification_score","risk_score","sos_status","sos_standing","sos_file_number","registration_type","registered_name","business_structure","business_address","formation_date","inactive_date","dissolution_date","domestic_state","registered_agent_name","registered_agent_address","alternative_names","registered_address","name_verified","name_match_quality","address_verified","address_match_quality","tin_verified","address_type","is_residential","naics_code","mcc_code","sic_code","industry_description","industry_confidence","naics_risk_level","mcc_codes","sic_codes","industry_keywords","industry_reasoning","website_url","domain_age_days","has_ssl","email_deliverable","officer_count","officer_match","active_lien_count","active_ucc_count","tax_lien_found","judgment_found","watchlist_clear","ofac_clear","pep_found","registrations","addresses","officers","liens","watchlist_hits","website_analysis_detail","input_data","object"],"title":"KYBVerificationDetail","description":"Full KYB verification details."},"KYBVerificationRequest":{"properties":{"business_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Business name to verify. If not provided, uses partner's name or legal_name."},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Full address string. If not provided, constructs from partner's billing_address."},"tin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Tax ID number (EIN/TIN). If not provided, uses partner's tax_number."},"officer_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"List of officer names to verify against business records."},"force":{"type":"boolean","title":"","description":"Bypass cooldown and force a new verification.","default":false}},"type":"object","title":"KYBVerificationRequest","description":"Request to start a KYB verification for a partner."},"KYBVerificationResponse":{"properties":{"verification_id":{"type":"string","title":""},"status":{"type":"string","title":""},"message":{"type":"string","title":""}},"type":"object","required":["verification_id","status","message"],"title":"KYBVerificationResponse","description":"Response after starting a KYB verification."},"KYBVerificationSummary":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"status":{"$ref":"#/components/schemas/VerificationStatus","title":"","description":"Current status of the verification request."},"verification_type":{"$ref":"#/components/schemas/VerificationType","title":"","description":"The type of verification performed."},"requested_at":{"type":"string","format":"date-time","title":"","description":"When the verification was requested."},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When the verification completed (success or failure)."},"is_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Overall verification result - True if business is verified, False if not, None if pending."},"verification_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Verification quality rating (A, B, C, F). Null if vendor doesn't provide."},"risk_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Risk assessment rating (A, B, C, F). Null if vendor doesn't provide."},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Error message if verification failed."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","status","verification_type","requested_at","completed_at","is_verified","verification_rating","risk_rating","error_message","object"],"title":"KYBVerificationSummary","description":"Summary of a KYB verification for list views."},"KYBWatchlistHitSummary":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"list_type":{"$ref":"#/components/schemas/WatchlistType","title":"","description":"The type of watchlist/sanctions database that matched."},"list_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Specific list name if more granular than list_type (e.g., specific OFAC program)."},"matched_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The name on the watchlist that matched. Null for zero-hit screenings."},"match_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"","description":"Fuzzy match confidence score (0.0-1.0)."},"matched_entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"What was matched: 'business' or 'officer'. Null for zero-hit screenings."},"matched_entity_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The input name (business or officer) that triggered the match. Null for zero-hit screenings."},"is_false_positive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"True if manually reviewed and determined to be a false positive."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","list_type","list_name","matched_name","match_score","matched_entity_type","matched_entity_name","is_false_positive","object"],"title":"KYBWatchlistHitSummary","description":"Watchlist screening result. Null match fields indicate a clean screening."},"KYBWebsiteAnalysisSummary":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The URL that was analyzed."},"parked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"True if the domain is parked (no real content)."},"email_deliverable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether email to the business domain is deliverable."},"ssl_valid":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether the website has a valid SSL certificate."},"website_build_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Website build status (e.g., 'active', 'parked', 'inactive')."},"website_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"AI-generated summary of the business from website content."},"screenshot_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"URL to a cached screenshot of the website."},"emails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Email addresses extracted from the website (JSON array of strings)."},"phone_numbers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Phone numbers extracted from the website (JSON array of strings)."},"social_profiles":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"","description":"Social media profiles found (JSON array of {site, url, username})."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","url","parked","email_deliverable","ssl_valid","website_build_status","website_summary","screenshot_url","emails","phone_numbers","social_profiles","object"],"title":"KYBWebsiteAnalysisSummary","description":"Website analysis data from online presence verification."},"Knowledge":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Article ID"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When this article was first created"},"title":{"type":"string","title":"Title","description":"Article title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"What this article covers"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content","description":"Full article content"},"collection":{"type":"string","title":"Collection","description":"Playbook collection"},"knowledge_type":{"$ref":"#/components/schemas/KnowledgeType","description":"Declarative, procedural, or document"},"status":{"$ref":"#/components/schemas/KnowledgeArticleStatus","description":"Published or archived"},"scope":{"$ref":"#/components/schemas/KnowledgeScope","description":"Visibility: shared, segment, or customer"},"customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Id","description":"Customer this article is scoped to"},"segment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Id","description":"Segment this article is scoped to"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At","description":"When last published"},"archived_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Archived At","description":"When archived"},"file_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"File Id","description":"Reference document attachment"},"file":{"anyOf":[{"$ref":"#/components/schemas/stuut__core__aether__playbook__types__File"},{"type":"null"}],"description":"Attached file"},"current_version":{"anyOf":[{"$ref":"#/components/schemas/VersionSummary"},{"type":"null"}],"description":"Latest version metadata"}},"type":"object","required":["id","created_at","title","collection","knowledge_type","status","scope"],"title":"Knowledge"},"KnowledgeArticleStatus":{"type":"string","enum":["archived","published"],"title":"KnowledgeArticleStatus"},"KnowledgeEntry":{"properties":{"id":{"type":"string","title":""},"operation":{"$ref":"#/components/schemas/Operation","title":""},"scope":{"$ref":"#/components/schemas/OperationScope","title":""},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"partner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"partner_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","operation","scope","content","partner_id","partner_name"],"title":"KnowledgeEntry","description":"An operation with its optional saved content."},"KnowledgeEntryList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/KnowledgeEntry"},"type":"array","title":""}},"type":"object","required":["data"],"title":"KnowledgeEntryList"},"KnowledgeEvidence":{"properties":{"id":{"type":"string","format":"uuid","title":"","description":"Evidence ID"},"excerpt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Evidence excerpt"},"file_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"","description":"Source file ID"},"memory_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"","description":"Source memory ID"}},"type":"object","required":["id","excerpt","file_id","memory_id"],"title":"KnowledgeEvidence"},"KnowledgeOperation":{"type":"string","enum":["created","modified"],"title":"KnowledgeOperation"},"KnowledgeProposal":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Proposal ID"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When this proposal was created"},"action":{"$ref":"#/components/schemas/ProposalAction","description":"Create, revise, or archive"},"article_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Article Id","description":"Target article"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content","description":"Proposed article content"},"customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Id","description":"Proposed customer scope"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Proposed article description"},"collection":{"anyOf":[{"type":"string","enum":["cash_application","collections","company","credit_risk","deductions","disputes","payments"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"Collection","description":"Proposed collection"},"extraction_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Extraction Id","description":"Extraction job that produced this"},"knowledge_type":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeType"},{"type":"null"}],"description":"Proposed knowledge type"},"review_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Notes","description":"Reviewer's notes"},"reviewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reviewed At","description":"When reviewed"},"reviewed_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewed By","description":"User who reviewed"},"segment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Id","description":"Proposed segment scope"},"source_excerpts":{"anyOf":[{"items":{"$ref":"#/components/schemas/SourceExcerpt"},"type":"array"},{"type":"null"}],"title":"Source Excerpts","description":"Verbatim excerpts from the source"},"stale":{"type":"boolean","title":"Stale","description":"True when target article was modified after proposal creation","default":false},"status":{"$ref":"#/components/schemas/ProposalStatus","description":"Pending, approved, or rejected"},"title":{"type":"string","title":"Title","description":"Proposed article title"}},"additionalProperties":false,"type":"object","required":["id","created_at","action","status","title"],"title":"KnowledgeProposal"},"KnowledgeScope":{"type":"string","enum":["shared","segment","customer"],"title":"KnowledgeScope"},"KnowledgeType":{"type":"string","enum":["declarative","document","procedural"],"title":"KnowledgeType"},"KnowledgeVersion":{"properties":{"version_number":{"type":"integer","title":"","description":"Sequential version number"},"title":{"type":"string","title":"","description":"Article title at this version"},"content":{"type":"string","title":"","description":"Full article content at this version"},"author_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User who authored this version"},"operation":{"$ref":"#/components/schemas/KnowledgeOperation","title":"","description":"Audit operation (created, modified)"},"created_at":{"type":"string","format":"date-time","title":"","description":"When this version was created"}},"type":"object","required":["version_number","title","content","author_id","operation","created_at"],"title":"KnowledgeVersion"},"KyribaConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"kyriba","title":""},"api_url":{"type":"string","title":""},"token_endpoint":{"type":"string","title":""},"client_id":{"type":"string","title":""},"templates":{"items":{"type":"string"},"type":"array","title":"","description":"Get configured template codes from settings.","default":[]},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","api_url","token_endpoint","client_id","templates","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"KyribaConnection","description":"Kyriba integration connection."},"KyribaConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"kyriba","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"api_url":{"type":"string","title":""},"token_endpoint":{"type":"string","title":""},"client_id":{"type":"string","title":""},"client_secret":{"type":"string","format":"password","title":"","writeOnly":true},"templates":{"items":{"type":"string"},"type":"array","title":"","description":"Get configured template codes from settings.","default":[]}},"type":"object","required":["provider_name","api_url","token_endpoint","client_id","client_secret"],"title":"KyribaConnectionCreateBody","description":"Create schema for Kyriba connections."},"KyribaConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"kyriba","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"templates":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Get configured template codes from settings."}},"type":"object","required":["provider_name"],"title":"KyribaConnectionUpdate","description":"Update schema for Kyriba connections."},"KyribaProcessTemplate":{"properties":{"code":{"type":"string","title":""},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"module":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["code","description","module","type"],"title":"KyribaProcessTemplate","description":"A Kyriba process template."},"LabelKey":{"type":"string","enum":["invoice","invoice_no","invoice_date","customer_no","bill_to","ship_to","terms","due_date","po","sales_order","invoice_method","period","comments","subtotal","tax","total","payments","amount_due","detach","amount_paid","payment_options","by_check","by_lockbox","by_transfer","by_ach","by_wire","account","routing","wire_routing","page","of","details","reference","instructions","payment_slip","from","amount_enclosed","balance","lang","pay_online"],"title":"LabelKey","description":"Every caption a template may rename. The list is the vocabulary the layouts, the API and the\nsettings form share: a layout reads `L.<key>`, the form shows one input per key."},"LedgerAccount":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"classification":{"$ref":"#/components/schemas/LedgerAccountClassification","title":""},"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"The currency code (e.g. USD)."},"current_balance":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The current balance of the ledger account."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"A description for the ledger account."},"is_active":{"type":"boolean","title":"","description":"Whether the account is active and can be used for new transactions."},"is_direct_posting_enabled":{"type":"boolean","title":"","description":"Whether transactions can be directly posted to this account."},"name":{"type":"string","title":"","description":"The name of the ledger account."},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ledger account number."},"parent_account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"remote_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The unique identifier of the ledger account in the system it originates from."},"subtype":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"type":{"type":"string","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","classification","currency","current_balance","description","is_active","is_direct_posting_enabled","name","number","parent_account_id","remote_id","subtype","type","object"],"title":"LedgerAccount"},"LedgerAccountClassification":{"type":"string","enum":["asset","equity","expense","liability","revenue","other"],"title":"LedgerAccountClassification"},"LedgerAccountSummary":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"name":{"type":"string","title":"","description":"The name of the ledger account."},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ledger account number."},"classification":{"$ref":"#/components/schemas/LedgerAccountClassification","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","number","classification","object"],"title":"LedgerAccountSummary","description":"Lightweight ledger account for nested relationships."},"LegalEntity":{"properties":{"value":{"type":"string","title":""},"label":{"type":"string","title":""}},"type":"object","required":["value","label"],"title":"LegalEntity"},"LienFilingType":{"type":"string","enum":["ucc1","ucc3_continuation","ucc3_amendment","ucc3_assignment","ucc3_termination","ucc5","federal_tax_lien","state_tax_lien","judgment","mechanics_lien","other"],"title":"LienFilingType","description":"Type of lien or public filing."},"LienStatus":{"type":"string","enum":["active","terminated","lapsed","amended"],"title":"LienStatus","description":"Current status of a lien filing."},"LineItemCustomFieldOption":{"properties":{"key":{"type":"string","title":""},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["key","label"],"title":"LineItemCustomFieldOption","description":"A custom field found on the organization's recent invoice line items."},"LineItemField":{"type":"string","enum":["line_number","quantity","item","name","description","product_type","period","unit_amount","total_discount","total_tax","total_amount","custom_field"],"title":"LineItemField"},"LineItemPairSchema":{"properties":{"status":{"$ref":"#/components/schemas/LinePairStatus","title":""},"severity":{"$ref":"#/components/schemas/Severity","title":"","default":"info"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"stuut_line_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"stuut_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"stuut_quantity":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"stuut_unit_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"stuut_total":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"po_line_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"po_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"po_quantity":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"po_unit_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"po_total":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""}},"type":"object","required":["status","severity","detail","stuut_line_number","stuut_description","stuut_quantity","stuut_unit_price","stuut_total","po_line_number","po_description","po_quantity","po_unit_price","po_total"],"title":"LineItemPair","description":"One invoice line paired with its PO line in the submit preview. Amounts on both sides\n(major-unit decimals, tax-exclusive) are carried so the UI can render the two side by side\nfor eyeballing. Either side is null for an unmatched line (unbilled PO / unmatched invoice)."},"LineItemsValidationSchema":{"properties":{"passed":{"type":"boolean","title":""},"severity":{"$ref":"#/components/schemas/Severity","title":""},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"stuut_total":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"po_total":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"unbilled_po_line_numbers":{"items":{"type":"string"},"type":"array","title":""},"pairs":{"items":{"$ref":"#/components/schemas/LineItemPairSchema"},"type":"array","title":""}},"type":"object","required":["passed","severity","summary","currency","stuut_total","po_total","unbilled_po_line_numbers","pairs"],"title":"LineItemsValidation"},"LinePairStatus":{"type":"string","enum":["match","qty_mismatch","price_mismatch","total_mismatch","stuut_total_inconsistent","unmatched_stuut","unmatched_po","ambiguous","not_compared"],"title":"LinePairStatus"},"ListCallAgentScenariosSchema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CallAgentScenarioSchema"},"type":"array","title":""}},"type":"object","required":["data"],"title":"ListCallAgentScenarios"},"ListRolesResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/RoleSchema"},"type":"array","title":""}},"type":"object","required":["data"],"title":"ListRolesResponse"},"ListStaffOrgAccessResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/StaffOrgAccessSchema"},"type":"array","title":""}},"type":"object","required":["data"],"title":"ListStaffOrgAccessResponse"},"ListUsersResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/UserListItem"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"ListUsersResponse"},"ListVoicesResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/VoiceSchema"},"type":"array","title":""}},"type":"object","required":["data"],"title":"ListVoicesResponse","description":"List of available voices."},"LlmModel":{"type":"string","enum":["openai/gpt-4.1","openai/gpt-4.1-mini","google/gemini-3-flash-preview","google/gemini-3.1-flash-lite","google/gemma-4-31b-it"],"title":"LlmModel","description":"LLM models, LiveKit Inference form (``<provider>/<model>``).\n\nStaff-picker options are marked below (all stream + support tool calling).\nGEMINI_3_FLASH is the default primary, GEMINI_3_1_FLASH_LITE is the language\nobserver, and GEMMA_4_31B is the backup. They are runtime choices, not staff\npicker options; PICKABLE_LLM_MODELS defines the explicit overrides."},"Locale":{"type":"string","enum":["ar-EG","ar-SA","bg-BG","ca-ES","da-DK","de-DE","el-GR","en-AU","en-GB","en-IE","en-IN","en-NZ","en-US","es-419","es-ES","et-EE","fi-FI","fr-CA","fr-FR","ga-IE","hi-IN","hu-HU","id-ID","it-IT","ja-JP","ko-KR","lt-LT","lv-LV","nb-NO","nl-BE","nl-NL","no-NO","pl-PL","pt-BR","pt-PT","ro-RO","ru-RU","sk-SK","sv-SE","th-TH","tr-TR","vi-VN","zh-CN"],"x-speakeasy-enum-format":"union"},"MSDynamicsBCConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"ms-dynamics-bc","title":""},"api_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The base URL for the Business Central API. Only used for on premise instances."},"auth_method":{"type":"string","enum":["oauth2","basic"],"title":"","description":"Auth scheme used for payment posting. 'oauth2' (default) uses the existing S2S client-credentials path; 'basic' uses HTTP Basic with the connection's username/password and is the only path that supports posting to closed periods on on-prem BC where the elevated permission cannot be granted to a service principal. Phase 1 only affects payment posting; other operations remain on OAuth2 regardless of this field.","x-speakeasy-enum-format":"union"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The company id associated with the Business Central connection. This is used to identify the specific company within the Business Central environment."},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The company name associated with the Business Central connection."},"environment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The name of the Business Central environment this connection is using."},"include_dimension_lines":{"type":"boolean","title":"","description":"Whether querying dimension lines is supported."},"is_bc_extension_installed":{"type":"boolean","title":"","description":"Whether the Stuut Business Central extension has been installed."},"is_on_premise":{"type":"boolean","title":"","description":"Whether the MS Dynamics BC instance is on-premise or cloud-based."},"tenant_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The tenant ID associated with the MS Dynamics BC connection."},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","api_url","auth_method","company","company_name","environment","include_dimension_lines","is_bc_extension_installed","is_on_premise","tenant_id","username","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"MSDynamicsBCConnection","description":"Microsoft Dynamics Business Central integration connection."},"MSDynamicsBCConnectionAuthenticateBody":{"properties":{"provider_name":{"type":"string","const":"ms-dynamics-bc","title":""},"authorization_code":{"type":"string","title":""},"redirect_uri":{"type":"string","title":""},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"extra_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":""}},"type":"object","required":["provider_name","authorization_code","redirect_uri"],"title":"MSDynamicsBCConnectionAuthenticateBody"},"MSDynamicsBCConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"ms-dynamics-bc","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"api_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The base URL for the Business Central API. Only used for on premise instances."},"is_on_premise":{"type":"boolean","title":"","description":"Whether the MS Dynamics BC instance is on-premise or cloud-based.","default":false},"auth_method":{"type":"string","enum":["oauth2","basic"],"title":"","description":"Auth scheme used for payment posting. 'oauth2' (default) uses the existing S2S client-credentials path; 'basic' uses HTTP Basic with the connection's username/password and is the only path that supports posting to closed periods on on-prem BC where the elevated permission cannot be granted to a service principal. Phase 1 only affects payment posting; other operations remain on OAuth2 regardless of this field.","default":"oauth2","x-speakeasy-enum-format":"union"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"password":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":""}},"type":"object","required":["provider_name"],"title":"MSDynamicsBCConnectionCreateBody"},"MSDynamicsBCConnectionUpdateBody":{"properties":{"provider_name":{"type":"string","const":"ms-dynamics-bc","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"company":{"type":"string","title":"","description":"The company id associated with the Business Central connection. This is used to identify the specific company within the Business Central environment."},"environment":{"type":"string","title":"","description":"The name of the Business Central environment this connection is using."},"auth_method":{"anyOf":[{"type":"string","enum":["oauth2","basic"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"","description":"Auth scheme used for payment posting. 'oauth2' (default) uses the existing S2S client-credentials path; 'basic' uses HTTP Basic with the connection's username/password and is the only path that supports posting to closed periods on on-prem BC where the elevated permission cannot be granted to a service principal. Phase 1 only affects payment posting; other operations remain on OAuth2 regardless of this field."},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"password":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":""}},"type":"object","required":["provider_name"],"title":"MSDynamicsBCConnectionUpdateBody","description":"Update schema for MS Dynamics BC connections."},"MSDynamicsFOConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"ms-dynamics-fo","title":""},"api_url":{"type":"string","title":"","description":"The base URL for the MS Dynamics F&O instance (e.g., https://yourinstance.operations.dynamics.com). Required."},"tenant_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The Azure AD tenant ID associated with the MS Dynamics F&O connection."},"legal_entity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The legal entity (dataAreaId) to scope all operations. Required for syncing data. Create separate integrations for multiple legal entities."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","api_url","tenant_id","legal_entity","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"MSDynamicsFOConnection","description":"Microsoft Dynamics 365 Finance & Operations integration connection."},"MSDynamicsFOConnectionAuthenticateBody":{"properties":{"provider_name":{"type":"string","const":"ms-dynamics-fo","title":""},"authorization_code":{"type":"string","title":""},"redirect_uri":{"type":"string","title":""},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"extra_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":""}},"type":"object","required":["provider_name","authorization_code","redirect_uri"],"title":"MSDynamicsFOConnectionAuthenticateBody"},"MSDynamicsFOConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"ms-dynamics-fo","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"api_url":{"type":"string","format":"uri","title":"","description":"Your Microsoft Dynamics 365 F&O instance URL (e.g., https://yourcompany.operations.dynamics.com)","x-ui-label":"Instance URL","x-ui-placeholder":"https://yourcompany.operations.dynamics.com"}},"type":"object","required":["provider_name","api_url"],"title":"MSDynamicsFOConnectionCreateBody"},"MSDynamicsFOConnectionUpdateBody":{"properties":{"provider_name":{"type":"string","const":"ms-dynamics-fo","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"legal_entity":{"type":"string","title":"","description":"The legal entity (dataAreaId) to scope all operations. Required for syncing data. Create separate integrations for multiple legal entities."}},"type":"object","required":["provider_name"],"title":"MSDynamicsFOConnectionUpdateBody","description":"Update schema for MS Dynamics F&O connections."},"Mailbox":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"email":{"type":"string","title":"","description":"The account's email."},"email_aliases":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""},"send_as":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"","description":"Alias designated as the From address for outgoing mail. One of email_aliases, or null to send from the primary address."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Email owner's name."},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Mail provider — 'microsoft', 'google', 'imap', 'sendgrid', etc."},"permission_type":{"$ref":"#/components/schemas/MailboxPermissionType","title":"","description":"How this mailbox was authenticated (delegated vs application)."},"is_shared":{"type":"boolean","title":"","description":"Whether this email sender should be shared with the entire organization"},"is_centralized_inbox":{"type":"boolean","title":"","description":"Whether this sender is a centralized inbox that accepts net-new inbound emails for routing"},"status":{"$ref":"#/components/schemas/MailboxStatus","title":"","description":"Computed connection health. CONNECTED, EXPIRED, or DISCONNECTED."},"archived_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When the mailbox was disconnected from Stuut. Kept around for historical email attribution rather than deleted."},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Owning user. NULL for shared mailboxes."},"signature_html":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Email signature html."},"reply_to":{"type":"string","title":"","description":"This account's default reply-to"},"business_unit_ids":{"items":{"type":"string"},"type":"array","title":"","description":"Business units this shared mailbox is scoped to. Empty means visible to all users in the organisation.","default":[]},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"uses_legacy_entra_app":{"type":"boolean","title":"","description":"True when this Microsoft mailbox's grant was minted against the legacy Entra app and must be re-authenticated to migrate onto the current app.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","email","email_aliases","send_as","name","provider","permission_type","is_shared","is_centralized_inbox","status","archived_at","user_id","signature_html","reply_to","business_unit_ids","object","uses_legacy_entra_app"],"title":"Mailbox"},"MailboxPermissionType":{"type":"string","enum":["delegated","application"],"title":"MailboxPermissionType","description":"How a mailbox was authenticated."},"MailboxStatus":{"type":"string","enum":["connected","expired","disconnected"],"title":"MailboxStatus","description":"Computed connection health."},"MatchSegmentsInput":{"properties":{"partner_ids":{"items":{"type":"string"},"type":"array","maxItems":200,"minItems":1,"title":""}},"type":"object","required":["partner_ids"],"title":"MatchSegmentsInput"},"MaxioLegacyConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"maxio-legacy","title":""},"domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SaaSOptics domain (e.g., a12.saasoptics.com)"},"subdomain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SaaSOptics instance identifier (e.g., sandbox_1234)"},"api_key":{"type":"string","format":"password","title":"","writeOnly":true},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","domain","subdomain","api_key","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"MaxioLegacyConnection","description":"Maxio Legacy integration connection."},"MaxioLegacyConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"maxio-legacy","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"domain":{"type":"string","title":"","description":"SaaSOptics domain (e.g., a12.saasoptics.com)"},"subdomain":{"type":"string","title":"","description":"SaaSOptics instance identifier (e.g., sandbox_1234)"},"api_key":{"type":"string","format":"password","title":"","writeOnly":true}},"type":"object","required":["provider_name","domain","subdomain","api_key"],"title":"MaxioLegacyConnectionCreateBody","description":"Create schema for Maxio Legacy connections."},"MaxioLegacyConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"maxio-legacy","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."}},"type":"object","required":["provider_name"],"title":"MaxioLegacyConnectionUpdate","description":"Update schema for Maxio Legacy connections."},"MemberSchema":{"properties":{"id":{"type":"string","title":""},"status":{"$ref":"#/components/schemas/MembershipStatus","title":""},"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"user":{"$ref":"#/components/schemas/User","title":""},"role":{"$ref":"#/components/schemas/RoleSummary","title":""}},"type":"object","required":["id","status","created_at","user","role"],"title":"Member"},"MembershipStatus":{"type":"string","enum":["active","disabled"],"title":"MembershipStatus"},"MetricUsage":{"properties":{"metric_name":{"type":"string","title":"","description":"Stable Metronome billable-metric name."},"total":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Authoritative usage across the full response range."},"groups":{"anyOf":[{"additionalProperties":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},"type":"object"},{"type":"null"}],"title":"","description":"Authoritative full-range dimensional breakdown, when requested for this metric."},"windows":{"items":{"$ref":"#/components/schemas/UsageWindow"},"type":"array","title":"","description":"Zero-filled chart buckets for this metric."}},"type":"object","required":["metric_name","total","groups","windows"],"title":"billing.MetricUsage","description":"One billable metric's total and chart windows."},"MicrosoftConnection":{"properties":{"enabled":{"type":"boolean","title":"","description":"Whether Microsoft mailbox connections are enabled for this org."},"admin_consented":{"type":"boolean","title":"","description":"Whether Entra admin consent has been granted."},"admin_consented_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"application_scopes":{"items":{"type":"string"},"type":"array","title":"","description":"Application (app-only) Graph scopes consented in this tenant."},"delegated_scopes":{"items":{"type":"string"},"type":"array","title":"","description":"Deprecated, no longer refreshed — reading tenant-wide delegated grants requires Application.Read.All. Returns whatever the last directory-backed probe recorded, and is empty for any org consented since."},"azure_tenant_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Customer's Entra tenant GUID."},"azure_client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Entra app client ID — Stuut's for most tenants, the customer's for BYO."},"is_byo":{"type":"boolean","title":"","description":"True when the org supplied their own Entra app credentials."},"uses_legacy_entra_app":{"type":"boolean","title":"","description":"True when this org is on a retired shared credential — the legacy Entra app or the shared common credential — and should be prompted to re-authenticate / migrate onto its own per-tenant credential."}},"type":"object","required":["enabled","admin_consented","admin_consented_at","application_scopes","delegated_scopes","azure_tenant_id","azure_client_id","is_byo","uses_legacy_entra_app"],"title":"MicrosoftConnection","description":"The org's Microsoft mailbox connection: consent state and Entra details."},"MicrosoftConnectionRequest":{"properties":{"azure_tenant_id":{"type":"string","title":"","description":"Customer's Entra tenant GUID."},"credentials":{"$ref":"#/components/schemas/EntraCredentials","title":"","description":"Customer's own Entra app credentials."}},"type":"object","required":["azure_tenant_id","credentials"],"title":"MicrosoftConnectionRequest","description":"Connect the org via a bring-your-own (BYO) Entra app.\n\nDefault-app orgs don't use this — they go straight to the admin-consent\nflow against Stuut's shared app. This endpoint registers a Nylas credential\nfor the customer's *own* Entra app, so all fields are required."},"ModelSyncStatus":{"type":"string","enum":["partial","syncing","synced","failed"],"title":"ModelSyncStatus"},"NetsuiteAuthMethod":{"type":"string","enum":["oauth2","m2m"],"title":"NetsuiteAuthMethod"},"NetsuiteConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"netsuite","title":""},"account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The NetSuite account ID associated with the connection."},"auth_method":{"$ref":"#/components/schemas/NetsuiteAuthMethod","title":"","description":"Authentication method: 'oauth2' (authorization code flow) or 'm2m' (client credentials with JWT)."},"m2m_public_certificate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"PEM-encoded public certificate for uploading to NetSuite."},"pdf_restlet_script_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Script ID of the RESTlet that downloads invoice PDFs."},"pdf_restlet_deploy_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Deployment ID of the RESTlet that downloads invoice PDFs."},"last_contact_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Customer field that receives the time of the most recent Stuut outreach."},"group_document_folder_ids":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Comma-separated File Cabinet folder ids that hold group invoice PDFs."},"original_invoice_pdf_folder_ids":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Comma-separated File Cabinet folder ids that hold invoice PDFs named by invoice number."},"consolidated_invoice_record_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Script ID of the tenant's custom record type for consolidated invoice headers."},"consolidated_invoice_number_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Invoice.custom_fields alias that holds the consolidated invoice's remote id."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","account_id","auth_method","m2m_public_certificate","pdf_restlet_script_id","pdf_restlet_deploy_id","last_contact_field","group_document_folder_ids","original_invoice_pdf_folder_ids","consolidated_invoice_record_type","consolidated_invoice_number_field","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"NetsuiteConnection","description":"Netsuite integration connection."},"NetsuiteConnectionAuthenticateBody":{"properties":{"provider_name":{"type":"string","const":"netsuite","title":""},"authorization_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"redirect_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["provider_name"],"title":"NetsuiteConnectionAuthenticateBody","description":"Authentication schema for Netsuite OAuth2 and M2M flows."},"NetsuiteConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"netsuite","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"account_id":{"type":"string","title":"","description":"The NetSuite account ID associated with the connection."},"auth_method":{"$ref":"#/components/schemas/NetsuiteAuthMethod","title":"","description":"Authentication method: 'oauth2' (authorization code flow) or 'm2m' (client credentials with JWT).","default":"oauth2"},"pdf_restlet_script_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Script ID of the RESTlet that downloads invoice PDFs."},"pdf_restlet_deploy_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Deployment ID of the RESTlet that downloads invoice PDFs."}},"type":"object","required":["provider_name","account_id"],"title":"NetsuiteConnectionCreateBody","description":"Create schema for Netsuite connections."},"NetsuiteConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"netsuite","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"auth_method":{"anyOf":[{"$ref":"#/components/schemas/NetsuiteAuthMethod"},{"type":"null"}],"title":"","description":"Authentication method: 'oauth2' (authorization code flow) or 'm2m' (client credentials with JWT)."},"m2m_client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Client ID from the customer's NetSuite M2M integration record."},"m2m_certificate_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Certificate ID (kid) from the customer's certificate upload in NetSuite."},"rotate_certificate":{"type":"boolean","title":"","default":false},"pdf_restlet_script_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Script ID of the RESTlet that downloads invoice PDFs."},"pdf_restlet_deploy_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Deployment ID of the RESTlet that downloads invoice PDFs."},"last_contact_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Customer field that receives the time of the most recent Stuut outreach."},"group_document_folder_ids":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Comma-separated File Cabinet folder ids that hold group invoice PDFs."},"original_invoice_pdf_folder_ids":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Comma-separated File Cabinet folder ids that hold invoice PDFs named by invoice number."},"consolidated_invoice_record_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Script ID of the tenant's custom record type for consolidated invoice headers."},"consolidated_invoice_number_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Invoice.custom_fields alias that holds the consolidated invoice's remote id."}},"type":"object","required":["provider_name"],"title":"NetsuiteConnectionUpdate","description":"Update schema for Netsuite connections."},"Note":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"content":{"type":"string","title":"","description":"The content of the note."},"pinned":{"type":"boolean","title":"","description":"Whether the note is pinned and will show up first."},"author_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the user who created this note."},"author":{"anyOf":[{"$ref":"#/components/schemas/User"},{"type":"null"}],"title":""},"partner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the partner this note belongs to."},"dispute_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the dispute this note belongs to."},"invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the invoice this note belongs to."},"credit_memo_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the credit memo this note belongs to."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","content","pinned","author_id","author","partner_id","dispute_id","invoice_id","credit_memo_id","object"],"title":"Note","description":"A user-authored note attached to exactly one supported entity."},"NullComparator":{"properties":{"null":{"type":"boolean","title":"Null"}},"additionalProperties":false,"type":"object","required":["null"],"title":"NullComparator","description":"Test whether a nullable scalar field is null."},"OAuthRegister":{"properties":{"registration_token":{"type":"string","title":"","description":"Token from /verify-email or /exchange-code."},"given_name":{"type":"string","title":"","description":"The user's given (first) name."},"family_name":{"type":"string","title":"","description":"The user's family (last) name."},"organization":{"anyOf":[{"type":"string"},{"$ref":"#/components/schemas/OrganizationDetails"}],"title":"","description":"Either the organization to create, or — to join an existing org instead — its id (the organization_id from the token response's joinable_organization)."}},"type":"object","required":["registration_token","given_name","family_name","organization"],"title":"OAuthRegister","description":"Complete an oauth registration (token from /exchange-code). The auth0 user\nalready exists, so no password is needed."},"OICConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"oic","title":""},"erp_type":{"type":"string","title":"","description":"ERP system behind the OIC middleware (e.g. oracle_fusion, sap)."},"base_url":{"type":"string","title":"","description":"OIC instance base URL for REST flow invocations."},"token_endpoint":{"type":"string","title":"","description":"IDCS OAuth2 token endpoint URL."},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"IDCS OAuth2 client ID."},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"OAuth2 scope string for the OIC instance."},"flow_config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Customer-specific OIC flow paths keyed by resource, e.g. {\"customer_flow\": \"ACOS_INT_ERP_203D_.../1.0\", \"invoice_flow\": \"...\"}."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","erp_type","base_url","token_endpoint","client_id","scope","flow_config","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"OICConnection","description":"OIC integration connection."},"OICConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"oic","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"erp_type":{"type":"string","title":"","description":"ERP system behind the OIC middleware (e.g. oracle_fusion, sap).","default":"oracle_fusion"},"base_url":{"type":"string","title":"","description":"OIC instance base URL for REST flow invocations."},"token_endpoint":{"type":"string","title":"","description":"IDCS OAuth2 token endpoint URL."},"client_id":{"type":"string","title":"","description":"IDCS OAuth2 client ID."},"client_secret":{"type":"string","format":"password","title":"","description":"IDCS OAuth2 client secret. Encrypted at rest via AWS KMS.","writeOnly":true},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"OAuth2 scope string for the OIC instance."},"customer_flow":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"contact_flow":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoice_flow":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"credit_memo_flow":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"payment_flow":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"bridge_flow":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"distributions_flow":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"segment_mapping_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["provider_name","base_url","token_endpoint","client_id","client_secret"],"title":"OICConnectionCreateBody","description":"Create schema for OIC connections."},"OICConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"oic","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"erp_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ERP system behind the OIC middleware (e.g. oracle_fusion, sap)."},"base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"OIC instance base URL for REST flow invocations."},"token_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"IDCS OAuth2 token endpoint URL."},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"IDCS OAuth2 client ID."},"client_secret":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"IDCS OAuth2 client secret. Encrypted at rest via AWS KMS."},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"OAuth2 scope string for the OIC instance."},"customer_flow":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"contact_flow":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoice_flow":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"credit_memo_flow":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"payment_flow":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"bridge_flow":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"distributions_flow":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"segment_mapping_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["provider_name"],"title":"OICConnectionUpdate","description":"Update schema for OIC connections."},"OICEventType":{"type":"string","enum":["receipt.created","receipt.applied","receipt.unapplied","receipt.reversed","receipt.deleted","credit_memo.applied","credit_memo.completed","credit_memo.incompleted","invoice.completed","invoice.incompleted","invoice.paid","autoinvoice.completed","lockbox.completed"],"title":"OICEventType"},"ObligorGrouping":{"type":"string","enum":["partner","partner_hierarchy"],"x-speakeasy-enum-format":"union"},"OdooConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"odoo","title":""},"subdomain":{"type":"string","title":"","description":"Odoo subdomain for your instance (e.g., 'company' for company.odoo.com). Required."},"database":{"type":"string","title":"","description":"Odoo database name. Required for XML-RPC authentication."},"username":{"type":"string","title":"","description":"User email address for Odoo authentication. Required."},"payment_journal_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Default journal ID for creating payments in Odoo. Optional."},"payment_method_line_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Default payment method line ID for creating payments. Optional."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","subdomain","database","username","payment_journal_id","payment_method_line_id","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"OdooConnection","description":"Odoo integration connection."},"OdooConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"odoo","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"subdomain":{"type":"string","title":"","description":"Odoo subdomain for your instance (e.g., 'company' for company.odoo.com). Required."},"database":{"type":"string","title":"","description":"Odoo database name. Required for XML-RPC authentication."},"username":{"type":"string","title":"","description":"User email address for Odoo authentication. Required."},"api_key":{"type":"string","format":"password","title":"","description":"Odoo API key for authentication. Required.","writeOnly":true},"payment_journal_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Default journal ID for creating payments in Odoo. Optional."},"payment_method_line_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Default payment method line ID for creating payments. Optional."}},"type":"object","required":["provider_name","subdomain","database","username","api_key"],"title":"OdooConnectionCreateBody","description":"Create schema for Odoo connections."},"OdooConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"odoo","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"payment_journal_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Default journal ID for creating payments in Odoo. Optional."},"payment_method_line_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Default payment method line ID for creating payments. Optional."}},"type":"object","required":["provider_name"],"title":"OdooConnectionUpdate","description":"Update schema for Odoo connections."},"OfficerSource":{"type":"string","enum":["sos","website","linkedin","input","other"],"title":"OfficerSource","description":"Source where officer information was discovered."},"OkResponse":{"properties":{"ok":{"type":"boolean","title":"","default":true}},"type":"object","required":["ok"],"title":"OkResponse"},"Onboarding":{"properties":{"flows":{"items":{"$ref":"#/components/schemas/OnboardingFlow"},"type":"array","title":"","description":"All flows applicable to the current context."},"summary":{"$ref":"#/components/schemas/OnboardingSummary","title":"","description":"Aggregate roll-up across all flows.","readOnly":true}},"type":"object","required":["flows","summary"],"title":"Onboarding","description":"The full onboarding state for the current tenant/user context."},"OnboardingAvailability":{"type":"string","enum":["available","blocked","hidden"],"title":"OnboardingAvailability"},"OnboardingBlockedReasonCode":{"type":"string","enum":["dependency_not_satisfied","not_applicable","product_not_enabled","missing_permission"],"title":"OnboardingBlockedReasonCode"},"OnboardingFlow":{"properties":{"id":{"type":"string","title":"","description":"Unique identifier of this runtime flow."},"key":{"type":"string","enum":["foundation","data","communications","collections","payment_portal"],"title":"","description":"Stable catalog key identifying the flow (e.g. 'foundation', 'collections').","x-speakeasy-enum-format":"union"},"scope":{"$ref":"#/components/schemas/OnboardingScope","title":"","description":"What the flow is scoped to: tenant, product, or user."},"availability":{"$ref":"#/components/schemas/OnboardingAvailability","title":"","description":"Whether the flow is actionable now: available or hidden (e.g. product disabled)."},"dismissible":{"type":"boolean","title":"","description":"Whether this flow may be dismissed by the user."},"blocked_reason":{"anyOf":[{"$ref":"#/components/schemas/OnboardingBlockedReasonCode"},{"type":"null"}],"title":"","description":"Why the flow is blocked or hidden; null when available."},"steps":{"items":{"$ref":"#/components/schemas/OnboardingStep"},"type":"array","title":"","description":"The flow's steps, in catalog order."},"data":{"additionalProperties":true,"type":"object","title":"","description":"Arbitrary state data stored at the flow level."},"dismissed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When the flow was dismissed; null if not dismissed."},"progress":{"$ref":"#/components/schemas/OnboardingProgress","title":"","description":"Step counts and completion percentage for this flow.","readOnly":true},"status":{"$ref":"#/components/schemas/OnboardingFlowStatus","title":"","description":"Computed flow status: not_started, in_progress, completed, or dismissed.","readOnly":true}},"type":"object","required":["id","key","scope","availability","dismissible","blocked_reason","steps","data","dismissed_at","progress","status"],"title":"OnboardingFlow","description":"A runtime flow for the current context — a group of related onboarding steps."},"OnboardingFlowStatus":{"type":"string","enum":["not_started","in_progress","completed","dismissed"],"title":"OnboardingFlowStatus"},"OnboardingProgress":{"properties":{"total_steps":{"type":"integer","title":"","description":"Number of steps that count toward completion (excludes not-applicable)."},"completed_steps":{"type":"integer","title":"","description":"Of the counted steps, how many are completed."},"skipped_steps":{"type":"integer","title":"","description":"Of the counted steps, how many are skipped."},"required_steps":{"type":"integer","title":"","description":"Of the counted steps, how many are required."},"completed_required_steps":{"type":"integer","title":"","description":"Of the required steps, how many are completed."},"percent_complete":{"type":"number","title":"","description":"Percentage of counted steps that are completed or skipped (0-100).","readOnly":true}},"type":"object","required":["total_steps","completed_steps","skipped_steps","required_steps","completed_required_steps","percent_complete"],"title":"OnboardingProgress","description":"Counts for a single flow, over the steps that count toward its completion."},"OnboardingScope":{"type":"string","enum":["tenant","product","user"],"title":"OnboardingScope"},"OnboardingStep":{"properties":{"key":{"type":"string","title":"","description":"Stable identifier of the step within its flow."},"status":{"$ref":"#/components/schemas/OnboardingStepStatus","title":"","description":"Progress of the step: not_started, completed, or skipped."},"availability":{"$ref":"#/components/schemas/OnboardingAvailability","title":"","description":"Whether the step can be acted on now: available or hidden."},"required":{"type":"boolean","title":"","description":"Whether this step must be completed for its flow to be considered complete. Non-required steps may also be skipped."},"blocked_reason":{"anyOf":[{"$ref":"#/components/schemas/OnboardingBlockedReasonCode"},{"type":"null"}],"title":"","description":"Why the step is blocked or hidden; null when available."},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When the step was completed; null otherwise."},"skipped_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When the step was skipped; null otherwise."},"skip_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional reason supplied when the step was skipped."},"data":{"additionalProperties":true,"type":"object","title":"","description":"Arbitrary state data the user produced for this step (e.g. submitted form values)."},"counts_toward_completion":{"type":"boolean","title":"","description":"Whether this step counts toward its flow's completion (false for steps hidden as not-applicable / product-not-enabled).","readOnly":true}},"type":"object","required":["key","status","availability","required","blocked_reason","completed_at","skipped_at","skip_reason","data","counts_toward_completion"],"title":"OnboardingStep","description":"A single step within a flow, with its progress and whether it can be acted on."},"OnboardingStepStatus":{"type":"string","enum":["not_started","completed","skipped"],"title":"OnboardingStepStatus"},"OnboardingSummary":{"properties":{"total_flows":{"type":"integer","title":"","description":"Total number of flows for the current context."},"completed_flows":{"type":"integer","title":"","description":"How many flows are completed."},"in_progress_flows":{"type":"integer","title":"","description":"How many flows are in progress."},"not_started_flows":{"type":"integer","title":"","description":"How many flows have not been started."},"dismissed_flows":{"type":"integer","title":"","description":"How many flows have been dismissed."},"total_steps":{"type":"integer","title":"","description":"Total counted steps across all flows."},"completed_steps":{"type":"integer","title":"","description":"Total completed steps across all flows."},"skipped_steps":{"type":"integer","title":"","description":"Total skipped steps across all flows."},"has_incomplete_required_steps":{"type":"boolean","title":"","description":"True if any non-dismissed flow still has incomplete required steps."}},"type":"object","required":["total_flows","completed_flows","in_progress_flows","not_started_flows","dismissed_flows","total_steps","completed_steps","skipped_steps","has_incomplete_required_steps"],"title":"OnboardingSummary","description":"Aggregate roll-up across all of the current context's flows."},"Operation":{"type":"string","enum":["identify_document_customer","classify_document_type","parse_backup","parse_remittance","assign_deduction_reason_code","assign_line_item_reason_codes","match_inventory","match_vendor","match_claims_and_deductions","generate_credit_memo","generate_alerts","deduction_workflow"],"x-speakeasy-enum-format":"union"},"OperationScope":{"type":"string","enum":["global","customer"],"x-speakeasy-enum-format":"union"},"OracleFusion2Connection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"oracle-fusion2","title":""},"base_url":{"type":"string","title":"","description":"Fusion REST base URL (e.g. https://fa-exut-dev2-saasfaprod1.fa.ocs.oraclecloud.com)."},"token_endpoint":{"type":"string","title":"","description":"IDCS / OCI IAM token endpoint (e.g. https://idcs-XXXX.identity.oraclecloud.com/oauth2/v1/token)."},"scope":{"type":"string","title":"","description":"OAuth scope string (e.g. urn:opc:resource:fa:instanceid=812709832urn:opc:resource:consumer::all)."},"fusion_user":{"type":"string","title":"","description":"Fusion service-account username that JWT-issued tokens act as (e.g. SVC_INT_STUUT)."},"cert_alias":{"type":"string","title":"","description":"Certificate alias the customer used when uploading our cert to IDCS (used as JWT ``kid``)."},"cert_thumbprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SHA-1 thumbprint of ``public_cert`` (uppercase hex, no separators). Used as JWT ``x5t`` fallback."},"business_units":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Business Units this connection is authorized for (informational; data security is enforced on Oracle side)."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","base_url","token_endpoint","scope","fusion_user","cert_alias","cert_thumbprint","business_units","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"OracleFusion2Connection","description":"Oracle Fusion Cloud 2 integration connection."},"OracleFusion2ConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"oracle-fusion2","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"base_url":{"type":"string","title":"","description":"Fusion REST base URL (e.g. https://fa-exut-dev2-saasfaprod1.fa.ocs.oraclecloud.com)."},"token_endpoint":{"type":"string","title":"","description":"IDCS / OCI IAM token endpoint (e.g. https://idcs-XXXX.identity.oraclecloud.com/oauth2/v1/token)."},"scope":{"type":"string","title":"","description":"OAuth scope string (e.g. urn:opc:resource:fa:instanceid=812709832urn:opc:resource:consumer::all)."},"client_id":{"type":"string","format":"password","title":"","description":"IDCS confidential application client ID.","writeOnly":true},"client_secret":{"type":"string","format":"password","title":"","description":"IDCS confidential application client secret. Encrypted at rest via AWS KMS.","writeOnly":true},"private_key":{"type":"string","format":"password","title":"","description":"PEM-encoded RSA private key used to sign the JWT user assertion. Encrypted at rest via AWS KMS. Never log or expose.","writeOnly":true},"public_cert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"PEM-encoded X.509 certificate matching ``private_key``. Stored for rotation tracking."},"cert_alias":{"type":"string","title":"","description":"Certificate alias the customer used when uploading our cert to IDCS (used as JWT ``kid``)."},"fusion_user":{"type":"string","title":"","description":"Fusion service-account username that JWT-issued tokens act as (e.g. SVC_INT_STUUT)."},"business_units":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Business Units this connection is authorized for (informational; data security is enforced on Oracle side)."},"public_event_csf_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["provider_name","base_url","token_endpoint","scope","client_id","client_secret","private_key","cert_alias","fusion_user"],"title":"OracleFusion2ConnectionCreateBody","description":"Create schema for Oracle Fusion Cloud 2 connections."},"OracleFusion2ConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"oracle-fusion2","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Fusion REST base URL (e.g. https://fa-exut-dev2-saasfaprod1.fa.ocs.oraclecloud.com)."},"token_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"IDCS / OCI IAM token endpoint (e.g. https://idcs-XXXX.identity.oraclecloud.com/oauth2/v1/token)."},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"OAuth scope string (e.g. urn:opc:resource:fa:instanceid=812709832urn:opc:resource:consumer::all)."},"client_id":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"IDCS confidential application client ID."},"client_secret":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"IDCS confidential application client secret. Encrypted at rest via AWS KMS."},"private_key":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"PEM-encoded RSA private key used to sign the JWT user assertion. Encrypted at rest via AWS KMS. Never log or expose."},"public_cert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"PEM-encoded X.509 certificate matching ``private_key``. Stored for rotation tracking."},"cert_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Certificate alias the customer used when uploading our cert to IDCS (used as JWT ``kid``)."},"fusion_user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Fusion service-account username that JWT-issued tokens act as (e.g. SVC_INT_STUUT)."},"business_units":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Business Units this connection is authorized for (informational; data security is enforced on Oracle side)."},"public_event_csf_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["provider_name"],"title":"OracleFusion2ConnectionUpdate","description":"Update schema for Oracle Fusion Cloud 2 connections."},"OracleFusionConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"oracle-fusion","title":""},"base_url":{"type":"string","title":"","description":"Fusion REST base URL (e.g. https://fa-exut-dev2-saasfaprod1.fa.ocs.oraclecloud.com)."},"token_endpoint":{"type":"string","title":"","description":"IDCS / OCI IAM token endpoint (e.g. https://idcs-XXXX.identity.oraclecloud.com/oauth2/v1/token)."},"scope":{"type":"string","title":"","description":"OAuth scope string (e.g. urn:opc:resource:fa:instanceid=812709832urn:opc:resource:consumer::all)."},"fusion_user":{"type":"string","title":"","description":"Fusion service-account username that JWT-issued tokens act as (e.g. SVC_INT_STUUT)."},"cert_alias":{"type":"string","title":"","description":"Certificate alias the customer used when uploading our cert to IDCS (used as JWT ``kid``)."},"cert_thumbprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SHA-1 thumbprint of ``public_cert`` (uppercase hex, no separators). Used as JWT ``x5t`` fallback."},"business_units":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Business Units this connection is authorized for (informational; data security is enforced on Oracle side)."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","base_url","token_endpoint","scope","fusion_user","cert_alias","cert_thumbprint","business_units","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"OracleFusionConnection","description":"Oracle Fusion Cloud integration connection."},"OracleFusionConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"oracle-fusion","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"base_url":{"type":"string","title":"","description":"Fusion REST base URL (e.g. https://fa-exut-dev2-saasfaprod1.fa.ocs.oraclecloud.com)."},"token_endpoint":{"type":"string","title":"","description":"IDCS / OCI IAM token endpoint (e.g. https://idcs-XXXX.identity.oraclecloud.com/oauth2/v1/token)."},"scope":{"type":"string","title":"","description":"OAuth scope string (e.g. urn:opc:resource:fa:instanceid=812709832urn:opc:resource:consumer::all)."},"client_id":{"type":"string","format":"password","title":"","description":"IDCS confidential application client ID.","writeOnly":true},"client_secret":{"type":"string","format":"password","title":"","description":"IDCS confidential application client secret. Encrypted at rest via AWS KMS.","writeOnly":true},"private_key":{"type":"string","format":"password","title":"","description":"PEM-encoded RSA private key used to sign the JWT user assertion. Encrypted at rest via AWS KMS. Never log or expose.","writeOnly":true},"public_cert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"PEM-encoded X.509 certificate matching ``private_key``. Stored for rotation tracking."},"cert_alias":{"type":"string","title":"","description":"Certificate alias the customer used when uploading our cert to IDCS (used as JWT ``kid``)."},"fusion_user":{"type":"string","title":"","description":"Fusion service-account username that JWT-issued tokens act as (e.g. SVC_INT_STUUT)."},"business_units":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Business Units this connection is authorized for (informational; data security is enforced on Oracle side)."}},"type":"object","required":["provider_name","base_url","token_endpoint","scope","client_id","client_secret","private_key","cert_alias","fusion_user"],"title":"OracleFusionConnectionCreateBody","description":"Create schema for Oracle Fusion Cloud connections."},"OracleFusionConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"oracle-fusion","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Fusion REST base URL (e.g. https://fa-exut-dev2-saasfaprod1.fa.ocs.oraclecloud.com)."},"token_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"IDCS / OCI IAM token endpoint (e.g. https://idcs-XXXX.identity.oraclecloud.com/oauth2/v1/token)."},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"OAuth scope string (e.g. urn:opc:resource:fa:instanceid=812709832urn:opc:resource:consumer::all)."},"client_id":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"IDCS confidential application client ID."},"client_secret":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"IDCS confidential application client secret. Encrypted at rest via AWS KMS."},"private_key":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"PEM-encoded RSA private key used to sign the JWT user assertion. Encrypted at rest via AWS KMS. Never log or expose."},"public_cert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"PEM-encoded X.509 certificate matching ``private_key``. Stored for rotation tracking."},"cert_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Certificate alias the customer used when uploading our cert to IDCS (used as JWT ``kid``)."},"fusion_user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Fusion service-account username that JWT-issued tokens act as (e.g. SVC_INT_STUUT)."},"business_units":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Business Units this connection is authorized for (informational; data security is enforced on Oracle side)."}},"type":"object","required":["provider_name"],"title":"OracleFusionConnectionUpdate","description":"Update schema for Oracle Fusion Cloud connections."},"OracleOICJob":{"properties":{"request_id":{"type":"string","title":""},"action":{"type":"string","enum":["register","teardown"],"title":"","x-speakeasy-enum-format":"union"},"status":{"type":"string","enum":["requested","running","succeeded","attempt_failed"],"title":"","x-speakeasy-enum-format":"union"}},"type":"object","required":["request_id","action","status"],"title":"OracleOICJob"},"OracleOICOnboarding":{"properties":{"fusion_host":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"fusion_username":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":""},"fusion_password":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":""},"events":{"items":{"$ref":"#/components/schemas/OICEventType"},"type":"array","minItems":1,"title":""},"retire_previous":{"type":"boolean","title":"","default":false}},"type":"object","required":["events"],"title":"OracleOICOnboarding"},"OracleOICStatus":{"properties":{"job":{"anyOf":[{"$ref":"#/components/schemas/OracleOICJob"},{"type":"null"}],"title":""},"installation":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":""},"previous_installations":{"items":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"type":"array","title":""}},"type":"object","required":["job","installation","previous_installations"],"title":"OracleOICStatus"},"OrderedComparator_DateOperand_":{"properties":{"gt":{"$ref":"#/components/schemas/DateOperand","title":"Gt"},"gte":{"$ref":"#/components/schemas/DateOperand","title":"Gte"},"lt":{"$ref":"#/components/schemas/DateOperand","title":"Lt"},"lte":{"$ref":"#/components/schemas/DateOperand","title":"Lte"}},"additionalProperties":false,"type":"object","title":"OrderedComparator[DateOperand]"},"OrderedComparator_DateTimeOperand_":{"properties":{"gt":{"$ref":"#/components/schemas/DateTimeOperand","title":"Gt"},"gte":{"$ref":"#/components/schemas/DateTimeOperand","title":"Gte"},"lt":{"$ref":"#/components/schemas/DateTimeOperand","title":"Lt"},"lte":{"$ref":"#/components/schemas/DateTimeOperand","title":"Lte"}},"additionalProperties":false,"type":"object","title":"OrderedComparator[DateTimeOperand]"},"OrderedComparator_Decimal_-Input":{"properties":{"gt":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"Gt"},"gte":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"Gte"},"lt":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"Lt"},"lte":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"Lte"}},"additionalProperties":false,"type":"object","title":"OrderedComparator[Decimal]"},"OrderedComparator_Decimal_-Output":{"properties":{"gt":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"Gt"},"gte":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"Gte"},"lt":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"Lt"},"lte":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"Lte"}},"additionalProperties":false,"type":"object","title":"OrderedComparator[Decimal]"},"OrderedComparator_Scalar_-Input":{"properties":{"gt":{"$ref":"#/components/schemas/Scalar-Input","title":"Gt"},"gte":{"$ref":"#/components/schemas/Scalar-Input","title":"Gte"},"lt":{"$ref":"#/components/schemas/Scalar-Input","title":"Lt"},"lte":{"$ref":"#/components/schemas/Scalar-Input","title":"Lte"}},"additionalProperties":false,"type":"object","title":"OrderedComparator[Scalar]"},"OrderedComparator_Scalar_-Output":{"properties":{"gt":{"$ref":"#/components/schemas/Scalar-Output","title":"Gt"},"gte":{"$ref":"#/components/schemas/Scalar-Output","title":"Gte"},"lt":{"$ref":"#/components/schemas/Scalar-Output","title":"Lt"},"lte":{"$ref":"#/components/schemas/Scalar-Output","title":"Lte"}},"additionalProperties":false,"type":"object","title":"OrderedComparator[Scalar]"},"OrderedComparator_int_":{"properties":{"gt":{"type":"integer","title":"Gt"},"gte":{"type":"integer","title":"Gte"},"lt":{"type":"integer","title":"Lt"},"lte":{"type":"integer","title":"Lte"}},"additionalProperties":false,"type":"object","title":"OrderedComparator[int]"},"Organization":{"properties":{"id":{"type":"string","title":"","description":"Unique organization identifier."},"name":{"type":"string","title":"","description":"Unique tenant slug (immutable)."},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Human-facing organization name."},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"URL of the organization's logo."},"timezone":{"$ref":"#/components/schemas/Timezone","title":"","description":"The organization's IANA timezone."},"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"The organization's base currency (ISO 4217)."},"customer_support_email":{"anyOf":[{"$ref":"#/components/schemas/Email"},{"type":"null"}],"title":"","description":"Customer support email address."},"customer_support_number":{"anyOf":[{"type":"string","format":"phone","description":"A phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format"},{"type":"null"}],"title":"","description":"Customer support phone number."},"needs_business_profile":{"type":"boolean","title":"","description":"Whether the organization still needs to submit its business profile (ARR/ERP/CRM). Always false for orgs outside self-serve onboarding."}},"type":"object","required":["id","name","display_name","logo_url","timezone","currency","customer_support_email","customer_support_number","needs_business_profile"],"title":"Organization","description":"The current organization's profile and branding."},"OrganizationDetails":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Human-facing organization name. Defaults to the email domain."},"name":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9-_]{1,48}[a-zA-Z0-9]$","title":"","description":"Unique tenant identifier. 3-50 chars, alphanumeric plus dashes/underscores, starting and ending alphanumeric. The server dedupes it if already taken."}},"type":"object","required":["name"],"title":"OrganizationDetails","description":"Organization fields the user submits at registration. The name is required (the\nform prefills it from the suggestion); the display name defaults off the verified\nemail's domain when omitted. (Logo is server-fetched, not user-set, so it lives on\nthe token response's suggestion rather than here.)"},"OrganizationSecondaryProfileResponse":{"properties":{"organization_id":{"type":"string","title":"","description":"The organization the profile is being provisioned for"}},"type":"object","required":["organization_id"],"title":"OrganizationSecondaryProfileResponse","description":"Acknowledges that Trust Hub provisioning was enqueued; the work runs asynchronously."},"OrganizationSuggestion":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Suggested organization display name."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Suggested (deduped) unique tenant identifier."},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Suggested brand logo URL, if one was found."}},"type":"object","required":["display_name","name","logo_url"],"title":"OrganizationSuggestion","description":"Prefill values for the registration form, derived from the verified email's\ndomain and brand intelligence."},"OrganizationWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/OrganizationWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/OrganizationWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"name":{"$ref":"#/components/schemas/StringComparator","title":"Name"},"displayName":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Displayname"},"currency":{"$ref":"#/components/schemas/EqualityComparator_Currency_","title":"Currency"},"timezone":{"$ref":"#/components/schemas/StringComparator","title":"Timezone"}},"additionalProperties":false,"type":"object","title":"OrganizationWorkflowFilter"},"OrganizationWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/OrganizationWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/OrganizationWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"name":{"$ref":"#/components/schemas/StringComparator","title":"Name"},"displayName":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Displayname"},"currency":{"$ref":"#/components/schemas/EqualityComparator_Currency_","title":"Currency"},"timezone":{"$ref":"#/components/schemas/StringComparator","title":"Timezone"}},"additionalProperties":false,"type":"object","title":"OrganizationWorkflowFilter"},"Orientation":{"type":"string","enum":["portrait","landscape"],"title":"Orientation"},"OutreachActionType":{"type":"string","enum":["email","call","sms"],"title":"OutreachActionType"},"OutreachLogEntry":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"outreach_type":{"$ref":"#/components/schemas/CashAppOutreachType","title":"","description":"The type of outreach (payment_receipt or remittance_request)."},"status":{"$ref":"#/components/schemas/CashAppOutreachStatus","title":"","description":"The current status of the outreach."},"skip_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The reason the outreach was skipped, if applicable."},"bank_transaction_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The bank transaction this outreach is associated with (used for remittance requests)."},"payment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The payment this outreach is associated with."},"partner_id":{"type":"string","title":"","description":"The partner this outreach is sent to."},"email_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The email record created for this outreach, if sent."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","outreach_type","status","skip_reason","bank_transaction_id","payment_id","partner_id","email_id","object"],"title":"OutreachLogEntry","description":"Cash App outreach log entry."},"OutreachWorkflowRunSummary":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"scheduled_for":{"$ref":"#/components/schemas/UTCDateTime","title":"","description":"The timestamp this run is scheduled for."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","scheduled_for","object"],"title":"OutreachWorkflowRunSummary","description":"Workflow run summary for call status display."},"OutreachWorkflowSummary":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"name":{"type":"string","title":"","description":"The name of the workflow"},"is_active":{"type":"boolean","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","is_active","object"],"title":"OutreachWorkflowSummary","description":"Attribution summary for a legacy `OutreachWorkflow`."},"P21Connection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"p21","title":""},"base_url":{"type":"string","title":"","description":"P21 middleware server root, without a trailing slash (e.g. https://p21.example.com)."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","base_url","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"P21Connection","description":"Epicor Prophet 21 (P21) integration connection."},"P21ConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"p21","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"base_url":{"type":"string","title":"","description":"P21 middleware server root, without a trailing slash (e.g. https://p21.example.com)."},"username":{"type":"string","format":"password","title":"","description":"P21 API service user.","writeOnly":true},"password":{"type":"string","format":"password","title":"","description":"P21 API service user password. Encrypted at rest via AWS KMS.","writeOnly":true}},"type":"object","required":["provider_name","base_url","username","password"],"title":"P21ConnectionCreateBody","description":"Create schema for P21 connections."},"P21ConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"p21","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"P21 middleware server root, without a trailing slash (e.g. https://p21.example.com)."},"username":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"P21 API service user."},"password":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"P21 API service user password. Encrypted at rest via AWS KMS."}},"type":"object","required":["provider_name"],"title":"P21ConnectionUpdate","description":"Update schema for P21 connections."},"PaginatedResponse_APPortalInvoiceListItem_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/APPortalInvoiceListItem"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[APPortalInvoiceListItem]"},"PaginatedResponse_APPortalItem_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/APPortalItem"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[APPortalItem]"},"PaginatedResponse_APPortalJobListItem_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/APPortalJobListItem"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[APPortalJobListItem]"},"PaginatedResponse_APPortalOrderListItem_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/APPortalOrderListItem"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[APPortalOrderListItem]"},"PaginatedResponse_APPortalSubmissionListItem_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/APPortalSubmissionListItem"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[APPortalSubmissionListItem]"},"PaginatedResponse_Adjustment_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Adjustment"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[Adjustment]"},"PaginatedResponse_AuditLogEntry_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/AuditLogEntry"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[AuditLogEntry]"},"PaginatedResponse_BankStatementListItem_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/BankStatementListItem"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[BankStatementListItem]"},"PaginatedResponse_BankTransactionListItem_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/BankTransactionListItem"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[BankTransactionListItem]"},"PaginatedResponse_BusinessUnit_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/BusinessUnit"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[BusinessUnit]"},"PaginatedResponse_CallListSchema_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CallListSchema"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[CallListSchema]"},"PaginatedResponse_CollectionsReadinessPartner_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CollectionsReadinessPartner"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[CollectionsReadinessPartner]"},"PaginatedResponse_CollectionsReadinessUnreachedPartner_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CollectionsReadinessUnreachedPartner"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[CollectionsReadinessUnreachedPartner]"},"PaginatedResponse_ConsolidatedInvoiceListSchema_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ConsolidatedInvoiceListSchema"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[ConsolidatedInvoiceListSchema]"},"PaginatedResponse_CreditMemoSearchResult_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CreditMemoSearchResult"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[CreditMemoSearchResult]"},"PaginatedResponse_CustomTableTemplateSchema_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CustomTableTemplateSchema"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[CustomTableTemplateSchema]"},"PaginatedResponse_CustomerTransaction_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CustomerTransaction"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[CustomerTransaction]"},"PaginatedResponse_DunningStateSchema_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/DunningStateSchema"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[DunningStateSchema]"},"PaginatedResponse_EmailThreadSummary_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/EmailThreadSummary"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[EmailThreadSummary]"},"PaginatedResponse_IntegrationConnectionAPIRequestLog_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/IntegrationConnectionAPIRequestLog"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[IntegrationConnectionAPIRequestLog]"},"PaginatedResponse_IntegrationConnectionWebhook_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/IntegrationConnectionWebhook"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[IntegrationConnectionWebhook]"},"PaginatedResponse_IntegrationModelSyncSummary_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/IntegrationModelSyncSummary"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[IntegrationModelSyncSummary]"},"PaginatedResponse_InternalContact_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/InternalContact"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[InternalContact]"},"PaginatedResponse_InvoiceListSchema_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/InvoiceListSchema"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[InvoiceListSchema]"},"PaginatedResponse_InvoiceSearchResult_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/InvoiceSearchResult"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[InvoiceSearchResult]"},"PaginatedResponse_LedgerAccount_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/LedgerAccount"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[LedgerAccount]"},"PaginatedResponse_MemberSchema_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/MemberSchema"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[MemberSchema]"},"PaginatedResponse_Note_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Note"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[Note]"},"PaginatedResponse_OutreachLogEntry_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/OutreachLogEntry"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[OutreachLogEntry]"},"PaginatedResponse_PartnerListSummary_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/PartnerListSummary"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[PartnerListSummary]"},"PaginatedResponse_PaymentPlanSummary_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/PaymentPlanSummary"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[PaymentPlanSummary]"},"PaginatedResponse_SMSConversation_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SMSConversation"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[SMSConversation]"},"PaginatedResponse_SMSMessage_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SMSMessage"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[SMSMessage]"},"PaginatedResponse_SMSTemplateSchema_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SMSTemplateSchema"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[SMSTemplateSchema]"},"PaginatedResponse_SalesOrderCaseEventSchema_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SalesOrderCaseEventSchema"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[SalesOrderCaseEventSchema]"},"PaginatedResponse_SalesOrderCaseListItemSchema_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SalesOrderCaseListItemSchema"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[SalesOrderCaseListItemSchema]"},"PaginatedResponse_SalesOrderLineSchema_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SalesOrderLineSchema"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[SalesOrderLineSchema]"},"PaginatedResponse_SalesOrderSchema_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SalesOrderSchema"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[SalesOrderSchema]"},"PaginatedResponse_TagSchema_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/TagSchema"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[TagSchema]"},"PaginatedResponse_WorkflowRunListItem_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/WorkflowRunListItem"},"type":"array","title":"","description":"The list of records."},"current_page":{"type":"integer","title":"","description":"The current page.","default":0},"total_records":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Total number of records."},"next_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The next page number, if one exists."}},"type":"object","required":["data","current_page","total_records","next_page"],"title":"PaginatedResponse[WorkflowRunListItem]"},"PartnerCount":{"properties":{"count":{"type":"integer","title":""}},"type":"object","required":["count"],"title":"PartnerCount"},"PartnerCustomFieldSchema":{"properties":{"id":{"type":"string","title":""},"key":{"type":"string","title":"","description":"The unique key for this field."},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The human readable name for this field."},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The data type for this field."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"A description of this field."}},"type":"object","required":["id","key","title","type","description"],"title":"PartnerCustomField"},"PartnerDetail":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"account_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The customer's account number."},"assignee_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the user assigned to this partner, if any."},"business_unit_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The business unit this partner belongs to."},"currency":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"","description":"The partner's default currency code (e.g. USD)."},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The partner's company email address."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The full name of the partner."},"legal_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The legal name of this partner, typically applies to businesses."},"phone":{"anyOf":[{"type":"string","format":"phone","description":"A phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format"},{"type":"null"}],"title":"","description":"The partner's default phone number."},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"remote_id":{"type":"string","title":"","description":"The partner's third party id."},"invoice_stats":{"$ref":"#/components/schemas/PartnerInvoiceStats","title":""},"dunning_state_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Current dunning state assigned to this partner"},"dunning_state_pause_until":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"Last day of the outreach pause tied to the current dunning state, when one is active."},"dunning_state_paused_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the outreach pause tied to the current dunning state began, when one is active."},"is_email_outreach_manually_paused":{"type":"boolean","title":""},"is_call_outreach_manually_paused":{"type":"boolean","title":""},"is_xls_attachments_enabled":{"type":"boolean","title":"","description":"When enabled, outgoing emails with table variables include an XLS attachment."},"remote_payment_portal_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The partner's third-party payment portal URL, when one is known."},"linked_integration_id":{"type":"string","title":""},"has_ap_portals":{"type":"boolean","title":"","description":"Whether this partner has an AP-portal configuration."},"subsidiary_count":{"type":"integer","minimum":0.0,"title":""},"tax_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The partner's tax identifier (EIN / VAT / ABN / GST)."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"A description of the partner."},"on_behalf_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The end customer this partner transacts for, when billing runs through an intermediary."},"custom_fields":{"additionalProperties":true,"type":"object","title":""},"retell_language_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Preferred language for AI voice calls; unset means the org default."},"last_synced_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"billing_address":{"anyOf":[{"$ref":"#/components/schemas/stuut__api_service__v2__schemas__orm__Address"},{"type":"null"}],"title":"","description":"The partner's billing address."},"dispute_stats":{"$ref":"#/components/schemas/PartnerDisputeStats","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","account_number","assignee_id","business_unit_id","currency","email","name","legal_name","phone","parent_id","remote_id","invoice_stats","dunning_state_id","dunning_state_pause_until","dunning_state_paused_at","is_email_outreach_manually_paused","is_call_outreach_manually_paused","is_xls_attachments_enabled","remote_payment_portal_url","linked_integration_id","has_ap_portals","subsidiary_count","tax_number","description","on_behalf_of","custom_fields","retell_language_code","last_synced_at","billing_address","dispute_stats","object"],"title":"PartnerDetail","description":"A single partner plus its cached invoice stats — the V2 detail payload."},"PartnerDisputeStats":{"properties":{"active_amount":{"type":"integer","title":"","description":"Combined amount of the partner's active (in-process or needs-review) disputes, in the currency's smallest unit."},"active_count":{"type":"integer","minimum":0.0,"title":""}},"type":"object","required":["active_amount","active_count"],"title":"PartnerDisputeStats","description":"Dispute aggregates for one partner, computed live from the dispute table."},"PartnerExposure":{"properties":{"root_partner_id":{"type":"string","title":"","description":"The requested partner: the root of the obligor this exposure covers."},"partner_ids":{"items":{"type":"string"},"type":"array","title":"","description":"Every partner id counted in this exposure: the root plus any direct children."},"grouping":{"$ref":"#/components/schemas/ObligorGrouping","title":"","description":"How partner_ids was resolved from partner_id."},"computed_at":{"$ref":"#/components/schemas/UTCDateTime","title":"","description":"When the underlying balances were read."},"definition_name":{"type":"string","const":"trade_credit_exposure","title":""},"definition_version":{"type":"integer","title":"","description":"Bumped whenever what an existing field means changes, so old and new payloads are never confused."},"target_currency":{"$ref":"#/components/schemas/Currency","title":"","description":"Every converted amount below is in this currency."},"open_ar":{"$ref":"#/components/schemas/ExposureBalance","title":"","description":"What is still unpaid on the obligor's open receivables."},"credit_memo_remainders":{"$ref":"#/components/schemas/ExposureBalance","title":"","description":"Credit given to the buyer, still unused against a future invoice."},"unapplied_cash":{"$ref":"#/components/schemas/ExposureUnappliedCash","title":""},"open_sales_order_value":{"$ref":"#/components/schemas/ExposureBalance","title":"","description":"Remaining, un-invoiced value of open sales order lines within the horizon window."},"horizon_days":{"type":"integer","title":"","description":"The open-sales-order horizon this snapshot was measured under."},"excluded_by_horizon":{"additionalProperties":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},"propertyNames":{"$ref":"#/components/schemas/Currency"},"type":"object","title":"","description":"Open sales order value excluded from open_sales_order_value by the horizon, per currency."},"excluded_line_ids":{"items":{"type":"string"},"type":"array","title":"","description":"Sales order line ids excluded from open_sales_order_value by the horizon."},"disputed_by_currency":{"additionalProperties":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},"propertyNames":{"$ref":"#/components/schemas/Currency"},"type":"object","title":"","description":"Disputed amounts, per currency. Reported beside exposure, never subtracted from it."},"uncollectible_by_currency":{"additionalProperties":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},"propertyNames":{"$ref":"#/components/schemas/Currency"},"type":"object","title":"","description":"Invoice amounts written off as uncollectible, per currency. Excluded from open_ar."},"invoiced_exposure_by_currency":{"additionalProperties":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},"propertyNames":{"$ref":"#/components/schemas/Currency"},"type":"object","title":"","description":"open_ar minus credit_memo_remainders minus confirmed unapplied cash, per currency. Can go negative for an overpaid buyer."},"converted_invoiced_exposure":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"invoiced_exposure_by_currency converted into target_currency. Null if any of its components could not be converted."},"committed_exposure_by_currency":{"additionalProperties":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},"propertyNames":{"$ref":"#/components/schemas/Currency"},"type":"object","title":"","description":"invoiced_exposure_by_currency plus open sales order value, per currency."},"converted_committed_exposure":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"committed_exposure_by_currency converted into target_currency."},"warnings":{"items":{"oneOf":[{"$ref":"#/components/schemas/ExposureOverAppliedCreditMemoWarning"},{"$ref":"#/components/schemas/ExposurePossibleDuplicatePartnerWarning"},{"$ref":"#/components/schemas/ExposureWholeInvoiceDisputeFallbackWarning"}],"discriminator":{"propertyName":"code","mapping":{"over_applied_credit_memo":"#/components/schemas/ExposureOverAppliedCreditMemoWarning","possible_duplicate_partner":"#/components/schemas/ExposurePossibleDuplicatePartnerWarning","whole_invoice_dispute_fallback":"#/components/schemas/ExposureWholeInvoiceDisputeFallbackWarning"}}},"type":"array","title":"","description":"Data-quality issues found while building this exposure."},"missing_facts":{"items":{"$ref":"#/components/schemas/ExposureFxRateMissing"},"type":"array","title":"","description":"Currencies that could not be converted into target_currency."},"evidence":{"$ref":"#/components/schemas/PartnerExposureEvidence","title":""}},"type":"object","required":["root_partner_id","partner_ids","grouping","computed_at","definition_name","definition_version","target_currency","open_ar","credit_memo_remainders","unapplied_cash","open_sales_order_value","horizon_days","excluded_by_horizon","excluded_line_ids","disputed_by_currency","uncollectible_by_currency","invoiced_exposure_by_currency","converted_invoiced_exposure","committed_exposure_by_currency","converted_committed_exposure","warnings","missing_facts","evidence"],"title":"PartnerExposure","description":"A partner's full trade credit exposure, computed live, with its evidence.\n\nAmounts are Decimals in standard units (e.g., 10.25 for $10.25). Invoiced\nexposure is open A/R minus credit memo remainders minus confirmed\nunapplied cash; committed exposure adds open sales order value on top.\nBoth are computed fields, so they can never disagree with the balances\nbelow them."},"PartnerExposureEvidence":{"properties":{"invoices":{"items":{"$ref":"#/components/schemas/ExposureInvoiceEvidence"},"type":"array","title":""},"credit_memos":{"items":{"$ref":"#/components/schemas/ExposureCreditMemoEvidence"},"type":"array","title":""},"payments":{"items":{"$ref":"#/components/schemas/ExposurePaymentEvidence"},"type":"array","title":""},"dispute_items":{"items":{"$ref":"#/components/schemas/ExposureDisputeItemEvidence"},"type":"array","title":""},"sales_order_lines":{"items":{"$ref":"#/components/schemas/ExposureSalesOrderLineEvidence"},"type":"array","title":""},"fx_provider":{"type":"string","title":""},"fx_pivot_currency":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"","description":"Null when the FX provider could not price anything."},"fx_rates_used":{"items":{"$ref":"#/components/schemas/ExposureFxRateUsed"},"type":"array","title":""}},"type":"object","required":["invoices","credit_memos","payments","dispute_items","sales_order_lines","fx_provider","fx_pivot_currency","fx_rates_used"],"title":"PartnerExposureEvidence","description":"Every record the exposure was built from, and the FX rates that priced them."},"PartnerInvoiceStats":{"properties":{"invoice_balance":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"total_overdue":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"credit_balance":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"unapplied_balance":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"Currency of the headline amounts (invoice/overdue/credit/unapplied): native when all share one, otherwise org base (forex-converted)."},"currency_breakdown":{"additionalProperties":{"$ref":"#/components/schemas/CurrencyBalance"},"propertyNames":{"$ref":"#/components/schemas/Currency"},"type":"object","title":"","description":"Native per-currency amounts (invoice/overdue/credit/unapplied). One entry → headline is native; multiple → headline is forex-converted to org base; empty → no activity."},"num_overdue_invoices":{"type":"integer","minimum":0.0,"title":""},"num_open_invoices":{"type":"integer","minimum":0.0,"title":""},"oldest_open_invoice_due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"account_balance":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","readOnly":true}},"type":"object","required":["invoice_balance","total_overdue","credit_balance","unapplied_balance","currency","currency_breakdown","num_overdue_invoices","num_open_invoices","oldest_open_invoice_due_date","account_balance"],"title":"PartnerInvoiceStats"},"PartnerLanguageCode":{"type":"string","enum":["ar-EG","ar-SA","bg-BG","ca-ES","da-DK","de-DE","el-GR","en-AU","en-GB","en-IE","en-IN","en-NZ","en-US","es-419","es-ES","et-EE","fi-FI","fr-CA","fr-FR","ga-IE","hi-IN","hu-HU","id-ID","it-IT","ja-JP","ko-KR","lt-LT","lv-LV","nb-NO","nl-BE","nl-NL","no-NO","pl-PL","pt-BR","pt-PT","ro-RO","ru-RU","sk-SK","sv-SE","th-TH","tr-TR","vi-VN","zh-CN","multi"]},"PartnerListSummary":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"account_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The customer's account number."},"assignee_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the user assigned to this partner, if any."},"business_unit_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The business unit this partner belongs to."},"currency":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"","description":"The partner's default currency code (e.g. USD)."},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The partner's company email address."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The full name of the partner."},"legal_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The legal name of this partner, typically applies to businesses."},"phone":{"anyOf":[{"type":"string","format":"phone","description":"A phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format"},{"type":"null"}],"title":"","description":"The partner's default phone number."},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"remote_id":{"type":"string","title":"","description":"The partner's third party id."},"subsidiary_count":{"type":"integer","minimum":0.0,"title":""},"last_outreach_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"The last date outreach was sent for this partner."},"last_outreach_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The last recipient of outreach that was sent for this partner (email address or phone number)."},"last_outreach_channel":{"anyOf":[{"$ref":"#/components/schemas/OutreachActionType"},{"type":"null"}],"title":"","description":"The last channel outreach was sent in for this partner (phone or email)."},"is_email_outreach_manually_paused":{"type":"boolean","title":""},"is_call_outreach_manually_paused":{"type":"boolean","title":""},"invoice_stats":{"$ref":"#/components/schemas/PartnerInvoiceStats","title":""},"contact_completeness":{"$ref":"#/components/schemas/ContactCompleteness","title":""},"active_dispute_count":{"type":"integer","minimum":0.0,"title":"","default":0},"terminal_dispute_count":{"type":"integer","minimum":0.0,"title":"","default":0},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","account_number","assignee_id","business_unit_id","currency","email","name","legal_name","phone","parent_id","remote_id","subsidiary_count","last_outreach_at","last_outreach_to","last_outreach_channel","is_email_outreach_manually_paused","is_call_outreach_manually_paused","invoice_stats","contact_completeness","active_dispute_count","terminal_dispute_count","object"],"title":"PartnerListSummary","description":"Used for showing the partner table view on the frontend.\nIncludes a bunch of joined/analytical data beyond a basic summary."},"PartnerStatsFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/PartnerStatsFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/PartnerStatsFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"totalBalance":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Decimal_-Input"},{"$ref":"#/components/schemas/OrderedComparator_Decimal_-Input"}],"title":"Totalbalance","description":"The customer's total outstanding invoice balance."},"netAccountBalance":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Decimal_-Input"},{"$ref":"#/components/schemas/OrderedComparator_Decimal_-Input"}],"title":"Netaccountbalance","description":"The customer's total outstanding invoice balance minus credits and unapplied payments."},"invoicedLast12Months":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Decimal_-Input"},{"$ref":"#/components/schemas/OrderedComparator_Decimal_-Input"}],"title":"Invoicedlast12Months","description":"The total of the customer's open, paid, and uncollectible invoices issued in the last 12 months, in the organization's currency. Invoices dated after today are not counted."},"overdueBalance":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Decimal_-Input"},{"$ref":"#/components/schemas/OrderedComparator_Decimal_-Input"}],"title":"Overduebalance","description":"The customer's total overdue invoice balance."},"openInvoiceCount":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_int_"},{"$ref":"#/components/schemas/OrderedComparator_int_"}],"title":"Openinvoicecount","description":"The customer's number of open invoices."},"overdueInvoiceCount":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_int_"},{"$ref":"#/components/schemas/OrderedComparator_int_"}],"title":"Overdueinvoicecount","description":"The customer's number of overdue invoices."},"oldestOpenInvoiceDueDate":{"anyOf":[{"$ref":"#/components/schemas/OrderedComparator_DateOperand_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Oldestopeninvoiceduedate","description":"The earliest due date among the customer's open invoices, or whether one exists. Accepts a date or a relative ISO 8601 duration: lte -P60D matches customers whose oldest open invoice is at least 60 days past due."}},"additionalProperties":false,"type":"object","title":"PartnerStatsFilter"},"PartnerStatsFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/PartnerStatsFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/PartnerStatsFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"totalBalance":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Decimal_-Output"},{"$ref":"#/components/schemas/OrderedComparator_Decimal_-Output"}],"title":"Totalbalance","description":"The customer's total outstanding invoice balance."},"netAccountBalance":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Decimal_-Output"},{"$ref":"#/components/schemas/OrderedComparator_Decimal_-Output"}],"title":"Netaccountbalance","description":"The customer's total outstanding invoice balance minus credits and unapplied payments."},"invoicedLast12Months":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Decimal_-Output"},{"$ref":"#/components/schemas/OrderedComparator_Decimal_-Output"}],"title":"Invoicedlast12Months","description":"The total of the customer's open, paid, and uncollectible invoices issued in the last 12 months, in the organization's currency. Invoices dated after today are not counted."},"overdueBalance":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Decimal_-Output"},{"$ref":"#/components/schemas/OrderedComparator_Decimal_-Output"}],"title":"Overduebalance","description":"The customer's total overdue invoice balance."},"openInvoiceCount":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_int_"},{"$ref":"#/components/schemas/OrderedComparator_int_"}],"title":"Openinvoicecount","description":"The customer's number of open invoices."},"overdueInvoiceCount":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_int_"},{"$ref":"#/components/schemas/OrderedComparator_int_"}],"title":"Overdueinvoicecount","description":"The customer's number of overdue invoices."},"oldestOpenInvoiceDueDate":{"anyOf":[{"$ref":"#/components/schemas/OrderedComparator_DateOperand_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Oldestopeninvoiceduedate","description":"The earliest due date among the customer's open invoices, or whether one exists. Accepts a date or a relative ISO 8601 duration: lte -P60D matches customers whose oldest open invoice is at least 60 days past due."}},"additionalProperties":false,"type":"object","title":"PartnerStatsFilter"},"PartnerSummary":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"account_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The customer's account number."},"assignee_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the user assigned to this partner, if any."},"business_unit_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The business unit this partner belongs to."},"currency":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"","description":"The partner's default currency code (e.g. USD)."},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The partner's company email address."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The full name of the partner."},"legal_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The legal name of this partner, typically applies to businesses."},"phone":{"anyOf":[{"type":"string","format":"phone","description":"A phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format"},{"type":"null"}],"title":"","description":"The partner's default phone number."},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"remote_id":{"type":"string","title":"","description":"The partner's third party id."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","account_number","assignee_id","business_unit_id","currency","email","name","legal_name","phone","parent_id","remote_id","object"],"title":"PartnerSummary"},"PartnerTagSchema":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"partner_id":{"type":"string","title":""},"tag_id":{"type":"string","title":""},"tag":{"$ref":"#/components/schemas/TagSchema","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","partner_id","tag_id","tag","object"],"title":"PartnerTag"},"PartnerWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/PartnerWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/PartnerWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"customFields":{"$ref":"#/components/schemas/DynamicFields-Input","title":"Customfields"},"address":{"$ref":"#/components/schemas/AddressFilter-Input","title":"Address"},"creditMemos":{"$ref":"#/components/schemas/Collection_CreditMemoWorkflowFilter_-Input","title":"Creditmemos"},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"accountNumber":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Accountnumber"},"assigneeId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Assigneeid"},"businessUnitId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Businessunitid"},"currency":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Currency_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Currency"},"email":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Email"},"invoices":{"$ref":"#/components/schemas/Collection_InvoiceWorkflowFilter_-Input","title":"Invoices","description":"Filters over invoices belonging to the customer. Length counts all customer invoices, regardless of status. Sibling some, none, or every conditions do not narrow that count."},"name":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Name"},"legalName":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Legalname"},"phone":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Phone"},"parentId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Parentid"},"remoteId":{"$ref":"#/components/schemas/StringComparator","title":"Remoteid"},"stats":{"$ref":"#/components/schemas/PartnerStatsFilter-Input","title":"Stats","description":"The customer's aggregate invoice statistics. Monetary balances use standard major units of the organization's currency."},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"}},"additionalProperties":false,"type":"object","title":"PartnerWorkflowFilter","description":"Typed customer fields that can be compiled directly to SQLAlchemy."},"PartnerWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/PartnerWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/PartnerWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"customFields":{"$ref":"#/components/schemas/DynamicFields-Output","title":"Customfields"},"address":{"$ref":"#/components/schemas/AddressFilter-Output","title":"Address"},"creditMemos":{"$ref":"#/components/schemas/Collection_CreditMemoWorkflowFilter_-Output","title":"Creditmemos"},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"accountNumber":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Accountnumber"},"assigneeId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Assigneeid"},"businessUnitId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Businessunitid"},"currency":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Currency_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Currency"},"email":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Email"},"invoices":{"$ref":"#/components/schemas/Collection_InvoiceWorkflowFilter_-Output","title":"Invoices","description":"Filters over invoices belonging to the customer. Length counts all customer invoices, regardless of status. Sibling some, none, or every conditions do not narrow that count."},"name":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Name"},"legalName":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Legalname"},"phone":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Phone"},"parentId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Parentid"},"remoteId":{"$ref":"#/components/schemas/StringComparator","title":"Remoteid"},"stats":{"$ref":"#/components/schemas/PartnerStatsFilter-Output","title":"Stats","description":"The customer's aggregate invoice statistics. Monetary balances use standard major units of the organization's currency."},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"}},"additionalProperties":false,"type":"object","title":"PartnerWorkflowFilter","description":"Typed customer fields that can be compiled directly to SQLAlchemy."},"PasswordRegister":{"properties":{"registration_token":{"type":"string","title":"","description":"Token from /verify-email or /exchange-code."},"given_name":{"type":"string","title":"","description":"The user's given (first) name."},"family_name":{"type":"string","title":"","description":"The user's family (last) name."},"organization":{"anyOf":[{"type":"string"},{"$ref":"#/components/schemas/OrganizationDetails"}],"title":"","description":"Either the organization to create, or — to join an existing org instead — its id (the organization_id from the token response's joinable_organization)."},"password":{"type":"string","title":"","description":"The password supplied when registration started."}},"type":"object","required":["registration_token","given_name","family_name","organization","password"],"title":"PasswordRegister","description":"Complete an email/password registration (token from /verify-email)."},"PauseSalesOrderCaseOutreachRequest":{"properties":{"resume_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When outreach may continue. Must be in the future. Omit to pause until resumed."}},"type":"object","title":"PauseSalesOrderCaseOutreachRequest"},"PaymentApplicationStatus":{"type":"string","enum":["non_payment","potential_payment","draft_payment","posted_payment","handled_outside"],"title":"PaymentApplicationStatus","description":"Status indicating the phase of cash application for a bank transaction."},"PaymentBehavior":{"properties":{"all_time":{"$ref":"#/components/schemas/PaymentBehaviorWindow","title":"","description":"Payment timing across the customer's entire history."},"windows":{"items":{"$ref":"#/components/schemas/PaymentBehaviorWindow"},"type":"array","title":"","description":"Payment timing over each requested window, in the order requested."}},"type":"object","required":["all_time","windows"],"title":"PaymentBehavior","description":"One customer's payment-timing behavior, all-time and over the requested windows.\n\nScoped to exactly this partner_id, not its hierarchy."},"PaymentBehaviorBucket":{"properties":{"min_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Inclusive lower bound in days beyond due date, or null for unbounded."},"max_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Inclusive upper bound in days beyond due date, or null for unbounded."},"invoice_count":{"type":"integer","title":"","description":"Paid invoices in this bucket."},"percentage":{"type":"number","title":"","description":"Share of the window's paid invoices in this bucket, 0-100."}},"type":"object","required":["min_days","max_days","invoice_count","percentage"],"title":"PaymentBehaviorBucket","description":"One days-beyond-due-date bucket: how many of the window's paid invoices fall in it."},"PaymentBehaviorWindow":{"properties":{"days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Size of this window in days, or null for all-time."},"invoice_count":{"type":"integer","title":"","description":"Paid invoices in this window."},"avg_days_to_pay_from_due":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"","description":"Average days to payment from due date."},"median_days_to_pay_from_due":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"","description":"Median days to payment from due date."},"stddev_days_to_pay_from_due":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"","description":"Standard deviation of days to payment from due date."},"avg_days_to_pay_from_issued":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"","description":"Average days to payment from issued date."},"bucket_distribution":{"items":{"$ref":"#/components/schemas/PaymentBehaviorBucket"},"type":"array","title":"","description":"Paid invoices grouped into days-beyond-due-date buckets."}},"type":"object","required":["days","invoice_count","avg_days_to_pay_from_due","median_days_to_pay_from_due","stddev_days_to_pay_from_due","avg_days_to_pay_from_issued","bucket_distribution"],"title":"PaymentBehaviorWindow","description":"Payment-timing metrics for one customer over one window. Averages are null when the window has no paid invoices."},"PaymentConfidence":{"properties":{"score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Minimum rubric score (0-100) across linked payments, falling back to the transaction's own agent confidence score when no scored payments exist."},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User-facing summary text from the lowest-scored linked payment. None if no payments have been scored."},"should_post":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"True if all linked payments should be auto-posted according to the scorer. False if any payment should not be auto-posted. None if no payments have been scored yet."}},"type":"object","required":["score","summary","should_post"],"title":"PaymentConfidence","description":"Aggregated confidence signals for a bank transaction, derived from its linked payments."},"PaymentFinding":{"properties":{"id":{"type":"string","title":""},"summary":{"type":"string","title":"","description":"Markdown: a bold one-sentence verdict, a short evidence paragraph and a **Suggested actions** list. Each record it relies on is a link whose target is the bare record id, for example `[GPSI00226762](inv_…)`; route on the id prefix."},"created_at":{"type":"string","format":"date-time","title":""}},"type":"object","required":["id","summary","created_at"],"title":"PaymentFinding","description":"What the Payment Investigator found for a blocked payment, written for a person."},"PaymentFindingResponse":{"properties":{"finding":{"anyOf":[{"$ref":"#/components/schemas/PaymentFinding"},{"type":"null"}],"title":""}},"type":"object","required":["finding"],"title":"PaymentFindingResponse","description":"The newest finding for a payment; ``finding`` is null when it has not been investigated."},"PaymentLinkRow":{"properties":{"payment_id":{"type":"string","title":""},"amount":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":""}},"type":"object","required":["payment_id"],"title":"PaymentLinkRow"},"PaymentLinkSource":{"type":"string","enum":["erp_payment_url","custom_field"],"title":"PaymentLinkSource","description":"Where a template's pay-online link comes from. Both are the ERP's: the invoice's synced\npayment link, or an invoice custom field the template names."},"PaymentMethod":{"properties":{"type":{"type":"string","title":"","description":"Stripe payment-method type, e.g. 'card', 'us_bank_account', 'link'."},"brand":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Card brand (e.g. 'visa') or the bank name for bank accounts; null when the method carries neither."},"last4":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Last 4 digits of the card / bank account; null when absent."},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The account email for Link methods; null for other types."}},"type":"object","required":["type","brand","last4","email"],"title":"billing.PaymentMethod","description":"A display summary of the default invoice payment method."},"PaymentMethodType":{"type":"string","enum":["ach","alipay","au_becs","bacs","card","cash","check","direct_debit","ideal","interac","eft","eps","giropay","klarna","sepa","wechat","wire","other"],"title":"PaymentMethodType"},"PaymentPayload":{"properties":{"custom_fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Source-specific values without a standard field."},"journal_entry":{"$ref":"#/components/schemas/Identifier","title":""},"company_code":{"$ref":"#/components/schemas/Identifier","title":""},"fiscal_year":{"$ref":"#/components/schemas/Identifier","title":""},"customer_id":{"type":"string","title":"","default":""},"amount":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":""},"currency":{"type":"string","title":""},"date":{"type":"string","format":"date","title":""},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"allocations":{"items":{"$ref":"#/components/schemas/_AllocationPayload"},"type":"array","title":""}},"additionalProperties":false,"type":"object","required":["journal_entry","company_code","fiscal_year","amount","currency","date"],"title":"PaymentPayload","description":"Standard payment; monetary values are in major currency units."},"PaymentPlanDetail":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"partner_id":{"type":"string","title":""},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional contact to send this plan's dunning emails to; falls back to the partner default."},"status":{"$ref":"#/components/schemas/PaymentPlanStatus","title":""},"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"Plan currency, taken from the partner's open invoices. Plans are single-currency in v1."},"total_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The agreed plan total in the plan currency's major units; equals the sum of installment amounts."},"num_installments":{"type":"integer","title":""},"frequency":{"$ref":"#/components/schemas/PaymentPlanFrequency","title":""},"start_date":{"type":"string","format":"date","title":"","description":"Date the plan was created and the partner's dunning was paused. The first installment is due later (a cadence period out, or the first explicit custom row), not on this date."},"completed_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"canceled_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"next_due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"final_due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"amount_collected":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"installments_paid_count":{"type":"integer","title":""},"per_payment_amount":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"installments":{"items":{"$ref":"#/components/schemas/PaymentPlanInstallmentSummary"},"type":"array","title":""},"amount_remaining":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"unlinked_payments":{"items":{"$ref":"#/components/schemas/UnlinkedPaymentResponse"},"type":"array","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","partner_id","contact_id","status","currency","total_amount","num_installments","frequency","start_date","completed_at","canceled_at","next_due_date","final_due_date","amount_collected","installments_paid_count","per_payment_amount","installments","amount_remaining","unlinked_payments","object"],"title":"PaymentPlanDetail"},"PaymentPlanFrequency":{"type":"string","enum":["weekly","biweekly","monthly","custom"],"title":"PaymentPlanFrequency"},"PaymentPlanInstallmentReceiptSummary":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Signed amount of this receipt in the plan currency's major units; negative rows are adjustments."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Collector annotation or the system reason for the row (e.g. 'Marked paid in full')."},"received_by_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","amount","note","received_by_id","object"],"title":"PaymentPlanInstallmentReceiptSummary"},"PaymentPlanInstallmentStatus":{"type":"string","enum":["scheduled","due","partially_paid","paid","canceled"],"title":"PaymentPlanInstallmentStatus"},"PaymentPlanInstallmentSummary":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"sequence":{"type":"integer","title":"","description":"1-based position of this installment within the plan."},"due_date":{"type":"string","format":"date","title":""},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Amount owed for this installment in the plan currency's major units."},"status":{"$ref":"#/components/schemas/PaymentPlanInstallmentStatus","title":""},"amount_received":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Amount the collector recorded receiving; may be less than `amount` (partial) and accumulates across receipts until it covers `amount`."},"received_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the most recent receipt was recorded."},"is_overdue":{"type":"boolean","title":"","description":"Whether this installment is past due and still owed (not yet fully paid)."},"receipts":{"items":{"$ref":"#/components/schemas/PaymentPlanInstallmentReceiptSummary"},"type":"array","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","sequence","due_date","amount","status","amount_received","received_at","is_overdue","receipts","object"],"title":"PaymentPlanInstallmentSummary"},"PaymentPlanInstallmentWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/PaymentPlanInstallmentWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/PaymentPlanInstallmentWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"paymentPlanId":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Paymentplanid"},"paymentPlanStatus":{"$ref":"#/components/schemas/EqualityComparator_PaymentPlanStatus_","title":"Paymentplanstatus"},"sequence":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Sequence"},"dueDate":{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Input","title":"Duedate"},"amount":{"$ref":"#/components/schemas/_OrderedComparator_Decimal_-Input","title":"Amount"},"status":{"$ref":"#/components/schemas/EqualityComparator_PaymentPlanInstallmentStatus_","title":"Status"},"amountReceived":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_Decimal_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Amountreceived"},"receivedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Receivedat"},"isOverdue":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isoverdue"},"reminderSentAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Remindersentat"},"overdueAlertedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Overduealertedat"},"remoteId":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Remoteid"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"}},"additionalProperties":false,"type":"object","title":"PaymentPlanInstallmentWorkflowFilter","description":"Typed payment-plan installment fields compiled directly to SQLAlchemy."},"PaymentPlanInstallmentWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/PaymentPlanInstallmentWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/PaymentPlanInstallmentWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"paymentPlanId":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Paymentplanid"},"paymentPlanStatus":{"$ref":"#/components/schemas/EqualityComparator_PaymentPlanStatus_","title":"Paymentplanstatus"},"sequence":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Sequence"},"dueDate":{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Output","title":"Duedate"},"amount":{"$ref":"#/components/schemas/_OrderedComparator_Decimal_-Output","title":"Amount"},"status":{"$ref":"#/components/schemas/EqualityComparator_PaymentPlanInstallmentStatus_","title":"Status"},"amountReceived":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_Decimal_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Amountreceived"},"receivedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Receivedat"},"isOverdue":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isoverdue"},"reminderSentAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Remindersentat"},"overdueAlertedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Overduealertedat"},"remoteId":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Remoteid"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"}},"additionalProperties":false,"type":"object","title":"PaymentPlanInstallmentWorkflowFilter","description":"Typed payment-plan installment fields compiled directly to SQLAlchemy."},"PaymentPlanStatus":{"type":"string","enum":["draft","active","completed","canceled"],"title":"PaymentPlanStatus"},"PaymentPlanSummary":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"partner_id":{"type":"string","title":""},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional contact to send this plan's dunning emails to; falls back to the partner default."},"status":{"$ref":"#/components/schemas/PaymentPlanStatus","title":""},"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"Plan currency, taken from the partner's open invoices. Plans are single-currency in v1."},"total_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The agreed plan total in the plan currency's major units; equals the sum of installment amounts."},"num_installments":{"type":"integer","title":""},"frequency":{"$ref":"#/components/schemas/PaymentPlanFrequency","title":""},"start_date":{"type":"string","format":"date","title":"","description":"Date the plan was created and the partner's dunning was paused. The first installment is due later (a cadence period out, or the first explicit custom row), not on this date."},"completed_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"canceled_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"next_due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"final_due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"amount_collected":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"installments_paid_count":{"type":"integer","title":""},"per_payment_amount":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","partner_id","contact_id","status","currency","total_amount","num_installments","frequency","start_date","completed_at","canceled_at","next_due_date","final_due_date","amount_collected","installments_paid_count","per_payment_amount","object"],"title":"PaymentPlanSummary"},"PaymentPlanWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/PaymentPlanWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/PaymentPlanWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"partnerId":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Partnerid"},"contactId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Contactid"},"status":{"$ref":"#/components/schemas/EqualityComparator_PaymentPlanStatus_","title":"Status"},"currency":{"$ref":"#/components/schemas/EqualityComparator_Currency_","title":"Currency"},"totalAmount":{"$ref":"#/components/schemas/_OrderedComparator_Decimal_-Input","title":"Totalamount"},"numInstallments":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Numinstallments"},"frequency":{"$ref":"#/components/schemas/EqualityComparator_PaymentPlanFrequency_","title":"Frequency"},"startDate":{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Input","title":"Startdate"},"reminderDaysBefore":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Reminderdaysbefore"},"overdueAlertDays":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Overduealertdays"},"completedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Completedat"},"canceledAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Canceledat"},"cancelReason":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Cancelreason"},"notes":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Notes"},"remoteId":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Remoteid"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"}},"additionalProperties":false,"type":"object","title":"PaymentPlanWorkflowFilter","description":"Typed payment-plan fields that can be compiled directly to SQLAlchemy."},"PaymentPlanWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/PaymentPlanWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/PaymentPlanWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"partnerId":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Partnerid"},"contactId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Contactid"},"status":{"$ref":"#/components/schemas/EqualityComparator_PaymentPlanStatus_","title":"Status"},"currency":{"$ref":"#/components/schemas/EqualityComparator_Currency_","title":"Currency"},"totalAmount":{"$ref":"#/components/schemas/_OrderedComparator_Decimal_-Output","title":"Totalamount"},"numInstallments":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Numinstallments"},"frequency":{"$ref":"#/components/schemas/EqualityComparator_PaymentPlanFrequency_","title":"Frequency"},"startDate":{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Output","title":"Startdate"},"reminderDaysBefore":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Reminderdaysbefore"},"overdueAlertDays":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Overduealertdays"},"completedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Completedat"},"canceledAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Canceledat"},"cancelReason":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Cancelreason"},"notes":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Notes"},"remoteId":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Remoteid"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"}},"additionalProperties":false,"type":"object","title":"PaymentPlanWorkflowFilter","description":"Typed payment-plan fields that can be compiled directly to SQLAlchemy."},"PaymentPromiseSchema":{"properties":{"id":{"type":"string","title":""},"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"promised_to_pay_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"source":{"anyOf":[{"$ref":"#/components/schemas/PaymentPromiseSource"},{"type":"null"}],"title":""},"partner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"email_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"sms_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"created_by_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"extracted_invoice_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"payment_type":{"anyOf":[{"$ref":"#/components/schemas/PaymentType"},{"type":"null"}],"title":""},"sent_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"amount":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":""},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"is_calculated":{"type":"boolean","title":""},"is_promised_date_updated":{"type":"boolean","title":""},"agent_confidence_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""},"agent_confidence_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"agent_uncertainties":{"items":{"type":"string"},"type":"array","title":""},"agent_error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","created_at","promised_to_pay_date","source","partner_id","invoice_id","email_id","call_id","sms_id","created_by_user_id","extracted_invoice_number","payment_type","sent_date","amount","currency","is_calculated","is_promised_date_updated","agent_confidence_score","agent_confidence_reason","agent_uncertainties","agent_error_code"],"title":"PaymentPromise","description":"Attribution + extraction payload for one payment-promise row."},"PaymentPromiseSource":{"type":"string","enum":["email","call","sms","user","integration_sync"],"title":"PaymentPromiseSource"},"PaymentPromiseWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/PaymentPromiseWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/PaymentPromiseWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"partnerId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Partnerid"},"invoiceId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Invoiceid"},"promisedToPayDate":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Promisedtopaydate"},"source":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_PaymentPromiseSource_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Source"},"createdByUserId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Createdbyuserid"},"extractedInvoiceNumber":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Extractedinvoicenumber"},"paymentType":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_PaymentType_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Paymenttype"},"sentDate":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Sentdate"},"amount":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Amount"},"currency":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Currency_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Currency"},"isCalculated":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Iscalculated"},"agentConfidenceScore":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Agentconfidencescore"},"agentErrorCode":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Agenterrorcode"}},"additionalProperties":false,"type":"object","title":"PaymentPromiseWorkflowFilter"},"PaymentPromiseWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/PaymentPromiseWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/PaymentPromiseWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"partnerId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Partnerid"},"invoiceId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Invoiceid"},"promisedToPayDate":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Promisedtopaydate"},"source":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_PaymentPromiseSource_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Source"},"createdByUserId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Createdbyuserid"},"extractedInvoiceNumber":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Extractedinvoicenumber"},"paymentType":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_PaymentType_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Paymenttype"},"sentDate":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Sentdate"},"amount":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Amount"},"currency":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Currency_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Currency"},"isCalculated":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Iscalculated"},"agentConfidenceScore":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Agentconfidencescore"},"agentErrorCode":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Agenterrorcode"}},"additionalProperties":false,"type":"object","title":"PaymentPromiseWorkflowFilter"},"PaymentStatus":{"type":"string","enum":["processing","completed"],"title":"PaymentStatus"},"PaymentType":{"type":"string","enum":["ach","wire","check","other"],"title":"PaymentType"},"PaymentWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/PaymentWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/PaymentWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"customFields":{"$ref":"#/components/schemas/DynamicFields-Input","title":"Customfields"},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"partnerId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Partnerid"},"amount":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Amount"},"amountRefunded":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Amountrefunded"},"currency":{"$ref":"#/components/schemas/EqualityComparator_Currency_","title":"Currency"},"paymentMethod":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_PaymentMethodType_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Paymentmethod"},"referenceNumber":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Referencenumber"},"remoteId":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Remoteid"},"timestamp":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Timestamp"},"approvedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Approvedat"},"postedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Postedat"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"}},"additionalProperties":false,"type":"object","title":"PaymentWorkflowFilter","description":"Typed payment fields that can be compiled directly to SQLAlchemy."},"PaymentWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/PaymentWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/PaymentWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"customFields":{"$ref":"#/components/schemas/DynamicFields-Output","title":"Customfields"},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"partnerId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Partnerid"},"amount":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Amount"},"amountRefunded":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Amountrefunded"},"currency":{"$ref":"#/components/schemas/EqualityComparator_Currency_","title":"Currency"},"paymentMethod":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_PaymentMethodType_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Paymentmethod"},"referenceNumber":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Referencenumber"},"remoteId":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Remoteid"},"timestamp":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Timestamp"},"approvedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Approvedat"},"postedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Postedat"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"}},"additionalProperties":false,"type":"object","title":"PaymentWorkflowFilter","description":"Typed payment fields that can be compiled directly to SQLAlchemy."},"PayoutInfo":{"properties":{"id":{"type":"string","title":"","description":"Stuut payout ID"},"remote_id":{"type":"string","title":"","description":"The payout's ID in the upstream payment processor"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Dashboard URL for the payout in the upstream payment processor, if available."}},"type":"object","required":["id","remote_id","url"],"title":"PayoutInfo","description":"Minimal payout reference for the bank-transaction detail response."},"PdfAddressSchema-Input":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"line1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"line2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","title":"PdfAddress","description":"Remit-to / wire address."},"PdfAddressSchema-Output":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"line1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"line2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["name","line1","line2","city","state","postal_code","country"],"title":"PdfAddress","description":"Remit-to / wire address."},"PdfBankDetailsSchema-Input":{"properties":{"bank_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"account_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"routing_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"wire_routing_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"details":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","title":"PdfBankDetails","description":"Where customers wire or ACH payments. Written as a whole: an update replaces every field in it."},"PdfBankDetailsSchema-Output":{"properties":{"bank_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"account_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"routing_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"wire_routing_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"details":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["bank_name","account_number","routing_number","wire_routing_number","details"],"title":"PdfBankDetails","description":"Where customers wire or ACH payments. Written as a whole: an update replaces every field in it."},"PdfHeaderFieldSchema":{"properties":{"source":{"$ref":"#/components/schemas/CustomFieldSource","title":""},"key":{"type":"string","minLength":1,"title":""},"label":{"type":"string","minLength":1,"title":""}},"type":"object","required":["source","key","label"],"title":"PdfHeaderField","description":"A custom field printed in the invoice header."},"PdfLineItemColumnSchema-Input":{"properties":{"field":{"$ref":"#/components/schemas/LineItemField","title":""},"key":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":""},"label":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":""}},"type":"object","required":["field"],"title":"PdfLineItemColumn","description":"A line-item table column, in print order. `label` overrides the default header.\nA `custom_field` column prints the line item's custom field `key`, and only it has a `key`."},"PdfLineItemColumnSchema-Output":{"properties":{"field":{"$ref":"#/components/schemas/LineItemField","title":""},"key":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":""},"label":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":""}},"type":"object","required":["field","key","label"],"title":"PdfLineItemColumn","description":"A line-item table column, in print order. `label` overrides the default header.\nA `custom_field` column prints the line item's custom field `key`, and only it has a `key`."},"PdfPaymentLinkSchema-Input":{"properties":{"source":{"$ref":"#/components/schemas/PaymentLinkSource","title":""},"key":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":""},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["source"],"title":"PdfPaymentLink","description":"A pay-online link printed above the totals. `erp_payment_url` prints the payment link the ERP\nsynced onto the invoice; `custom_field` prints the invoice custom field `key`, and only it has a\n`key`. Left off an invoice with no link, or whose link isn't an https URL. `image_url` prints\neither side of the link, such as the payment provider's badge; upload it like the logo."},"PdfPaymentLinkSchema-Output":{"properties":{"source":{"$ref":"#/components/schemas/PaymentLinkSource","title":""},"key":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":""},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["source","key","image_url"],"title":"PdfPaymentLink","description":"A pay-online link printed above the totals. `erp_payment_url` prints the payment link the ERP\nsynced onto the invoice; `custom_field` prints the invoice custom field `key`, and only it has a\n`key`. Left off an invoice with no link, or whose link isn't an https URL. `image_url` prints\neither side of the link, such as the payment provider's badge; upload it like the logo."},"PdfTermsBlockSchema-Input":{"properties":{"title":{"type":"string","minLength":1,"title":""},"subtitle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"body":{"type":"string","minLength":1,"title":""}},"type":"object","required":["title","body"],"title":"PdfTermsBlock","description":"A titled block of terms and conditions, printed on its own page after the invoice.\n`body` is Markdown from the terms editor: paragraphs, bold, italic, underline and bulleted or\nnumbered lists print; a whole line wrapped in `**` prints as a heading."},"PdfTermsBlockSchema-Output":{"properties":{"title":{"type":"string","minLength":1,"title":""},"subtitle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"body":{"type":"string","minLength":1,"title":""}},"type":"object","required":["title","subtitle","body"],"title":"PdfTermsBlock","description":"A titled block of terms and conditions, printed on its own page after the invoice.\n`body` is Markdown from the terms editor: paragraphs, bold, italic, underline and bulleted or\nnumbered lists print; a whole line wrapped in `**` prints as a heading."},"PdfTotalsRowSchema-Input":{"properties":{"source":{"$ref":"#/components/schemas/TotalsSource","title":""},"key":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":""},"label":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":""}},"type":"object","required":["source"],"title":"PdfTotalsRow","description":"A row of the totals block, in print order. A `custom_field` row prints the invoice custom\nfield `key` as an amount, and only it has a `key`; it is left out when the invoice has no value.\n`label` overrides the layout's caption."},"PdfTotalsRowSchema-Output":{"properties":{"source":{"$ref":"#/components/schemas/TotalsSource","title":""},"key":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":""},"label":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":""}},"type":"object","required":["source","key","label"],"title":"PdfTotalsRow","description":"A row of the totals block, in print order. A `custom_field` row prints the invoice custom\nfield `key` as an amount, and only it has a `key`; it is left out when the invoice has no value.\n`label` overrides the layout's caption."},"PermissionRegistryResponse":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/RegistryResource"},"type":"array","title":""}},"type":"object","required":["resources"],"title":"PermissionRegistryResponse"},"PhoneNumber":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"phone_number":{"type":"string","format":"phone","title":"","description":"The number, E.164."},"iso_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ISO 3166-1 country code of the number."},"status":{"$ref":"#/components/schemas/PhoneNumberStatus","title":"","description":"Lifecycle status."},"voice":{"type":"boolean","title":"","description":"Whether the number is voice-capable."},"sms":{"type":"boolean","title":"","description":"Whether the number is SMS-capable."},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional human-friendly label."},"is_default":{"type":"boolean","title":"","description":"The org's fallback number, used when a partner has no language/country/BU match."},"business_identity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Legal entity / Twilio Secondary Profile this number is registered under (CNAM/SHAKEN/VI)."},"business_units":{"items":{"$ref":"#/components/schemas/BusinessUnit"},"type":"array","title":"","description":"Business units this number is assigned to."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","phone_number","iso_country","status","voice","sms","label","is_default","business_identity_id","business_units","object"],"title":"PhoneNumber"},"PhoneNumberStatus":{"type":"string","enum":["provisioning","active"],"title":"PhoneNumberStatus"},"PlanProposalResponse":{"properties":{"currency":{"$ref":"#/components/schemas/Currency","title":""},"total":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"projected":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"installments":{"items":{"$ref":"#/components/schemas/ProposalInstallment"},"type":"array","title":""}},"type":"object","required":["currency","total","projected","installments"],"title":"PlanProposalResponse"},"PlanResult":{"properties":{"content":{"type":"string","title":"Content","description":"The plan/response content"},"articles":{"items":{"type":"string"},"type":"array","title":"Articles","description":"Knowledge articles referenced in building this plan"}},"type":"object","required":["content"],"title":"PlanResult"},"PlaybookExtraction":{"properties":{"id":{"type":"string","format":"uuid","title":""},"created_at":{"type":"string","format":"date-time","title":""},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When processing finished"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User who initiated the run"},"collection":{"anyOf":[{"type":"string","enum":["cash_application","collections","company","credit_risk","deductions","disputes","payments"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"","description":"Target collection"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Error message if failed"},"extraction_type":{"$ref":"#/components/schemas/PlaybookExtractionType","title":"","default":"file"},"status":{"$ref":"#/components/schemas/PlaybookExtractionStatus","title":"","description":"Current pipeline status"},"dedup_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Items removed by dedup"},"input_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Total items to process"},"knowledge_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Knowledge items produced"},"memory_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Memories extracted"},"processed_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Sources processed so far"},"progress":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Per-stage progress"},"proposal_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Proposals created"},"file":{"anyOf":[{"$ref":"#/components/schemas/stuut__api_service__v2__routers__aether__schemas__file__File"},{"type":"null"}],"title":""},"file_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":""}},"type":"object","required":["id","created_at","completed_at","created_by","collection","error","extraction_type","status","dedup_count","input_count","knowledge_count","memory_count","processed_count","progress","proposal_count","file","file_id"],"title":"PlaybookExtraction"},"PlaybookExtractionStatus":{"type":"string","enum":["pending","extracting","deduping","enriching","synthesizing","complete","failed"],"title":"PlaybookExtractionStatus"},"PlaybookExtractionType":{"type":"string","enum":["file","onboarding","synthesis"],"title":"PlaybookExtractionType"},"PlaybookStats":{"properties":{"total_articles":{"type":"integer","title":"Total Articles","description":"Total published articles"},"total_collections":{"type":"integer","title":"Total Collections","description":"Number of collections with content"},"pending_proposals":{"type":"integer","title":"Pending Proposals","description":"Proposals awaiting review"},"collections":{"items":{"$ref":"#/components/schemas/CollectionStats"},"type":"array","title":"Collections","description":"Per-collection breakdown"}},"type":"object","required":["total_articles","total_collections","pending_proposals"],"title":"PlaybookStats"},"PncConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"pnc","title":""},"sftp_host":{"type":"string","title":"","description":"PNC EFX SFTP hostname."},"sftp_port":{"type":"integer","title":"","description":"SFTP port."},"sftp_path":{"type":"string","title":"","description":"Directory PNC drops lockbox files into."},"sftp_username":{"type":"string","title":"","description":"PNC-issued SFTP login."},"lockbox_business_units":{"additionalProperties":{"type":"string"},"type":"object","title":"","description":"Lockbox number (unpadded, e.g. ``831211``) to business unit name. A file containing a lockbox missing from this map is rejected."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true},"has_sftp_private_key":{"type":"boolean","title":"","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","sftp_host","sftp_port","sftp_path","sftp_username","lockbox_business_units","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id","has_sftp_private_key"],"title":"PncConnection","description":"PNC Bank integration connection. The private key is never returned."},"PncConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"pnc","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"sftp_host":{"type":"string","minLength":1,"title":"","description":"PNC EFX SFTP hostname."},"sftp_port":{"type":"integer","maximum":65535.0,"minimum":1.0,"title":"","description":"SFTP port.","default":22},"sftp_path":{"type":"string","minLength":1,"title":"","description":"Directory PNC drops lockbox files into.","default":"/"},"sftp_username":{"type":"string","minLength":1,"title":"","description":"PNC-issued SFTP login."},"sftp_private_key":{"type":"string","format":"password","title":"","description":"SSH private key whose public half is registered with PNC.","writeOnly":true},"lockbox_business_units":{"additionalProperties":{"type":"string"},"type":"object","title":"","description":"PNC lockbox number to the name of the business unit its payments belong to."}},"type":"object","required":["provider_name","sftp_host","sftp_username","sftp_private_key","lockbox_business_units"],"title":"PncConnectionCreateBody","description":"Create schema for PNC connections."},"PncConnectionUpdateBody":{"properties":{"provider_name":{"type":"string","const":"pnc","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"sftp_host":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"","description":"PNC EFX SFTP hostname."},"sftp_port":{"anyOf":[{"type":"integer","maximum":65535.0,"minimum":1.0},{"type":"null"}],"title":"","description":"SFTP port."},"sftp_path":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"","description":"Directory PNC drops lockbox files into."},"sftp_username":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"","description":"PNC-issued SFTP login."},"sftp_private_key":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"SSH private key whose public half is registered with PNC."},"lockbox_business_units":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"","description":"Lockbox number (unpadded, e.g. ``831211``) to business unit name. A file containing a lockbox missing from this map is rejected."}},"type":"object","required":["provider_name"],"title":"PncConnectionUpdateBody","description":"Update schema for PNC connections."},"PortalLineKind":{"type":"string","enum":["quantity","amount"],"title":"PortalLineKind","description":"Line pricing model — quantity-based (qty x unit price) or amount-based (flat total)."},"PortalRequest":{"properties":{"return_url":{"type":"string","title":"","description":"App URL to return to when done in the portal."}},"type":"object","required":["return_url"],"title":"billing.PortalRequest"},"PortalResponse":{"properties":{"url":{"type":"string","title":"","description":"One-time Stripe-hosted portal URL."}},"type":"object","required":["url"],"title":"billing.PortalResponse"},"PreSubmissionAmounts":{"properties":{"currency":{"type":"string","title":"Currency"},"subtotal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subtotal"},"tax":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tax"},"taxes":{"items":{"$ref":"#/components/schemas/PreSubmissionTax"},"type":"array","title":"Taxes"},"shipping":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shipping"},"shipping_tax":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shipping Tax"},"handling":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Handling"},"total":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Total"}},"type":"object","required":["currency"],"title":"PreSubmissionAmounts","description":"The tax and charges the submit bills, as the portal will see them, with the totals they\nadd up to. Amounts are major-unit decimals of ``currency``; one the invoice does not bill\nis None, so the review shows only what exists."},"PreSubmissionAnswer":{"properties":{"answered_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Answered At"},"answered_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Answered By"},"file_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Id"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"other":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Other"},"value":{"type":"string","title":"Value"}},"type":"object","required":["answered_at","answered_by","file_id","file_name","note","other","value"],"title":"PreSubmissionAnswer"},"PreSubmissionAnswerInput":{"properties":{"file_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Id"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"other":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Other"},"value":{"type":"string","title":"Value"}},"additionalProperties":false,"type":"object","required":["value"],"title":"PreSubmissionAnswerInput"},"PreSubmissionAnswerSource":{"properties":{"task_id":{"type":"string","title":"Task Id"},"invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Id"},"invoice_number":{"type":"string","title":"Invoice Number"},"answered_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Answered At"}},"type":"object","required":["task_id","invoice_number"],"title":"PreSubmissionAnswerSource","description":"The earlier review a pre-filled answer came from."},"PreSubmissionAsk":{"properties":{"body":{"type":"string","title":"Body"},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"subject":{"type":"string","title":"Subject"}},"type":"object","required":["body","contact_id","subject"],"title":"PreSubmissionAsk"},"PreSubmissionCheckboxControl":{"properties":{"type":{"type":"string","const":"checkbox","title":"Type","default":"checkbox"},"options":{"items":{"$ref":"#/components/schemas/PreSubmissionOption"},"type":"array","title":"Options"},"placeholder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Placeholder"}},"type":"object","required":["options"],"title":"PreSubmissionCheckboxControl"},"PreSubmissionCitation":{"properties":{"excerpt":{"type":"string","title":"Excerpt"},"kind":{"type":"string","enum":["article","document"],"title":"Kind","x-speakeasy-enum-format":"union"},"reasoning":{"type":"string","title":"Reasoning"},"size_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Size Label"},"source":{"type":"string","title":"Source"},"title":{"type":"string","title":"Title"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"type":"object","required":["excerpt","kind","reasoning","size_label","source","title","url"],"title":"PreSubmissionCitation"},"PreSubmissionContact":{"properties":{"email":{"type":"string","title":"Email"},"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["email","id","name"],"title":"PreSubmissionContact"},"PreSubmissionDateControl":{"properties":{"type":{"type":"string","const":"date","title":"Type","default":"date"},"options":{"items":{"$ref":"#/components/schemas/PreSubmissionOption"},"type":"array","title":"Options"},"placeholder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Placeholder"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"min_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Min Date"}},"type":"object","title":"PreSubmissionDateControl","description":"An ISO date answer, or one of ``options``, the answers that are not a date."},"PreSubmissionFieldSource":{"properties":{"kind":{"type":"string","enum":["STUUT_INVOICE","REMOTE_DATA"],"title":"Kind","x-speakeasy-enum-format":"union"},"label":{"type":"string","title":"Label"},"adjustment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Adjustment"}},"type":"object","required":["kind","label"],"title":"PreSubmissionFieldSource","description":"Where a prepared value was read: a field on Stuut's invoice, standard or custom\n(``STUUT_INVOICE``), or the raw ERP record of the invoice (``REMOTE_DATA``)."},"PreSubmissionFieldValueInput":{"properties":{"invoice_id":{"type":"string","title":"Invoice Id"},"key":{"type":"string","maxLength":200,"minLength":1,"title":"Key"},"value":{"type":"string","maxLength":10000,"title":"Value"}},"additionalProperties":false,"type":"object","required":["invoice_id","key","value"],"title":"PreSubmissionFieldValueInput"},"PreSubmissionFileRequest":{"properties":{"hint":{"type":"string","title":"Hint"},"label":{"type":"string","title":"Label"}},"type":"object","required":["hint","label"],"title":"PreSubmissionFileRequest"},"PreSubmissionForm":{"properties":{"invoice_id":{"type":"string","title":"Invoice Id"},"amounts":{"anyOf":[{"$ref":"#/components/schemas/PreSubmissionAmounts"},{"type":"null"}]},"line_items":{"anyOf":[{"$ref":"#/components/schemas/PreSubmissionLineItems"},{"type":"null"}]},"lines":{"items":{"$ref":"#/components/schemas/PreSubmissionLine"},"type":"array","title":"Lines"},"sections":{"items":{"$ref":"#/components/schemas/PreSubmissionFormSection"},"type":"array","title":"Sections"}},"type":"object","required":["invoice_id","lines","sections"],"title":"PreSubmissionForm"},"PreSubmissionFormRow":{"properties":{"key":{"type":"string","title":"Key"},"label":{"type":"string","title":"Label"},"question_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Question Id"},"value":{"type":"string","title":"Value"},"source":{"anyOf":[{"$ref":"#/components/schemas/PreSubmissionFieldSource"},{"type":"null"}]}},"type":"object","required":["key","label","question_id","value"],"title":"PreSubmissionFormRow"},"PreSubmissionFormSection":{"properties":{"rows":{"items":{"$ref":"#/components/schemas/PreSubmissionFormRow"},"type":"array","title":"Rows"},"title":{"type":"string","title":"Title"}},"type":"object","required":["rows","title"],"title":"PreSubmissionFormSection"},"PreSubmissionInvoice":{"properties":{"amount":{"type":"string","title":"Amount"},"currency":{"type":"string","title":"Currency"},"due_date":{"type":"string","title":"Due Date"},"id":{"type":"string","title":"Id"},"invoice_id":{"type":"string","title":"Invoice Id"},"invoice_number":{"type":"string","title":"Invoice Number"},"po_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Po Number"},"questions":{"items":{"$ref":"#/components/schemas/PreSubmissionQuestion"},"type":"array","title":"Questions"}},"type":"object","required":["amount","currency","due_date","id","invoice_id","invoice_number","po_number","questions"],"title":"PreSubmissionInvoice"},"PreSubmissionInvoiceTarget":{"properties":{"type":{"type":"string","const":"invoice","title":"Type","default":"invoice"}},"type":"object","title":"PreSubmissionInvoiceTarget"},"PreSubmissionLine":{"properties":{"description":{"type":"string","title":"Description"},"number":{"type":"string","title":"Number"},"quantity":{"type":"string","title":"Quantity"},"subtotal":{"type":"string","title":"Subtotal"},"unit":{"type":"string","title":"Unit"},"unit_price":{"type":"string","title":"Unit Price"}},"type":"object","required":["description","number","quantity","subtotal","unit","unit_price"],"title":"PreSubmissionLine"},"PreSubmissionLineItemPair":{"properties":{"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"},"po_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Po Description"},"po_line_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Po Line Number"},"po_quantity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Po Quantity"},"po_total":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Po Total"},"po_unit_price":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Po Unit Price"},"severity":{"type":"string","enum":["info","review"],"title":"Severity","x-speakeasy-enum-format":"union"},"status":{"type":"string","title":"Status"},"stuut_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stuut Description"},"stuut_line_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stuut Line Number"},"stuut_quantity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stuut Quantity"},"stuut_total":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stuut Total"},"stuut_unit_price":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stuut Unit Price"}},"type":"object","required":["severity","status"],"title":"PreSubmissionLineItemPair"},"PreSubmissionLineItems":{"properties":{"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"pairs":{"items":{"$ref":"#/components/schemas/PreSubmissionLineItemPair"},"type":"array","title":"Pairs"},"passed":{"type":"boolean","title":"Passed"},"po_total":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Po Total"},"severity":{"type":"string","enum":["info","review"],"title":"Severity","x-speakeasy-enum-format":"union"},"stuut_total":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stuut Total"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"unbilled_po_line_numbers":{"items":{"type":"string"},"type":"array","title":"Unbilled Po Line Numbers"}},"type":"object","required":["pairs","passed","severity","unbilled_po_line_numbers"],"title":"PreSubmissionLineItems"},"PreSubmissionLineTarget":{"properties":{"type":{"type":"string","enum":["invoice_line","po_line"],"title":"Type","x-speakeasy-enum-format":"union"},"number":{"type":"string","title":"Number"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"quantity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quantity"},"amount":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Amount"}},"type":"object","required":["type","number"],"title":"PreSubmissionLineTarget"},"PreSubmissionOption":{"properties":{"id":{"type":"string","title":"Id"},"label":{"type":"string","title":"Label"},"meta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Meta"},"outcome":{"anyOf":[{"$ref":"#/components/schemas/PreSubmissionOutcome"},{"type":"null"}]},"requires_file":{"anyOf":[{"$ref":"#/components/schemas/PreSubmissionFileRequest"},{"type":"null"}]},"parent_values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Parent Values"}},"type":"object","required":["id","label","meta","outcome","requires_file"],"title":"PreSubmissionOption"},"PreSubmissionOutcome":{"properties":{"ask":{"anyOf":[{"$ref":"#/components/schemas/PreSubmissionAsk"},{"type":"null"}]},"label":{"type":"string","title":"Label"},"note":{"type":"string","title":"Note"},"closes":{"type":"boolean","title":"Closes","default":false}},"type":"object","required":["ask","label","note"],"title":"PreSubmissionOutcome"},"PreSubmissionPortalFieldTarget":{"properties":{"type":{"type":"string","const":"portal_field","title":"Type","default":"portal_field"},"reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference"}},"type":"object","title":"PreSubmissionPortalFieldTarget"},"PreSubmissionQuestion":{"properties":{"agent_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Reason"},"agent_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Value"},"answer":{"anyOf":[{"$ref":"#/components/schemas/PreSubmissionAnswer"},{"type":"null"}]},"citation":{"anyOf":[{"$ref":"#/components/schemas/PreSubmissionCitation"},{"type":"null"}]},"context":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context"},"field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Field"},"id":{"type":"string","title":"Id"},"control":{"$ref":"#/components/schemas/PreSubmissionQuestionControl"},"prompt":{"type":"string","title":"Prompt"},"section":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Section"},"target":{"$ref":"#/components/schemas/PreSubmissionQuestionTarget"},"title":{"type":"string","title":"Title"},"reuse_role":{"anyOf":[{"$ref":"#/components/schemas/ChoiceReuse"},{"type":"null"}]},"answer_source":{"anyOf":[{"$ref":"#/components/schemas/PreSubmissionAnswerSource"},{"type":"null"}]},"suggested":{"type":"boolean","title":"Suggested","default":false}},"type":"object","required":["agent_value","answer","citation","context","field","id","control","prompt","section","target","title"],"title":"PreSubmissionQuestion"},"PreSubmissionQuestionAnswerInput":{"properties":{"answer":{"anyOf":[{"$ref":"#/components/schemas/PreSubmissionAnswerInput"},{"type":"null"}]},"invoice_id":{"type":"string","title":"Invoice Id"},"question_id":{"type":"string","title":"Question Id"}},"additionalProperties":false,"type":"object","required":["answer","invoice_id","question_id"],"title":"PreSubmissionQuestionAnswerInput"},"PreSubmissionQuestionControl":{"oneOf":[{"$ref":"#/components/schemas/PreSubmissionSelectControl"},{"$ref":"#/components/schemas/PreSubmissionTextControl"},{"$ref":"#/components/schemas/PreSubmissionCheckboxControl"},{"$ref":"#/components/schemas/PreSubmissionDateControl"}],"discriminator":{"propertyName":"type","mapping":{"checkbox":"#/components/schemas/PreSubmissionCheckboxControl","date":"#/components/schemas/PreSubmissionDateControl","select":"#/components/schemas/PreSubmissionSelectControl","text":"#/components/schemas/PreSubmissionTextControl"}}},"PreSubmissionQuestionTarget":{"oneOf":[{"$ref":"#/components/schemas/PreSubmissionInvoiceTarget"},{"$ref":"#/components/schemas/PreSubmissionLineTarget"},{"$ref":"#/components/schemas/PreSubmissionShippingTarget"},{"$ref":"#/components/schemas/PreSubmissionPortalFieldTarget"}],"discriminator":{"propertyName":"type","mapping":{"invoice":"#/components/schemas/PreSubmissionInvoiceTarget","invoice_line":"#/components/schemas/PreSubmissionLineTarget","po_line":"#/components/schemas/PreSubmissionLineTarget","portal_field":"#/components/schemas/PreSubmissionPortalFieldTarget","shipping":"#/components/schemas/PreSubmissionShippingTarget"}}},"PreSubmissionRejection":{"properties":{"task_id":{"type":"string","title":"Task Id"},"ap_portal_invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ap Portal Invoice Id"},"reason":{"anyOf":[{"$ref":"#/components/schemas/SubmissionRejectReason"},{"type":"null"}]},"reason_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason Text"},"rejected_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rejected At"},"screenshot":{"anyOf":[{"$ref":"#/components/schemas/PreSubmissionScreenshot"},{"type":"null"}]}},"type":"object","required":["task_id","ap_portal_invoice_id","reason","reason_text","rejected_at"],"title":"PreSubmissionRejection","description":"The portal rejection a resubmission review answers."},"PreSubmissionReview":{"properties":{"ap_portal_id":{"type":"string","title":"Ap Portal Id"},"contacts":{"items":{"$ref":"#/components/schemas/PreSubmissionContact"},"type":"array","title":"Contacts"},"customer_name":{"type":"string","title":"Customer Name"},"first_submission":{"type":"boolean","title":"First Submission"},"forms":{"items":{"$ref":"#/components/schemas/PreSubmissionForm"},"type":"array","title":"Forms"},"invoices":{"items":{"$ref":"#/components/schemas/PreSubmissionInvoice"},"type":"array","title":"Invoices"},"partner_id":{"type":"string","title":"Partner Id"},"portal_name":{"type":"string","title":"Portal Name"},"provider":{"anyOf":[{"$ref":"#/components/schemas/APPortalProvider"},{"type":"null"}]},"ran_at":{"type":"string","title":"Ran At"},"screenshot":{"anyOf":[{"$ref":"#/components/schemas/PreSubmissionScreenshot"},{"type":"null"}]},"screenshots":{"items":{"$ref":"#/components/schemas/PreSubmissionScreenshot"},"type":"array","title":"Screenshots"},"sender_email":{"type":"string","title":"Sender Email"},"source_work_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Work Id"},"supplier_id":{"type":"string","title":"Supplier Id"},"supplier_name":{"type":"string","title":"Supplier Name"},"rejection":{"anyOf":[{"$ref":"#/components/schemas/PreSubmissionRejection"},{"type":"null"}]},"submit_blocked_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Submit Blocked Reason"},"can_answer":{"type":"boolean","title":"Can Answer"},"can_submit":{"type":"boolean","title":"Can Submit"},"submits_live":{"type":"boolean","title":"Submits Live","default":false},"id":{"type":"string","title":"Id"},"state":{"$ref":"#/components/schemas/SendState"},"submission_work_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Submission Work Id"},"sending_live":{"type":"boolean","title":"Sending Live","default":false},"execution_outcome":{"anyOf":[{"type":"string","enum":["submitted","dry_run","unknown"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"Execution Outcome"},"execution_screenshot_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Execution Screenshot Id"},"execution_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Execution Error"},"execution_error_source":{"anyOf":[{"$ref":"#/components/schemas/ErrorSource"},{"type":"null"}]},"task_id":{"type":"string","title":"Task Id"},"default_sender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Sender"}},"type":"object","required":["ap_portal_id","contacts","customer_name","first_submission","forms","invoices","partner_id","portal_name","provider","ran_at","sender_email","supplier_id","supplier_name","can_answer","can_submit","id","state","task_id"],"title":"PreSubmissionReview"},"PreSubmissionScreenshot":{"properties":{"artifact_id":{"type":"string","title":"Artifact Id"},"captured_at":{"type":"string","title":"Captured At"},"name":{"type":"string","title":"Name"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"type":"object","required":["artifact_id","captured_at","name"],"title":"PreSubmissionScreenshot"},"PreSubmissionSelectControl":{"properties":{"type":{"type":"string","const":"select","title":"Type","default":"select"},"options":{"items":{"$ref":"#/components/schemas/PreSubmissionOption"},"type":"array","title":"Options"},"placeholder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Placeholder"},"depends_on":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Depends On"}},"type":"object","required":["options"],"title":"PreSubmissionSelectControl"},"PreSubmissionShippingTarget":{"properties":{"type":{"type":"string","const":"shipping","title":"Type","default":"shipping"}},"type":"object","title":"PreSubmissionShippingTarget"},"PreSubmissionTax":{"properties":{"label":{"type":"string","title":"Label"},"value":{"type":"string","title":"Value"}},"type":"object","required":["label","value"],"title":"PreSubmissionTax","description":"One tax the header tax breaks down into, labeled as the ERP codes it."},"PreSubmissionTextControl":{"properties":{"type":{"type":"string","const":"text","title":"Type","default":"text"},"placeholder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Placeholder"}},"type":"object","title":"PreSubmissionTextControl"},"PredictedOverdueCustomerSchema":{"properties":{"partner_id":{"type":"string","title":""},"partner_name":{"type":"string","title":""},"partner_account_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"total_open_lc":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Total open balance for the customer in LC."},"tripped_tiers":{"items":{"$ref":"#/components/schemas/PredictedOverdueTripSchema"},"type":"array","title":"","description":"Tier rules the customer trips at as_of_date, sorted by request order."},"history_count":{"type":"integer","minimum":0.0,"title":"","description":"Number of PAID invoices in the prior 365 days that seeded the trip_probability estimates. Surfaced so the UI can show sample size next to each percentage."}},"type":"object","required":["partner_id","partner_name","partner_account_number","total_open_lc","tripped_tiers","history_count"],"title":"PredictedOverdueCustomer"},"PredictedOverdueRequest":{"properties":{"as_of_date":{"type":"string","format":"date","title":"","description":"Date at which to evaluate aging (typically end of quarter)."},"tiers":{"items":{"$ref":"#/components/schemas/PredictedOverdueTier-Input"},"type":"array","maxItems":10,"minItems":1,"title":"","description":"AR-1 tier rules. A customer appears if any tier's aged-overdue LC balance exceeds its threshold. Capped at 10 tiers to keep the aggregate SQL column count bounded."},"business_unit_id__in":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Filter by business unit IDs"}},"type":"object","required":["as_of_date","tiers"],"title":"PredictedOverdueRequest"},"PredictedOverdueResponse":{"properties":{"as_of_date":{"type":"string","format":"date","title":""},"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"Organization's base currency (LC)."},"tiers":{"items":{"$ref":"#/components/schemas/PredictedOverdueTier-Output"},"type":"array","title":"","description":"Tiers echoed from the request."},"customers":{"items":{"$ref":"#/components/schemas/PredictedOverdueCustomerSchema"},"type":"array","title":"","description":"Customers tripping at least one tier, sorted by largest tripped amount desc."}},"type":"object","required":["as_of_date","currency","tiers","customers"],"title":"PredictedOverdueResponse"},"PredictedOverdueTier-Input":{"properties":{"days":{"type":"integer","minimum":0.0,"title":"","description":"Days overdue threshold (strict greater-than)."},"amount_lc":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"","description":"Local-currency aged-overdue amount threshold, in standard units (e.g. 50000 = $50k)."}},"type":"object","required":["days","amount_lc"],"title":"PredictedOverdueTier"},"PredictedOverdueTier-Output":{"properties":{"days":{"type":"integer","minimum":0.0,"title":"","description":"Days overdue threshold (strict greater-than)."},"amount_lc":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Local-currency aged-overdue amount threshold, in standard units (e.g. 50000 = $50k)."}},"type":"object","required":["days","amount_lc"],"title":"PredictedOverdueTier"},"PredictedOverdueTripSchema":{"properties":{"days":{"type":"integer","minimum":0.0,"title":""},"amount_threshold_lc":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"amount_lc":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Aged-overdue LC balance for this tier (worst case)."},"invoice_count":{"type":"integer","minimum":0.0,"title":""},"trip_probability":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"","description":"Probability (0..1) the customer's actual aged-overdue balance will exceed this tier's threshold at as_of_date, based on the customer's historical days-late-from-due rate over the prior 365 days. Null if the customer has too little payment history."}},"type":"object","required":["days","amount_threshold_lc","amount_lc","invoice_count","trip_probability"],"title":"PredictedOverdueTrip"},"PresignInvoicePdfRequest":{"properties":{"filename":{"type":"string","title":""},"mime_type":{"anyOf":[{"type":"string","enum":["application/json","application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.oasis.opendocument.spreadsheet","application/vnd.ms-excel.sheet.macroEnabled.12","application/vnd.ms-excel.sheet.macroenabled.12","application/vnd.ms-excel.sheet.binary.macroEnabled.12","application/vnd.ms-excel.sheet.binary.macroenabled.12","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","text/csv","application/csv","text/plain","text/html","application/xml","message/rfc822","application/vnd.ms-outlook","application/rtf","text/markdown","text/md"],"x-speakeasy-enum-format":"union"},{"type":"string","enum":["image/heic","image/jpeg","image/jpg","image/png","image/gif","image/svg+xml","image/x-eps","image/tiff","image/bmp","image/webp","image/avif"],"x-speakeasy-enum-format":"union"},{"type":"string","enum":["audio/mp3","audio/mp4","audio/mpeg","audio/wav","audio/x-wav","audio/webm"],"x-speakeasy-enum-format":"union"},{"type":"string","enum":["video/MP2T","video/quicktime","video/mp4","video/mpeg","video/webm","video/x-msvideo","video/x-ms-wmv"],"x-speakeasy-enum-format":"union"},{"type":"string","enum":["application/zip","application/x-zip-compressed","application/vnd.rar","application/x-rar-compressed","application/x-7z-compressed"],"x-speakeasy-enum-format":"union"},{"type":"string","const":"unknown"}],"title":""}},"type":"object","required":["filename","mime_type"],"title":"PresignInvoicePdfRequest"},"PresignInvoicePdfResponse":{"properties":{"attachment":{"$ref":"#/components/schemas/Attachment","title":""},"presigned_url":{"$ref":"#/components/schemas/PresignedUrl","title":""}},"type":"object","required":["attachment","presigned_url"],"title":"PresignInvoicePdfResponse"},"PresignedUrl":{"properties":{"url":{"type":"string","title":""},"fields":{"additionalProperties":true,"type":"object","title":""},"method":{"type":"string","enum":["POST","PUT"],"title":"","x-speakeasy-enum-format":"union"},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":""},"max_size":{"type":"integer","title":""}},"type":"object","required":["url","fields","method","headers","max_size"],"title":"PresignedUrl"},"PreviewPaymentPlanRequest":{"properties":{"partner_id":{"type":"string","title":""},"plan":{"oneOf":[{"$ref":"#/components/schemas/StructuredPlanInput"},{"$ref":"#/components/schemas/CustomPlanInput"}],"title":"","discriminator":{"propertyName":"mode","mapping":{"custom":"#/components/schemas/CustomPlanInput","structured":"#/components/schemas/StructuredPlanInput"}}}},"type":"object","required":["partner_id","plan"],"title":"PreviewPaymentPlanRequest"},"PreviewSpeechRequest":{"properties":{"text":{"type":"string","maxLength":256,"minLength":1,"title":"","description":"Text to synthesize (e.g. a name or its phonetic respelling)."}},"type":"object","required":["text"],"title":"PreviewSpeechRequest","description":"Synthesize a short snippet of text with the org's call-agent voice."},"PreviewSpeechResponse":{"properties":{"content":{"type":"string","title":"","description":"Base64-encoded audio; use content_type for playback."},"content_type":{"type":"string","title":"","description":"MIME type of the encoded audio.","default":"audio/mpeg"}},"type":"object","required":["content","content_type"],"title":"PreviewSpeechResponse","description":"Synthesized audio for a previewed snippet."},"ProcessingError":{"properties":{"error_code":{"anyOf":[{"type":"string","enum":["duplicate","insufficient","invalid_file_type","irrelevant","processing_error","upload_missing"],"x-speakeasy-enum-format":"union"},{"type":"string","enum":["no_matching_account","missing_period_dates","no_extraction_data","invalid_transaction_data","extend_workflow_failed"],"x-speakeasy-enum-format":"union"}],"title":""},"error_message":{"type":"string","title":"","description":"Human-readable error message"}},"type":"object","required":["error_code","error_message"],"title":"ProcessingError","description":"Processing error details."},"ProcessingStatus":{"type":"string","enum":["processing","completed","failed"],"title":"ProcessingStatus"},"ProductCatalog":{"properties":{"products":{"items":{"$ref":"#/components/schemas/CatalogProduct"},"type":"array","title":"","description":"Every product Stuut offers, including products absent from the active contract."}},"type":"object","required":["products"],"title":"billing.ProductCatalog"},"ProductRate":{"properties":{"metric_name":{"type":"string","title":"","description":"Stable catalog metric name priced by this rate; uncataloged contract products fall back to their Metronome product name."},"source":{"type":"string","enum":["LIST","OVERRIDE"],"title":"","description":"LIST for standard pricing; OVERRIDE for negotiated contract pricing.","x-speakeasy-enum-format":"union"},"dimension":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"","description":"The pricing slice for dimensional products, e.g. {'activity': 'worked'}; null for flat-priced products."},"rate":{"$ref":"#/components/schemas/Rate","title":"","description":"The effective rate for this slice (override wins over list)."},"is_unlimited":{"type":"boolean","title":"","description":"True when this slice's effective rate is $0 — usage is metered but never charged, i.e. unlimited. An unknown price (no FLAT price, no tiers) is NOT unlimited.","readOnly":true}},"type":"object","required":["metric_name","source","dimension","rate","is_unlimited"],"title":"billing.ProductRate","description":"One standard or effective contract rate for a product metric."},"ProductUsage":{"properties":{"key":{"$ref":"#/components/schemas/BillingProductKey","title":"","description":"Stable Stuut product key."},"name":{"type":"string","title":"","description":"Customer-facing product name."},"metrics":{"items":{"$ref":"#/components/schemas/MetricUsage"},"type":"array","title":"","description":"The product's independently measured metrics; quantities with different units are never combined."}},"type":"object","required":["key","name","metrics"],"title":"billing.ProductUsage","description":"Usage for one customer-facing product offered by Stuut."},"ProfileChargesSchema-Input":{"properties":{"freight_on_lines":{"type":"boolean","title":"","default":false},"tax_from_header":{"type":"boolean","title":"","default":false},"tax_category_by_code":{"additionalProperties":{"type":"string"},"type":"object","title":""},"route_bc_resource_charges":{"type":"boolean","title":"","default":false}},"additionalProperties":false,"type":"object","title":"ProfileCharges"},"ProfileChargesSchema-Output":{"properties":{"freight_on_lines":{"type":"boolean","title":"","default":false},"tax_from_header":{"type":"boolean","title":"","default":false},"tax_category_by_code":{"additionalProperties":{"type":"string"},"type":"object","title":""},"route_bc_resource_charges":{"type":"boolean","title":"","default":false}},"additionalProperties":false,"type":"object","required":["freight_on_lines","tax_from_header","tax_category_by_code","route_bc_resource_charges"],"title":"ProfileCharges"},"ProfileChoiceSchema-Input":{"properties":{"id":{"type":"string","title":""},"label":{"type":"string","title":""},"scope":{"type":"string","enum":["header","line","shipping","unknown"],"title":"","default":"unknown","x-speakeasy-enum-format":"union"},"scope_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"form_variant":{"type":"string","title":"","default":"unknown"},"options":{"items":{"$ref":"#/components/schemas/ProfileOptionSchema"},"type":"array","title":""},"current_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"current_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"control_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"identity_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"frame_index":{"type":"integer","title":"","default":0},"field_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"selector":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"selection_method":{"type":"string","enum":["value","label"],"title":"","default":"value","x-speakeasy-enum-format":"union"}},"additionalProperties":false,"type":"object","required":["id","label","options"],"title":"ProfileChoice"},"ProfileChoiceSchema-Output":{"properties":{"id":{"type":"string","title":""},"label":{"type":"string","title":""},"scope":{"type":"string","enum":["header","line","shipping","unknown"],"title":"","default":"unknown","x-speakeasy-enum-format":"union"},"scope_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"form_variant":{"type":"string","title":"","default":"unknown"},"options":{"items":{"$ref":"#/components/schemas/ProfileOptionSchema"},"type":"array","title":""},"current_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"current_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"control_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"identity_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"frame_index":{"type":"integer","title":"","default":0},"field_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"selector":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"selection_method":{"type":"string","enum":["value","label"],"title":"","default":"value","x-speakeasy-enum-format":"union"}},"additionalProperties":false,"type":"object","required":["id","label","scope","scope_ref","form_variant","options","current_value","current_label","control_key","identity_key","frame_index","field_key","selector","selection_method"],"title":"ProfileChoice"},"ProfileConfirmationSchema-Input":{"properties":{"field_id":{"type":"string","title":""},"value":{"type":"string","title":""},"confirmed_by":{"type":"string","title":""},"confirmed_at":{"type":"string","format":"date-time","title":""},"evidence_work_id":{"type":"string","title":""},"invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","required":["field_id","value","confirmed_by","confirmed_at","evidence_work_id"],"title":"ProfileConfirmation"},"ProfileConfirmationSchema-Output":{"properties":{"field_id":{"type":"string","title":""},"value":{"type":"string","title":""},"confirmed_by":{"type":"string","title":""},"confirmed_at":{"type":"string","format":"date-time","title":""},"evidence_work_id":{"type":"string","title":""},"invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","required":["field_id","value","confirmed_by","confirmed_at","evidence_work_id","invoice_id"],"title":"ProfileConfirmation"},"ProfileDescriptorSchema-Input":{"properties":{"label":{"type":"string","title":""},"kind":{"type":"string","enum":["TEXT","DATE","SELECT","CHECKBOX","FILE","PICKER"],"title":"","x-speakeasy-enum-format":"union"},"required":{"type":"boolean","title":""},"selector":{"items":{"type":"string"},"type":"array","title":""},"auto_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"default":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","required":["label","kind","required","selector"],"title":"ProfileDescriptor"},"ProfileDescriptorSchema-Output":{"properties":{"label":{"type":"string","title":""},"kind":{"type":"string","enum":["TEXT","DATE","SELECT","CHECKBOX","FILE","PICKER"],"title":"","x-speakeasy-enum-format":"union"},"required":{"type":"boolean","title":""},"selector":{"items":{"type":"string"},"type":"array","title":""},"auto_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"default":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","required":["label","kind","required","selector","auto_label","default"],"title":"ProfileDescriptor"},"ProfileInvoiceDateSchema":{"properties":{"max_backdate_days":{"type":"integer","maximum":36500.0,"minimum":0.0,"title":""},"timezone":{"type":"string","title":""}},"additionalProperties":false,"type":"object","required":["max_backdate_days","timezone"],"title":"ProfileInvoiceDate"},"ProfileOptionSchema":{"properties":{"value":{"type":"string","title":""},"label":{"type":"string","title":""}},"additionalProperties":false,"type":"object","required":["value","label"],"title":"ProfileOption"},"ProfileProposalSchema":{"properties":{"field_id":{"type":"string","title":""},"value":{"type":"string","title":""},"reason":{"type":"string","title":""},"confidence":{"type":"number","title":""},"evidence_work_id":{"type":"string","title":""},"invoice_id":{"type":"string","title":""}},"additionalProperties":false,"type":"object","required":["field_id","value","reason","confidence","evidence_work_id","invoice_id"],"title":"ProfileProposal"},"ProfileSourceSchema-Input":{"properties":{"kind":{"type":"string","enum":["ERP_FIELD","CUSTOM_FIELD","REMOTE_DATA"],"title":"","x-speakeasy-enum-format":"union"},"key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"path":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","required":["kind"],"title":"ProfileSource"},"ProfileSourceSchema-Output":{"properties":{"kind":{"type":"string","enum":["ERP_FIELD","CUSTOM_FIELD","REMOTE_DATA"],"title":"","x-speakeasy-enum-format":"union"},"key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"path":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","required":["kind","key","path"],"title":"ProfileSource"},"PronunciationResponse":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"grapheme":{"type":"string","title":"","description":"The term as written/spelled (e.g. a company or person name) that the agent should respell."},"phoneme":{"type":"string","title":"","description":"The spoken form fed to TTS in place of the grapheme (e.g. 'shloom-ber-zhay')."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","grapheme","phoneme","object"],"title":"PronunciationResponse","description":"A pronunciation entry. Only ALIAS (plain respelling) is exposed today."},"ProposalAction":{"type":"string","enum":["archive","create","revise"],"title":"ProposalAction"},"ProposalInstallment":{"properties":{"sequence":{"type":"integer","title":""},"due_date":{"type":"string","format":"date","title":""},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""}},"type":"object","required":["sequence","due_date","amount"],"title":"ProposalInstallment"},"ProposalStatus":{"type":"string","enum":["pending","approved","rejected"],"title":"ProposalStatus"},"ProposeProfile":{"properties":{"expected_revision":{"type":"integer","minimum":0.0,"title":""},"config":{"$ref":"#/components/schemas/FormProfileConfigSchema-Input","title":""}},"type":"object","required":["expected_revision","config"],"title":"ProposeProfile"},"ProvisionPhoneNumberRequest":{"properties":{"phone_number":{"type":"string","format":"phone","title":"","description":"The E.164 number to provision (from the available-numbers search)"},"business_unit_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional business unit to attach the number to; the BU then dials from it"}},"type":"object","required":["phone_number"],"title":"ProvisionPhoneNumberRequest"},"QuickbooksConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"quickbooks","title":""},"realm_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The QuickBooks realm ID associated with the connection. This is retrieved during the OAuth2 flow and is used to identify the QuickBooks company."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","realm_id","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"QuickbooksConnection","description":"Quickbooks integration connection."},"QuickbooksConnectionAuthenticateBody":{"properties":{"provider_name":{"type":"string","const":"quickbooks","title":""},"authorization_code":{"type":"string","title":""},"redirect_uri":{"type":"string","title":""},"realm_id":{"type":"string","title":"","description":"The QuickBooks realm ID associated with the connection. This is retrieved during the OAuth2 flow and is used to identify the QuickBooks company."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["provider_name","authorization_code","redirect_uri","realm_id"],"title":"QuickbooksConnectionAuthenticateBody","description":"Authentication schema for the QuickBooks Online OAuth2 flow.\n\nIntuit returns ``realmId`` alongside the authorization code in the OAuth\ncallback; it identifies the QuickBooks company and is persisted on the\nconnection before the code exchange."},"QuickbooksConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"quickbooks","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."}},"type":"object","required":["provider_name"],"title":"QuickbooksConnectionCreateBody","description":"Create schema for Quickbooks Online connections.\n\nQuickBooks Online app credentials are app-level (see ``QuickbooksConfig``), so\nthere are no user-supplied fields. Creating a connection mints a pending\nconnection whose ``authorization_url`` drives the Intuit OAuth2 redirect."},"QuickbooksConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"quickbooks","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."}},"type":"object","required":["provider_name"],"title":"QuickbooksConnectionUpdate","description":"Update schema for Quickbooks connections."},"QuickbooksDesktopConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"quickbooks-desktop","title":""},"end_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The end user ID associated with the QuickBooks Desktop connection."},"timezone":{"anyOf":[{"$ref":"#/components/schemas/Timezone"},{"type":"null"}],"title":"","description":"The timezone of the QuickBooks Desktop instance."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","end_user_id","timezone","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"QuickbooksDesktopConnection","description":"Quickbooks Desktop integration connection."},"QuickbooksDesktopConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"quickbooks-desktop","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."}},"type":"object","required":["provider_name"],"title":"QuickbooksDesktopConnectionUpdate","description":"Update schema for Quickbooks Desktop connections."},"QuoteResponse":{"properties":{"credits":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Credits purchased, in dollars."},"estimated_tax":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Estimated tax, in dollars."},"tax_rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Combined tax rate applied, as a percentage (8.25 = 8.25%); 0 when no tax applies."},"total_due":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"credits + estimated_tax, in dollars."}},"type":"object","required":["credits","estimated_tax","tax_rate","total_due"],"title":"billing.QuoteResponse","description":"A prepaid credit quote with live tax."},"Rate":{"properties":{"rate_type":{"type":"string","enum":["FLAT","PERCENTAGE","SUBSCRIPTION","CUSTOM","TIERED","TIERED_PERCENTAGE"],"title":"","description":"Rate shape; flat/percentage rates carry `price`, tiered rates carry `tiers`.","x-speakeasy-enum-format":"union"},"price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Dollars per unit for FLAT/SUBSCRIPTION rates; a decimal fraction for PERCENTAGE rates (0.005 = 0.5%)."},"tiers":{"anyOf":[{"items":{"$ref":"#/components/schemas/Tier"},"type":"array"},{"type":"null"}],"title":"","description":"Graduated bands for TIERED and TIERED_PERCENTAGE rates."}},"type":"object","required":["rate_type","price","tiers"],"title":"billing.Rate","description":"A Metronome rate from the contract's rate schedule."},"ReasoningDeltaEvent":{"properties":{"type":{"type":"string","const":"reasoning-delta","title":"","default":"reasoning-delta"},"id":{"type":"string","title":""},"delta":{"type":"string","title":""}},"type":"object","required":["type","id","delta"],"title":"ReasoningDeltaEvent"},"ReasoningEndEvent":{"properties":{"type":{"type":"string","const":"reasoning-end","title":"","default":"reasoning-end"},"id":{"type":"string","title":""}},"type":"object","required":["type","id"],"title":"ReasoningEndEvent"},"ReasoningPart":{"properties":{"type":{"type":"string","const":"reasoning","title":""},"reasoning":{"type":"string","title":""}},"type":"object","required":["type","reasoning"],"title":"ReasoningPart"},"ReasoningStartEvent":{"properties":{"type":{"type":"string","const":"reasoning-start","title":"","default":"reasoning-start"},"id":{"type":"string","title":""}},"type":"object","required":["type","id"],"title":"ReasoningStartEvent"},"RecordReceiptRequest":{"properties":{"amount":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":""},"payment_links":{"anyOf":[{"items":{"$ref":"#/components/schemas/PaymentLinkRow"},"type":"array"},{"type":"null"}],"title":""},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","title":"RecordReceiptRequest"},"RegenerateDraftsRequest":{"properties":{"workflow_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Only drafts produced by this outreach workflow's stages or statement schedule."},"email_ids":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":500,"minItems":1},{"type":"null"}],"title":"","description":"Only these draft emails. Drafts not produced by outreach are ignored."},"skip_edited":{"type":"boolean","title":"","description":"Leave drafts whose body a user has already edited untouched. Set to false to replace those drafts too, discarding the edits.","default":true}},"type":"object","title":"RegenerateDraftsRequest","description":"Which pending outreach drafts to re-render. With no filter, every pending draft."},"RegenerateDraftsResponse":{"properties":{"draft_count":{"type":"integer","title":"","description":"Pending drafts queued for regeneration."},"unsupported_count":{"type":"integer","title":"","description":"Requested emails that cannot be regenerated: not a pending draft, or not produced by an outreach stage or statement schedule. Always 0 without email_ids."},"skip_edited":{"type":"boolean","title":""}},"type":"object","required":["draft_count","unsupported_count","skip_edited"],"title":"RegenerateDraftsResponse"},"Region":{"type":"string","enum":["north_america","latin_america","europe","middle_east_and_africa","asia_pacific"],"title":"Region"},"RegisterResponse":{"properties":{"organization":{"$ref":"#/components/schemas/Organization","title":"","description":"The newly created organization."},"user":{"$ref":"#/components/schemas/RegisteredUser","title":"","description":"The newly created admin user."},"access_token":{"type":"string","title":"","description":"Bearer access token for the new session."},"expires_at":{"type":"string","title":"","description":"ISO-8601 timestamp when the access token expires."},"id_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"OIDC id token, if issued."}},"type":"object","required":["organization","user","access_token","expires_at","id_token"],"title":"RegisterResponse","description":"The organization and admin user created by registration, plus the new user's\nsession tokens. The refresh token is also set as an httponly cookie."},"RegisterTrustProductsResponse":{"properties":{"business_identity_id":{"type":"string","title":""}},"type":"object","required":["business_identity_id"],"title":"RegisterTrustProductsResponse","description":"Accepted; the products are created against Twilio in the background."},"RegisteredUser":{"properties":{"id":{"type":"string","title":"","description":"Unique user identifier."},"email":{"type":"string","title":"","description":"The user's email address."},"given_name":{"type":"string","title":"","description":"The user's given (first) name."},"family_name":{"type":"string","title":"","description":"The user's family (last) name."},"role":{"$ref":"#/components/schemas/UserRoleType","title":"","description":"The user's role in the organization."}},"type":"object","required":["id","email","given_name","family_name","role"],"title":"RegisteredUser","description":"The admin user created for the new organization."},"RegistrationTokenResponse":{"properties":{"registration_token":{"type":"string","title":"","description":"Opaque token to pass to /register."},"email":{"type":"string","title":"","description":"The verified email address."},"given_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Suggested given name (from the IdP for oauth; null for email/password)."},"family_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Suggested family name (from the IdP for oauth; null for email/password)."},"suggested_organization":{"$ref":"#/components/schemas/OrganizationSuggestion","title":"","description":"Suggested organization display name, name, and logo for prefilling the form."},"joinable_organization":{"anyOf":[{"$ref":"#/components/schemas/JoinableOrg"},{"type":"null"}],"title":"","description":"An existing org this email can join, if any (via a pending invite or domain auto-provision), with its name and logo for the 'join vs. create new' prompt. Pass its organization_id as `organization` to /register to join."}},"type":"object","required":["registration_token","email","given_name","family_name","suggested_organization","joinable_organization"],"title":"RegistrationTokenResponse","description":"A short-lived token proving a verified identity, plus prefill suggestions for\nthe registration form. Pass the token (and the final org/profile details) to\n``/register``."},"RegistryResource":{"properties":{"key":{"type":"string","title":""},"name":{"type":"string","title":""},"description":{"type":"string","title":""},"actions":{"items":{"type":"string"},"type":"array","title":""}},"type":"object","required":["key","name","description","actions"],"title":"RegistryResource"},"RejectionAnswer":{"properties":{"id":{"type":"string","title":""},"input_type":{"type":"string","title":""},"input_spec":{"additionalProperties":{"type":"string"},"type":"object","title":""},"hitl_status":{"type":"string","title":""},"resolution":{"additionalProperties":{"type":"string"},"type":"object","title":""}},"type":"object","required":["id","input_type","input_spec","hitl_status","resolution"],"title":"RejectionAnswer"},"RejectionResubmission":{"properties":{"work_id":{"type":"string","title":""}},"type":"object","required":["work_id"],"title":"RejectionResubmission","description":"The dry run queued to resubmit a rejected invoice; its review task arrives when it finishes."},"RemittanceRequestPreview":{"properties":{"can_send":{"type":"boolean","title":""},"recipient_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"partner_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"sender_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"cc_emails":{"items":{"type":"string"},"type":"array","title":"","default":[]},"preview_subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"preview_body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"skip_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["can_send","recipient_email","partner_name","sender_email","cc_emails","preview_subject","preview_body","skip_reason"],"title":"RemittanceRequestPreview","description":"Preview of what would happen if a remittance request were sent."},"RemittanceStatus":{"type":"string","enum":["submitted","processing","invalid","processed","split"],"title":"RemittanceStatus"},"RemittanceWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/RemittanceWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/RemittanceWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"currency":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Currency_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Currency"},"payerEmail":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Payeremail"},"payerName":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Payername"},"paymentMethod":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_PaymentMethodType_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Paymentmethod"},"remoteId":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Remoteid"},"status":{"$ref":"#/components/schemas/EqualityComparator_RemittanceStatus_","title":"Status"},"transactionAmount":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Transactionamount"},"amount":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Amount"},"extractedTotalAmount":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Extractedtotalamount"},"memo":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Memo"},"transactionDate":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Transactiondate"},"transactionNumber":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Transactionnumber"},"bankTransactionId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Banktransactionid"},"agentConfidenceScore":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Agentconfidencescore"},"agentErrorCode":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Agenterrorcode"}},"additionalProperties":false,"type":"object","title":"RemittanceWorkflowFilter"},"RemittanceWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/RemittanceWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/RemittanceWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"currency":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Currency_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Currency"},"payerEmail":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Payeremail"},"payerName":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Payername"},"paymentMethod":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_PaymentMethodType_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Paymentmethod"},"remoteId":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Remoteid"},"status":{"$ref":"#/components/schemas/EqualityComparator_RemittanceStatus_","title":"Status"},"transactionAmount":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Transactionamount"},"amount":{"$ref":"#/components/schemas/_OrderedComparator_int_","title":"Amount"},"extractedTotalAmount":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Extractedtotalamount"},"memo":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Memo"},"transactionDate":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Transactiondate"},"transactionNumber":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Transactionnumber"},"bankTransactionId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Banktransactionid"},"agentConfidenceScore":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_int_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Agentconfidencescore"},"agentErrorCode":{"anyOf":[{"$ref":"#/components/schemas/StringComparator"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Agenterrorcode"}},"additionalProperties":false,"type":"object","title":"RemittanceWorkflowFilter"},"RenameArtifactBody":{"properties":{"title":{"type":"string","maxLength":120,"title":""}},"type":"object","required":["title"],"title":"RenameArtifactBody"},"RenameChatBody":{"properties":{"title":{"type":"string","title":""}},"type":"object","required":["title"],"title":"RenameChatBody"},"ReportConfig":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"report_type":{"$ref":"#/components/schemas/ReportType","title":"","description":"Discriminator for report type"},"is_enabled":{"type":"boolean","title":""},"frequency":{"$ref":"#/components/schemas/ReportFrequency","title":"","description":"How often to send the report (DAILY, WEEKLY, MONTHLY)"},"format":{"$ref":"#/components/schemas/ReportFormat","title":"","description":"Output file format for tabular reports (CSV or XLSX). Ignored by the sync report, which is always an HTML email."},"time":{"type":"string","format":"time","title":"","description":"Time of day (HH:MM) in org timezone. Minutes must be 0 or 30."},"weekday":{"type":"integer","title":"","description":"Day of the week (0=Monday, 6=Sunday). Only used by WEEKLY frequency."},"recipient_emails":{"items":{"type":"string"},"type":"array","title":"","description":"Primary recipient email addresses"},"cc_emails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Optional CC email addresses (e.g., FDE team on failures)"},"notify_on_issues_only":{"type":"boolean","title":"","description":"If true, suppress the routine success email and only send when the sync had a failure or an expected entity synced zero records in the window. Only applies to INTEGRATION_SYNC_REPORT."},"last_sent_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"UTC timestamp of the last successful report send"},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","report_type","is_enabled","frequency","format","time","weekday","recipient_emails","cc_emails","notify_on_issues_only","last_sent_at","object"],"title":"ReportConfig","description":"Report configuration response."},"ReportFormat":{"type":"string","enum":["csv","xlsx"],"title":"ReportFormat"},"ReportFrequency":{"type":"string","enum":["daily","weekly","monthly"],"title":"ReportFrequency"},"ReportType":{"type":"string","enum":["integration_sync_report","ar_aging_report","invoice_report","customer_report","payments_report","credit_memo_report"],"title":"ReportType"},"ReportTypeInfo":{"properties":{"value":{"type":"string","title":""},"label":{"type":"string","title":""}},"type":"object","required":["value","label"],"title":"ReportTypeInfo","description":"Available report type."},"Request":{"properties":{"body":{"anyOf":[{"additionalProperties":true,"type":"object"},{"items":{},"type":"array"},{"type":"null"}],"title":""},"headers":{"additionalProperties":true,"type":"object","title":""},"method":{"$ref":"#/components/schemas/HttpRequestMethod","title":""},"params":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":""},"url":{"type":"string","title":""}},"type":"object","required":["body","headers","method","params","url"],"title":"Request"},"RequestDirection":{"type":"string","enum":["inbound","outbound"],"title":"RequestDirection"},"ResolveSalesOrderCaseRequest":{"properties":{"reason":{"type":"string","minLength":1,"title":"","description":"Why the case is being closed."}},"type":"object","required":["reason"],"title":"ResolveSalesOrderCaseRequest"},"Response":{"properties":{"body":{"anyOf":[{"additionalProperties":true,"type":"object"},{"items":{},"type":"array"},{"type":"null"}],"title":""},"encoding":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"headers":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":""},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"status_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""}},"type":"object","required":["body","encoding","headers","reason","status_code"],"title":"Response"},"ResubmitRejectionRequest":{"properties":{"field_values":{"additionalProperties":{"type":"string","maxLength":10000},"propertyNames":{"maxLength":200,"minLength":1},"type":"object","maxProperties":50,"title":""}},"type":"object","title":"ResubmitRejectionRequest"},"RoleSchema":{"properties":{"id":{"type":"string","title":""},"slug":{"type":"string","title":""},"name":{"type":"string","title":""},"permissions":{"items":{"type":"string"},"type":"array","title":""},"permissions_expanded":{"items":{"type":"string"},"type":"array","title":""},"data_visibility_scope":{"$ref":"#/components/schemas/RoleVisibilityScope","title":""},"work_visibility_scope":{"$ref":"#/components/schemas/RoleVisibilityScope","title":""},"is_system":{"type":"boolean","title":""},"active_member_count":{"type":"integer","title":""},"deactivated_member_count":{"type":"integer","title":""}},"type":"object","required":["id","slug","name","permissions","permissions_expanded","data_visibility_scope","work_visibility_scope","is_system","active_member_count","deactivated_member_count"],"title":"Role"},"RoleSummary":{"properties":{"id":{"type":"string","title":""},"slug":{"type":"string","title":""},"name":{"type":"string","title":""},"is_system":{"type":"boolean","title":""}},"type":"object","required":["id","slug","name","is_system"],"title":"RoleSummary","description":"Lightweight role for nested relationships."},"RoleVisibilityScope":{"type":"string","enum":["organization","business_units","assigned_only"],"title":"RoleVisibilityScope"},"SMS":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"body":{"type":"string","title":"","description":"The message content"},"classifications":{"items":{"$ref":"#/components/schemas/InteractionClassification"},"type":"array","title":""},"direction":{"$ref":"#/components/schemas/SMSDirection","title":""},"from_number":{"type":"string","format":"phone","title":"","description":"The sending phone number"},"to_number":{"type":"string","format":"phone","title":"","description":"The receiving phone number"},"status":{"$ref":"#/components/schemas/SMSStatus","title":""},"is_automated":{"type":"boolean","title":"","description":"Whether the SMS was automatically sent by a workflow"},"sent_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"delivered_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Twilio error message if delivery failed"},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","body","classifications","direction","from_number","to_number","status","is_automated","sent_at","delivered_at","error_message","object"],"title":"SMS","description":"An SMS message."},"SMSCampaignRegistrationSchema":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"sample_messages":{"items":{"type":"string"},"type":"array","title":"","description":"Sample SMS messages for the campaign"},"consent_description":{"type":"string","title":"","description":"How end-users consent to receiving messages"},"proof_attachment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Attachment ID for uploaded consent proof document"},"proof_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"External URL to consent proof (alternative to file upload)"},"privacy_policy_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"URL to the customer's privacy policy"},"terms_and_conditions_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"URL to the customer's terms and conditions"},"has_confirmed_consent":{"type":"boolean","title":"","description":"Whether the user has attested that consent was obtained from all recipients"},"user_id":{"type":"string","title":"","description":"User who submitted the registration"},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","sample_messages","consent_description","proof_attachment_id","proof_url","privacy_policy_url","terms_and_conditions_url","has_confirmed_consent","user_id","object"],"title":"SMSCampaignRegistration"},"SMSConsent":{"properties":{"status":{"anyOf":[{"$ref":"#/components/schemas/SMSConsentStatus"},{"type":"null"}],"title":"","description":"Null when no consent request has ever been sent to the phone number"}},"type":"object","required":["status"],"title":"SMSConsent","description":"The SMS consent state of a phone number."},"SMSConsentStatus":{"type":"string","enum":["pending","granted","revoked"],"title":"SMSConsentStatus"},"SMSConversation":{"properties":{"from_number":{"type":"string","format":"phone","title":"","description":"The organization's number, whatever each message's direction: the sender of outbound messages, the recipient of inbound ones."},"to_number":{"type":"string","format":"phone","title":"","description":"The customer's number, whatever each message's direction: the recipient of outbound messages, the sender of inbound ones."},"partner":{"anyOf":[{"$ref":"#/components/schemas/PartnerSummary"},{"type":"null"}],"title":"","description":"The partner of the conversation's latest message"},"latest_message_id":{"type":"string","title":"","description":"The latest sent or received message. Pass it, or any other message in the conversation, to `/sms/messages/{sms_id}/conversation` to list the conversation's messages."},"latest_message_at":{"type":"string","format":"date-time","title":""},"latest_message_body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"last_inbound_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"last_outbound_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""}},"type":"object","required":["from_number","to_number","partner","latest_message_id","latest_message_at","latest_message_body","last_inbound_at","last_outbound_at"],"title":"SMSConversation","description":"The SMS exchanged between one organization number and one customer number.\n\nList a conversation's messages with `/sms/messages/{sms_id}/conversation`."},"SMSDirection":{"type":"string","enum":["inbound","outbound"],"title":"SMSDirection"},"SMSMessage":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"body":{"type":"string","title":"","description":"The message content"},"classifications":{"items":{"$ref":"#/components/schemas/InteractionClassification"},"type":"array","title":""},"direction":{"$ref":"#/components/schemas/SMSDirection","title":""},"from_number":{"type":"string","format":"phone","title":"","description":"The sending phone number"},"to_number":{"type":"string","format":"phone","title":"","description":"The receiving phone number"},"status":{"$ref":"#/components/schemas/SMSStatus","title":""},"is_automated":{"type":"boolean","title":"","description":"Whether the SMS was automatically sent by a workflow"},"sent_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"delivered_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Twilio error message if delivery failed"},"partner":{"anyOf":[{"$ref":"#/components/schemas/PartnerSummary"},{"type":"null"}],"title":""},"invoices":{"items":{"$ref":"#/components/schemas/InvoiceSummary"},"type":"array","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","body","classifications","direction","from_number","to_number","status","is_automated","sent_at","delivered_at","error_message","partner","invoices","object"],"title":"SMSMessage","description":"SMS message with the partner and invoices it relates to, for cross-conversation lists."},"SMSStatus":{"type":"string","enum":["draft","pending","sent","delivered","failed","undelivered"],"title":"SMSStatus"},"SMSTemplateSchema":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"body":{"type":"string","title":"","description":"The message template body with Jinja2 variables. Plain text only."},"character_count":{"type":"integer","title":"","description":"Approximate character count (before variable substitution)"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Description of when/how to use this template."},"estimated_segment_count":{"type":"integer","title":"","description":"Estimated SMS segment count.\n160 characters per segment for GSM-7 encoding.\nNote: Actual count may vary after variable substitution."},"is_default":{"type":"boolean","title":"","description":"Whether this is the default SMS template."},"name":{"type":"string","title":"","description":"The name of the SMS template."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","body","character_count","description","estimated_segment_count","is_default","name","object"],"title":"SMSTemplate","description":"SMS template summary for list views."},"SMSTemplateVariable":{"properties":{"name":{"type":"string","title":""},"display_name":{"type":"string","title":""},"jinja":{"type":"string","title":""}},"type":"object","required":["name","display_name","jinja"],"title":"SMSTemplateVariable","description":"An available template variable."},"SMSWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/SMSWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/SMSWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"direction":{"$ref":"#/components/schemas/EqualityComparator_SMSDirection_","title":"Direction"},"status":{"$ref":"#/components/schemas/EqualityComparator_SMSStatus_","title":"Status"},"isAutomated":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isautomated"},"isConsentRequest":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isconsentrequest"},"sentAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Sentat"},"deliveredAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Deliveredat"},"partnerId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Partnerid"}},"additionalProperties":false,"type":"object","title":"SMSWorkflowFilter"},"SMSWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/SMSWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/SMSWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"direction":{"$ref":"#/components/schemas/EqualityComparator_SMSDirection_","title":"Direction"},"status":{"$ref":"#/components/schemas/EqualityComparator_SMSStatus_","title":"Status"},"isAutomated":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isautomated"},"isConsentRequest":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isconsentrequest"},"sentAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Sentat"},"deliveredAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Deliveredat"},"partnerId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Partnerid"}},"additionalProperties":false,"type":"object","title":"SMSWorkflowFilter"},"SSOConnection":{"properties":{"is_connected":{"type":"boolean","title":"","description":"True if an enterprise connection is actually attached to the org in Auth0 (live check). May be False even when connection_name is set if self-service setup wasn't completed — in that case the client should mint a fresh ticket via POST /sso/ticket."},"connection_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Name of the configured enterprise SSO connection; null if none."},"is_enabled":{"type":"boolean","title":"","description":"Whether enterprise (SSO) auth is enabled for the organization."}},"type":"object","required":["is_connected","connection_name","is_enabled"],"title":"SSOConnection","description":"The organization's enterprise SSO connection state."},"SSOTicketSchema":{"properties":{"url":{"type":"string","title":"","description":"Auth0-hosted self-service setup URL"}},"type":"object","required":["url"],"title":"SSOTicket","description":"A self-service Auth0 SSO setup link the customer can use to configure their connection."},"SageIntacctConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"sage-intacct","title":""},"base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Sage Intacct API base URL"},"company_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Sage Intacct company ID extracted from JWT token"},"sender_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Sage Intacct sender ID extracted from JWT token"},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"OAuth2 client ID for Sage Intacct API access"},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","base_url","company_id","sender_id","client_id","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"SageIntacctConnection","description":"Sage Intacct integration connection."},"SageIntacctConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"sage-intacct","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."}},"type":"object","required":["provider_name"],"title":"SageIntacctConnectionUpdate","description":"Update schema for Sage Intacct connections."},"SalesMeeting":{"properties":{"url":{"type":"string","title":"","description":"HubSpot Meetings booking page for the org's assigned sales rep (shared sales calendar when unassigned). Embed with HubSpot's meetings embed script (`?embed=true`), or open directly — prefill via `email`/`firstName`/`lastName` query params."}},"type":"object","required":["url"],"title":"billing.SalesMeeting"},"SalesOrderCaseChannel":{"type":"string","enum":["email","phone"],"title":"SalesOrderCaseChannel"},"SalesOrderCaseDetailSchema":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"type":{"$ref":"#/components/schemas/SalesOrderCaseType","title":""},"resolution":{"anyOf":[{"$ref":"#/components/schemas/SalesOrderCaseResolution"},{"type":"null"}],"title":"","description":"How the case closed. Set exactly when `resolved_at` is."},"resolved_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the case closed. NULL while it is open."},"needs_attention":{"type":"boolean","title":"","description":"An open case waiting on a teammate. Cleared when the case resolves."},"attention_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Why the case needs a teammate, such as asked for a person or outcome unclear. Set exactly when `needs_attention` is."},"current_ship_date":{"type":"string","format":"date","title":"","description":"The date the case's lines shipped by when it was opened: the latest line snapshot for early ship, the earliest for late delivery. Not kept in sync with the lines."},"proposed_ship_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"The ship date offered for the whole case. NULL when the lines carry their own dates or the offer has no date, such as shipping as soon as possible."},"touch_count":{"type":"integer","title":"","description":"Outreach attempts made on this case, by Stuut or a teammate."},"last_touch_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When Stuut or a teammate last reached out on this case."},"next_touch_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next scheduled outreach is due. NULL when none is scheduled."},"outreach_paused":{"type":"boolean","title":"","description":"Outreach waits until `resume_outreach_at`, or indefinitely when that is NULL."},"sales_order":{"$ref":"#/components/schemas/SalesOrderCaseSalesOrderSchema","title":""},"customer":{"$ref":"#/components/schemas/PartnerSummary","title":"","description":"The sales order's customer."},"line_count":{"type":"integer","title":"","description":"The number of sales order lines the case covers.","default":0},"latest_event":{"anyOf":[{"$ref":"#/components/schemas/SalesOrderCaseEventSchema"},{"type":"null"}],"title":"","description":"The case's most recent event by `occurred_at`, or null if it has none."},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Agent-written account of where the case stands, in a few sentences."},"summary_stale":{"type":"boolean","title":"","description":"The timeline changed since `summary` was written, and a rewrite is pending."},"channel":{"$ref":"#/components/schemas/SalesOrderCaseChannel","title":"","description":"The channel outreach uses by default for this case."},"human_callback_requested_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the customer asked a person to call them back, if they named a time."},"resume_outreach_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When outreach may continue. Checked when outreach is next evaluated."},"contact":{"anyOf":[{"$ref":"#/components/schemas/Contact"},{"type":"null"}],"title":""},"lines":{"items":{"$ref":"#/components/schemas/SalesOrderCaseLineSchema"},"type":"array","title":"","description":"Ordered by sales order line number."},"max_touches":{"type":"integer","title":"","description":"The most touches outreach makes on the case.","default":0},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"is_open":{"type":"boolean","title":"","description":"The case is open until it is resolved.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","type","resolution","resolved_at","needs_attention","attention_reason","current_ship_date","proposed_ship_date","touch_count","last_touch_at","next_touch_at","outreach_paused","sales_order","customer","line_count","latest_event","summary","summary_stale","channel","human_callback_requested_at","resume_outreach_at","contact","lines","max_touches","object","is_open"],"title":"SalesOrderCaseDetail"},"SalesOrderCaseEmailSchema":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"snippet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"to":{"items":{"type":"string"},"type":"array","title":""},"cc":{"items":{"type":"string"},"type":"array","title":"","description":"List of CC email addresses"},"direction":{"$ref":"#/components/schemas/RequestDirection","title":"","description":"The request direction of the email. Either inbound or outbound"},"status":{"$ref":"#/components/schemas/EmailStatus","title":""},"sent_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When the email was sent."},"is_unread":{"type":"boolean","title":""},"author_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"author_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"processing_status":{"anyOf":[{"$ref":"#/components/schemas/ProcessingStatus"},{"type":"null"}],"title":""},"thread_id":{"type":"string","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","subject","snippet","from","to","cc","direction","status","sent_at","is_unread","author_id","author_name","processing_status","thread_id","object"],"title":"SalesOrderCaseEmail","description":"An email written from a case."},"SalesOrderCaseEventActor":{"type":"string","enum":["system","customer","user"],"title":"SalesOrderCaseEventActor"},"SalesOrderCaseEventReviewStatus":{"type":"string","enum":["pending","completed","failed"],"title":"SalesOrderCaseEventReviewStatus","description":"Progress of the interaction review that fills in an event's `summary` and payload."},"SalesOrderCaseEventSchema":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"case_id":{"type":"string","title":""},"type":{"$ref":"#/components/schemas/SalesOrderCaseEventType","title":""},"actor":{"$ref":"#/components/schemas/SalesOrderCaseEventActor","title":""},"occurred_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"payload":{"additionalProperties":true,"type":"object","title":"","description":"Type-specific details. Links to other records use the foreign-key columns."},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Review-written summary of the interaction, scrubbed of sensitive details."},"review_status":{"anyOf":[{"$ref":"#/components/schemas/SalesOrderCaseEventReviewStatus"},{"type":"null"}],"title":"","description":"NULL for events that are not reviewed."},"call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The call, fetched through the calls endpoints."},"email_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The email, fetched through the emails endpoints."},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The user who acted, for USER events."},"user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The acting user's full name, for `USER` events."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","case_id","type","actor","occurred_at","payload","summary","review_status","call_id","email_id","user_id","user_name","object"],"title":"SalesOrderCaseEvent"},"SalesOrderCaseEventType":{"type":"string","enum":["case_created","case_updated","case_resolved","attention_requested","email_sent","email_replied","call_completed","call_scheduled","sales_order_updated","outreach_paused","outreach_resumed","note_added"],"title":"SalesOrderCaseEventType"},"SalesOrderCaseLineDecision":{"type":"string","enum":["accepted","declined","acknowledged"],"title":"SalesOrderCaseLineDecision"},"SalesOrderCaseLineSchema":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"sales_order_line_id":{"type":"string","title":""},"line_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The sales order line's source-system identifier, such as the part number it orders."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"item":{"anyOf":[{"$ref":"#/components/schemas/ItemSummary"},{"type":"null"}],"title":""},"quantity":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The sales order line's quantity."},"current_ship_date":{"type":"string","format":"date","title":"","description":"The line's expected ship date when the case was opened. Not kept in sync with the line."},"offered_quantity":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"The quantity offered, when only part of the line is on offer. NULL offers the whole line."},"proposed_ship_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"The ship date offered for this line, when it differs from the case's. NULL uses the case's."},"decision":{"anyOf":[{"$ref":"#/components/schemas/SalesOrderCaseLineDecision"},{"type":"null"}],"title":"","description":"What the customer decided for this line. NULL until they decide."},"accepted_quantity":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"The quantity the customer accepted, when less than the offer. NULL accepts all of it."},"resolved_ship_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"The ship date the customer accepted for this line. Never written back to the sales order line."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","sales_order_line_id","line_number","number","name","item","quantity","current_ship_date","offered_quantity","proposed_ship_date","decision","accepted_quantity","resolved_ship_date","object"],"title":"SalesOrderCaseLine","description":"A sales order line a case covers."},"SalesOrderCaseListItemSchema":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"type":{"$ref":"#/components/schemas/SalesOrderCaseType","title":""},"resolution":{"anyOf":[{"$ref":"#/components/schemas/SalesOrderCaseResolution"},{"type":"null"}],"title":"","description":"How the case closed. Set exactly when `resolved_at` is."},"needs_attention":{"type":"boolean","title":"","description":"An open case waiting on a teammate. Cleared when the case resolves."},"attention_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Why the case needs a teammate, such as asked for a person or outcome unclear. Set exactly when `needs_attention` is."},"current_ship_date":{"type":"string","format":"date","title":"","description":"The date the case's lines shipped by when it was opened: the latest line snapshot for early ship, the earliest for late delivery. Not kept in sync with the lines."},"proposed_ship_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"The ship date offered for the whole case. NULL when the lines carry their own dates or the offer has no date, such as shipping as soon as possible."},"touch_count":{"type":"integer","title":"","description":"Outreach attempts made on this case, by Stuut or a teammate."},"last_touch_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When Stuut or a teammate last reached out on this case."},"next_touch_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next scheduled outreach is due. NULL when none is scheduled."},"outreach_paused":{"type":"boolean","title":"","description":"Outreach waits until `resume_outreach_at`, or indefinitely when that is NULL."},"sales_order":{"$ref":"#/components/schemas/SalesOrderCaseSalesOrderSchema","title":""},"customer":{"$ref":"#/components/schemas/PartnerSummary","title":"","description":"The sales order's customer."},"line_count":{"type":"integer","title":"","description":"The number of sales order lines the case covers.","default":0},"latest_event":{"anyOf":[{"$ref":"#/components/schemas/SalesOrderCaseEventSchema"},{"type":"null"}],"title":"","description":"The case's most recent event by `occurred_at`, or null if it has none."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"is_open":{"type":"boolean","title":"","description":"The case is open until it is resolved.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","type","resolution","needs_attention","attention_reason","current_ship_date","proposed_ship_date","touch_count","last_touch_at","next_touch_at","outreach_paused","sales_order","customer","line_count","latest_event","object","is_open"],"title":"SalesOrderCaseListItem"},"SalesOrderCaseResolution":{"type":"string","enum":["decided","no_response","closed_by_user"],"title":"SalesOrderCaseResolution","description":"How a case closed. What the customer decided is on each line's `decision`."},"SalesOrderCaseSalesOrderSchema":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The seller-assigned sales-order number."},"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"The sales order's currency code."},"total_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The total amount in standard currency units."},"business_group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The sales order's business group."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","number","currency","total_amount","business_group","object"],"title":"SalesOrderCaseSalesOrder","description":"The sales order a case is about."},"SalesOrderCaseType":{"type":"string","enum":["early_ship","late_delivery"],"title":"SalesOrderCaseType"},"SalesOrderLineSchema":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"sales_order_id":{"type":"string","title":""},"line_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The source-system line number or identifier displayed to users."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"line_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The source-system line type, such as product, fee, services, charge, or comment."},"item":{"anyOf":[{"$ref":"#/components/schemas/ItemSummary"},{"type":"null"}],"title":""},"quantity":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The quantity ordered."},"unit_price":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The line's price per unit before explicit discounts."},"list_unit_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"The undiscounted list price per unit."},"uom":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The unit of measure."},"discount_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The discount applied to this line in standard currency units."},"tax_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The tax applied to this line in standard currency units."},"tax_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The tax code applied to this line."},"tax_inclusive":{"type":"boolean","title":"","description":"Whether the unit price includes tax."},"tax_rate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"The tax rate applied to this line, expressed as a decimal fraction."},"subtotal":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"net_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"total_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"expected_ship_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"The business date on which this line is expected to ship."},"transaction_start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"transaction_end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"remote_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The line's source-system ID, when the source exposes a stable one."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","sales_order_id","line_number","number","name","description","line_type","item","quantity","unit_price","list_unit_price","uom","discount_amount","tax_amount","tax_code","tax_inclusive","tax_rate","subtotal","net_amount","total_amount","expected_ship_date","transaction_start_date","transaction_end_date","remote_id","object"],"title":"SalesOrderLine"},"SalesOrderPartnerSummary":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"account_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The customer's account number."},"assignee_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the user assigned to this partner, if any."},"business_unit_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The business unit this partner belongs to."},"currency":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"","description":"The partner's default currency code (e.g. USD)."},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The partner's company email address."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The full name of the partner."},"legal_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The legal name of this partner, typically applies to businesses."},"phone":{"anyOf":[{"type":"string","format":"phone","description":"A phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format"},{"type":"null"}],"title":"","description":"The partner's default phone number."},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"remote_id":{"type":"string","title":"","description":"The partner's third party id."},"assignee":{"anyOf":[{"$ref":"#/components/schemas/User"},{"type":"null"}],"title":"","description":"The user that is assigned to this partner."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","account_number","assignee_id","business_unit_id","currency","email","name","legal_name","phone","parent_id","remote_id","assignee","object"],"title":"SalesOrderPartnerSummary","description":"PartnerSummary with the account's assignee, for the sales order customer field."},"SalesOrderSchema":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The seller-assigned sales-order number."},"status":{"$ref":"#/components/schemas/SalesOrderStatus","title":"","description":"The sales-order status."},"currency":{"$ref":"#/components/schemas/Currency","title":"","description":"The sales order's currency code."},"remote_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The sales order's source-system ID."},"customer":{"$ref":"#/components/schemas/SalesOrderPartnerSummary","title":""},"subtotal":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The tax-exclusive subtotal in standard currency units."},"total_discount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The total discount in standard currency units."},"total_tax":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The total tax in standard currency units."},"total_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"The total amount in standard currency units."},"issue_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"The business date on which the sales order was issued."},"requested_delivery_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"The business date on which the customer requested delivery."},"purchase_order_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The purchase-order reference supplied by the customer."},"payment_terms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The payment terms to apply when invoices are generated from this order."},"memo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"partial_fulfillment_allowed":{"type":"boolean","title":"","description":"Whether the order may be fulfilled in multiple shipments."},"billing_address":{"anyOf":[{"$ref":"#/components/schemas/CompositeAddress"},{"type":"null"}],"title":""},"shipping_address":{"anyOf":[{"$ref":"#/components/schemas/ContactAddress"},{"type":"null"}],"title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"days_pending":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Days since the order was issued, or None if it's not pending approval.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","number","status","currency","remote_id","customer","subtotal","total_discount","total_tax","total_amount","issue_date","requested_delivery_date","purchase_order_number","payment_terms","memo","partial_fulfillment_allowed","billing_address","shipping_address","object","days_pending"],"title":"SalesOrder"},"SalesOrderStatus":{"type":"string","enum":["pending_approval","open","completed","void"],"title":"SalesOrderStatus"},"SalesforceConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"salesforce-accountingseed","title":""},"grant_type":{"$ref":"#/components/schemas/SalesforceGrantType","title":"","description":"OAuth2 grant type: 'authorization_code' or 'client_credentials'."},"instance_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The Salesforce instance URL. Provided by user during connection setup."},"is_writeback_enabled":{"type":"boolean","title":"","description":"Whether payment writebacks to Salesforce are enabled."},"is_pkce_enabled":{"type":"boolean","title":"","description":"Whether PKCE (RFC 7636) is used during OAuth2 authorization."},"org_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The Salesforce Organization ID associated with the connection."},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The Salesforce Connected App Client ID (Consumer Key)."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true},"has_client_secret":{"type":"boolean","title":"","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","grant_type","instance_url","is_writeback_enabled","is_pkce_enabled","org_id","client_id","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id","has_client_secret"],"title":"SalesforceConnection","description":"Salesforce (AccountingSeed) integration connection."},"SalesforceConnectionAuthenticateBody":{"properties":{"provider_name":{"type":"string","const":"salesforce-accountingseed","title":""},"authorization_code":{"type":"string","title":""},"redirect_uri":{"type":"string","title":""},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["provider_name","authorization_code","redirect_uri"],"title":"SalesforceConnectionAuthenticateBody"},"SalesforceConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"salesforce-accountingseed","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"grant_type":{"$ref":"#/components/schemas/SalesforceGrantType","title":"","description":"OAuth2 grant type: 'authorization_code' or 'client_credentials'.","default":"authorization_code"},"instance_url":{"type":"string","title":"","description":"The Salesforce instance URL. Provided by user during connection setup."},"client_id":{"type":"string","title":"","description":"The Salesforce Connected App Client ID (Consumer Key)."},"client_secret":{"type":"string","title":"","description":"The Salesforce Connected App Client Secret (Consumer Secret)."},"is_pkce_enabled":{"type":"boolean","title":"","description":"Whether PKCE (RFC 7636) is used during OAuth2 authorization.","default":false},"is_writeback_enabled":{"type":"boolean","title":"","description":"Whether payment writebacks to Salesforce are enabled.","default":false}},"type":"object","required":["provider_name","instance_url","client_id","client_secret"],"title":"SalesforceConnectionCreateBody"},"SalesforceConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"salesforce-accountingseed","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"grant_type":{"anyOf":[{"$ref":"#/components/schemas/SalesforceGrantType"},{"type":"null"}],"title":"","description":"OAuth2 grant type: 'authorization_code' or 'client_credentials'."},"instance_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The Salesforce instance URL. Provided by user during connection setup."},"is_writeback_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether payment writebacks to Salesforce are enabled."},"is_pkce_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether PKCE (RFC 7636) is used during OAuth2 authorization."},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The Salesforce Connected App Client ID (Consumer Key)."},"client_secret":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"The Salesforce Connected App Client Secret (Consumer Secret)."}},"type":"object","required":["provider_name"],"title":"SalesforceConnectionUpdate","description":"Update schema for Salesforce connections."},"SalesforceGrantType":{"type":"string","enum":["authorization_code","client_credentials"],"x-speakeasy-enum-format":"union"},"SampleDataGeneratorConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"sample-data-generator","title":""},"google_sheets_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"URL of the Google Sheets document containing sample data. The sheet must have tabs named: Customers, Contacts, Invoices"},"google_drive_folder_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"URL of a shared Google Drive folder containing PDF remittance files. All PDFs in this folder will be imported as remittances during sync."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","google_sheets_url","google_drive_folder_url","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"SampleDataGeneratorConnection","description":"Sample Data Generator integration connection."},"SampleDataGeneratorConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"sample-data-generator","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"google_sheets_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"URL of the Google Sheets document containing sample data. The sheet must have tabs named: Customers, Contacts, Invoices"},"google_drive_folder_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"URL of a shared Google Drive folder containing PDF remittance files. All PDFs in this folder will be imported as remittances during sync."}},"type":"object","required":["provider_name"],"title":"SampleDataGeneratorConnectionCreateBody","description":"Create schema for Sample Data Generator connections."},"SampleDataGeneratorConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"sample-data-generator","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"google_sheets_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"URL of the Google Sheets document containing sample data. The sheet must have tabs named: Customers, Contacts, Invoices"},"google_drive_folder_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"URL of a shared Google Drive folder containing PDF remittance files. All PDFs in this folder will be imported as remittances during sync."}},"type":"object","required":["provider_name"],"title":"SampleDataGeneratorConnectionUpdate","description":"Update schema for Sample Data Generator connections."},"SapBtpAllocationPayload":{"properties":{"invoice_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BSEG-REBZG; invoice being cleared"},"credit_memo_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BSEG-REBZG; credit memo being consumed"},"fiscal_year":{"type":"string","title":"","description":"BSEG-GJAHR; fiscal year of cleared document"},"company_code":{"type":"string","title":"","description":"BSEG-BUKRS; company code of cleared document"},"amount":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"","description":"BSEG-WRBTR; positive for invoices cleared, negative for CMs consumed"}},"type":"object","required":["fiscal_year","company_code","amount"],"title":"SapBtpAllocationPayload","description":"One document a payment clears or consumes."},"SapBtpConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"sap-btp","title":""},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"outbound_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"outbound_token_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"outbound_client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true},"company_local_currencies":{"$ref":"#/components/schemas/CompanyLocalCurrencies","title":"","description":"Configured company currencies, independent of document currencies.","readOnly":true},"writeback":{"anyOf":[{"$ref":"#/components/schemas/WritebackSettings"},{"type":"null"}],"title":"","readOnly":true},"writeback_configuration_valid":{"type":"boolean","title":"","readOnly":true},"writeback_health":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","api_key","outbound_url","outbound_token_url","outbound_client_id","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id","company_local_currencies","writeback","writeback_configuration_valid","writeback_health"],"title":"SapBtpConnection","description":"SAP BTP integration connection.\n\n``api_key`` is generated server-side on create and must be readable on\nsubsequent fetches — the BTP team needs it to configure their iFlows."},"SapBtpConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"sap-btp","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"company_local_currencies":{"$ref":"#/components/schemas/CompanyLocalCurrencies","title":""}},"type":"object","required":["provider_name"],"title":"SapBtpConnectionCreateBody","description":"Create schema for SAP BTP connections."},"SapBtpConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"sap-btp","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"outbound_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"outbound_token_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"outbound_client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"outbound_client_secret":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":""},"writeback":{"anyOf":[{"$ref":"#/components/schemas/WritebackSettings"},{"type":"null"}],"title":""},"company_local_currencies":{"$ref":"#/components/schemas/CompanyLocalCurrencies","title":""}},"type":"object","required":["provider_name"],"title":"SapBtpConnectionUpdate","description":"Update SAP settings; omitted values preserve stored configuration.\n\n``company_local_currencies`` replaces the whole company-code mapping; send\nan empty object to clear it. Keys retain leading zeros and values are ISO\ncurrency codes. Honeywell ingestion retains this mapping's local currency\nalongside ``amount_in_lc`` and uses it for cross-currency clearing and\nopen customer cash. Unknown companies have no configured local currency.\nConfiguration changes affect subsequent pushes, not already stored records."},"SapBtpContactPayload":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"KNVK-PARNR; contact person number from SAP"},"customer_number":{"type":"string","title":"","description":"KNVK-KUNNR; must match a previously pushed customer_number"},"given_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SAP Contact Person ID when id is absent; clerk internet label is reserved"},"family_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"KNVK-NAME1; last name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ADR6-SMTP_ADDR"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ADR2-TEL_NUMBER; Stuut parses using parent customer's country"},"custom_fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Flexible key-value pairs; e.g. company_code"}},"type":"object","required":["customer_number"],"title":"SapBtpContactPayload","description":"Contact record in the existing Honeywell iFlow format.\n\nUpdates preserve omitted optional fields; explicit nulls clear them.\nWithout an explicit id, givenName carries the SAP Contact Person ID,\nexcept for the clerk internet label. It is not a display-name component.\nSupplied name components together replace the display name."},"SapBtpCustomerPayload":{"properties":{"customer_number":{"type":"string","title":"","description":"KNA1-KUNNR; the AR customer number"},"name":{"type":"string","title":"","description":"KNA1-NAME1; primary company/person name"},"is_active":{"type":"boolean","title":"","description":"NOT KNB1-SPERR; false = blocked","default":true},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"KNA1-LAND1; ISO alpha-2 country code"},"line1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Billing street address"},"line2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Billing address continuation"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"billing_address":{"anyOf":[{"$ref":"#/components/schemas/_BillingAddress"},{"type":"null"}],"title":""},"created_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"KNA1-ERDAT; ISO-8601"},"custom_fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Flexible key-value pairs; merged into existing. Expected SAP fields: company_code, accounting_clerk_code, accounting_clerk_name, accounting_clerk_email, payment_terms, head_office, language. Accounting clerk codes are two-character identifiers; whitespace is stripped and integer and single-digit string values are padded to two characters. Other strings are preserved for compatibility with existing customer pushes. Nonblank language also updates the customer's default language for calls and email when supported; blanks preserve the current setting. An unsupported language is stored unchanged and leaves the default unchanged; an advisory is recorded in integration history. The successful response is unchanged."}},"type":"object","required":["customer_number","name"],"title":"SapBtpCustomerPayload","description":"Customer record in the existing Honeywell iFlow format.\n\nTranslated to the shared Partner input contract."},"SapBtpInboundResponse":{"properties":{"received_at":{"type":"string","format":"date-time","title":""},"results":{"items":{"$ref":"#/components/schemas/SapBtpRecordResult"},"type":"array","title":""}},"type":"object","required":["received_at","results"],"title":"SapBtpInboundResponse","description":"Common envelope for processing results and request-level errors.\n\nRequest-level errors retain their HTTP status and return one failed result\nwith an empty remote_id. No unauthenticated body is parsed to identify\nrecords. Validation failures retain their per-record results. Server errors\nexpose a generic message; their exception reporting remains with the API."},"SapBtpInvoicePayload":{"properties":{"document_number":{"type":"string","title":"","description":"BELNR; 10-digit SAP doc number"},"line_item":{"type":"string","title":"","description":"BUZEI; line item number"},"customer":{"type":"string","title":"","description":"KUNNR; must match a pushed customer_number"},"document_type":{"type":"string","title":"","description":"BLART; DG and negative RV = credit memo; other records = invoice"},"amount_in_lc":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"","description":"DMBTR; amount in local currency, major unit"},"currency":{"type":"string","title":"","description":"WAERS; ISO 4217"},"posting_date":{"type":"string","format":"date","title":"","description":"BUDAT; SAP posting date"},"invoice_due_date":{"type":"string","format":"date","title":"","description":"NETDT; net due date"},"clearing_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"AUGDT; null = open, present = paid"},"purchase_order":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BSTKD; customer PO"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SGTXT; item text"},"service_contract":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"XREF2; service contract"},"billing_document_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"VBELN; billing document"},"invoice_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"REBZG; for credit memos, the invoice this CM is against"},"promise_to_pay_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"FIN_P2P_DATE; promise-to-pay date"},"disputed_invoice_amount":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":"","description":"UDM_DISPUTED_AMT; amount under dispute"},"custom_fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"SAP-specific fields stored as-is. Expected keys: company_code, fiscal_year, payment_terms, amount_in_usd, original_invoice_no, original_invoice_amount, original_invoice_amount_usd, open_invoice_amount, assignment, promise_pay_amount, dispute_status, dispute_reason, dispute_root_cause, dispute_case_id"}},"type":"object","required":["document_number","line_item","customer","document_type","amount_in_lc","currency","posting_date","invoice_due_date"],"title":"SapBtpInvoicePayload","description":"Invoice/credit-memo record in the existing Honeywell iFlow format.\n\nRouting: DG and negative RV = credit memo; other records = invoice.\n``clearing_date`` null = OPEN, present = PAID.\nFor receivables, ``currency`` is document currency and custom field\n``open_invoice_amount`` supplies each source item's unsigned remaining\namount. The row's accounting sign is preserved when grouping source items.\n``original_invoice_amount`` supplies the original amount per SAP line;\noriginal-document lines are summed to obtain the invoice face value.\nThe grouped writer stores net remaining in amount_due with amount_paid=0;\nrecorded payments and credits are not subtracted from that balance again.\nWhen a configured local currency differs, receivable rows require an open\ndocument amount. Cash rows and credit-memo mapping follow separate paths."},"SapBtpPaymentPayload":{"properties":{"document_number":{"type":"string","title":"","description":"BELNR; payment doc number"},"customer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"KUNNR; may be empty for unapplied cash"},"amount_in_lc":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"","description":"DMBTR; amount in local currency"},"currency":{"type":"string","title":"","description":"WAERS; ISO 4217"},"posting_date":{"type":"string","format":"date","title":"","description":"BUDAT; posting date"},"payment_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BELNR/KIDNO; wire ref, check #, ACH trace"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"SGTXT; free-text memo"},"allocations":{"items":{"$ref":"#/components/schemas/SapBtpAllocationPayload"},"type":"array","title":"","description":"One entry per invoice/CM this payment clears"},"custom_fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"SAP source metadata is preserved. invoice_reference drives standalone allocation and clearing as described in this schema. Expected keys: company_code, fiscal_year, line_item, document_type, posting_key, clearing_data, clearing_date, clearing_document_number, invoice_reference, original_invoice_no, original_invoice_amount, amount_in_usd, reason_code, payment_terms, dispute_status, disputed_invoice_amount, dispute_reason, dispute_root_cause, disputes_case_id"}},"type":"object","required":["document_number","amount_in_lc","currency","posting_date"],"title":"SapBtpPaymentPayload","description":"Payment record in the existing Honeywell iFlow format.\n\nClearing cash rows have finite negative amounts and a document number equal\nto clearing_document_number; invoice rows have finite positive amounts.\nDocument types are retained without an allowlist. Rows group by customer,\ncompany, currency, clearing document and clearing calendar year; each source document\nkeeps its own fiscal year. A group requires one nonempty clearing date and\ncash rows from the same payment fiscal year. Missing or ambiguous identities fail.\n\nStandalone cash can resolve invoice_reference against stored invoice/source\nnumbers within this connection, customer, company and currency. Exact literal\nidentifiers take priority, including hyphenated numbers. Optional -INV/-REF\nsuffixes and consecutive numeric ranges of at most 20 invoices are supported.\nUnresolved or over-capacity payments remain unapplied. Full matching amounts\nclear source lines; partial allocations await the invoice balance update.\nIdentical retries preserve saved allocations after the invoice changes.\n\nA saved payment returns success=true, a Stuut ID, null message and error_code.\nPending allocations and unapplied reasons are recorded in integration history.\nUnapplied cash is\nsaved successfully; send missing invoices first, then resend the unchanged\npayment to retry resolution. Reconciliation conflicts return success=false\nand RECONCILIATION_ERROR; reconcile the stored payment before changing it."},"SapBtpRecordResult":{"properties":{"remote_id":{"type":"string","title":""},"success":{"type":"boolean","title":""},"stuut_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["remote_id","success","stuut_id","error_code","message"],"title":"SapBtpRecordResult","description":"Per-record result in request order.\n\nsuccess means the record was saved, including unapplied cash. Successful\nmessage and error_code remain null. Processing advisories are retained in\nintegration history without changing this response contract."},"SaveArtifactBody":{"properties":{"chatId":{"type":"string","format":"uuid","title":""},"messageId":{"type":"string","format":"uuid","title":""},"partOrder":{"type":"integer","minimum":0.0,"title":""},"title":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":""}},"type":"object","required":["chatId","messageId","partOrder"],"title":"SaveArtifactBody","description":"Which chat part to save. The server copies everything else from the part."},"SaveKnowledgeEntryRequest":{"properties":{"content":{"type":"string","title":""}},"type":"object","required":["content"],"title":"SaveKnowledgeEntryRequest"},"SavePreSubmissionAnswersRequest":{"properties":{"answers":{"items":{"$ref":"#/components/schemas/PreSubmissionQuestionAnswerInput"},"type":"array","title":""},"field_values":{"items":{"$ref":"#/components/schemas/PreSubmissionFieldValueInput"},"type":"array","title":""}},"type":"object","required":["answers","field_values"],"title":"SavePreSubmissionAnswersRequest"},"SaveRejectionAnswerRequest":{"properties":{"ap_portal_invoice_id":{"type":"string","title":""},"key":{"type":"string","enum":["rejection_resolution","rejection_field"],"title":"","x-speakeasy-enum-format":"union"},"value":{"type":"string","maxLength":10000,"title":""},"field":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":""}},"type":"object","required":["ap_portal_invoice_id","key","value"],"title":"SaveRejectionAnswerRequest"},"Scalar-Input":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"string","format":"date"},{"type":"string","format":"date-time"},{"type":"string","format":"time"}]},"Scalar-Output":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"string","format":"date"},{"type":"string","format":"date-time"},{"type":"string","format":"time"}]},"SecondaryProfileCompliance-Input":{"properties":{"cnam_display_name":{"anyOf":[{"type":"string","maxLength":15,"minLength":1},{"type":"null"}],"title":"","description":"Caller ID name; Twilio caps it at 15 characters"},"business_employee_count":{"anyOf":[{"type":"string","pattern":"^\\d+$"},{"type":"null"}],"title":""},"average_business_day_call_volume":{"anyOf":[{"type":"string","pattern":"^\\d+$"},{"type":"null"}],"title":""},"legal_business_name":{"type":"string","minLength":1,"title":""},"business_type":{"type":"string","minLength":1,"title":""},"business_industry":{"type":"string","minLength":1,"title":""},"registration_id_type":{"type":"string","minLength":1,"title":"","description":"e.g. EIN (US)","default":"EIN"},"registration_number":{"type":"string","minLength":1,"title":""},"regions_of_operation":{"items":{"type":"string","minLength":1},"type":"array","minItems":1,"title":""},"website":{"type":"string","minLength":1,"title":""},"street_address":{"type":"string","minLength":1,"title":""},"city":{"type":"string","minLength":1,"title":""},"region":{"type":"string","minLength":1,"title":"","description":"State / province"},"postal_code":{"type":"string","minLength":1,"title":""},"iso_country":{"type":"string","minLength":1,"title":""},"email":{"type":"string","minLength":1,"title":"","description":"Contact email for the profile"},"representatives":{"items":{"$ref":"#/components/schemas/AuthorizedRepresentative"},"type":"array","maxItems":2,"minItems":1,"title":""}},"type":"object","required":["legal_business_name","business_type","business_industry","registration_number","regions_of_operation","website","street_address","city","region","postal_code","iso_country","email","representatives"],"title":"SecondaryProfileCompliance","description":"Compliance details used to create a Twilio Secondary Customer Profile.\n\nDescribes a legal entity, and nothing about which of our rows owns it — the same payload\nprovisions a profile for a business unit or for the organization itself. Not stored on our side\n(Twilio is the source of truth); collected fresh and passed straight to Trust Hub. Twilio accepts\none or two authorized representatives."},"SecondaryProfileCompliance-Output":{"properties":{"cnam_display_name":{"anyOf":[{"type":"string","maxLength":15,"minLength":1},{"type":"null"}],"title":"","description":"Caller ID name; Twilio caps it at 15 characters"},"business_employee_count":{"anyOf":[{"type":"string","pattern":"^\\d+$"},{"type":"null"}],"title":""},"average_business_day_call_volume":{"anyOf":[{"type":"string","pattern":"^\\d+$"},{"type":"null"}],"title":""},"legal_business_name":{"type":"string","minLength":1,"title":""},"business_type":{"type":"string","minLength":1,"title":""},"business_industry":{"type":"string","minLength":1,"title":""},"registration_id_type":{"type":"string","minLength":1,"title":"","description":"e.g. EIN (US)","default":"EIN"},"registration_number":{"type":"string","minLength":1,"title":""},"regions_of_operation":{"items":{"type":"string","minLength":1},"type":"array","minItems":1,"title":""},"website":{"type":"string","minLength":1,"title":""},"street_address":{"type":"string","minLength":1,"title":""},"city":{"type":"string","minLength":1,"title":""},"region":{"type":"string","minLength":1,"title":"","description":"State / province"},"postal_code":{"type":"string","minLength":1,"title":""},"iso_country":{"type":"string","minLength":1,"title":""},"email":{"type":"string","minLength":1,"title":"","description":"Contact email for the profile"},"representatives":{"items":{"$ref":"#/components/schemas/AuthorizedRepresentative"},"type":"array","maxItems":2,"minItems":1,"title":""}},"type":"object","required":["cnam_display_name","business_employee_count","average_business_day_call_volume","legal_business_name","business_type","business_industry","registration_id_type","registration_number","regions_of_operation","website","street_address","city","region","postal_code","iso_country","email","representatives"],"title":"SecondaryProfileCompliance","description":"Compliance details used to create a Twilio Secondary Customer Profile.\n\nDescribes a legal entity, and nothing about which of our rows owns it — the same payload\nprovisions a profile for a business unit or for the organization itself. Not stored on our side\n(Twilio is the source of truth); collected fresh and passed straight to Trust Hub. Twilio accepts\none or two authorized representatives."},"SecondaryProfileDetails":{"properties":{"profile_sid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Twilio customer-profile status."},"date_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"When Twilio last changed the profile."},"compliance":{"anyOf":[{"$ref":"#/components/schemas/SecondaryProfileCompliance-Output"},{"type":"null"}],"title":"","description":"The registered details, or null when Twilio's copy doesn't fit the schema."}},"type":"object","required":["profile_sid","status","date_updated","compliance"],"title":"SecondaryProfileDetails","description":"What Twilio holds on a business unit's Secondary Profile, read live.\n\n`compliance` reuses the same schema we submit with — it is the same information, and Twilio is the\nonly record of it (`business_identity` keeps just the SIDs). Read-only, assembled per request in\nroughly seven blocking round trips, so this is a view-on-demand endpoint; the list endpoint must\nkeep serving the stored status instead.\n\n`compliance` is **nullable on purpose**: that schema is a strict *write* payload (non-blank\neverywhere, a parseable phone, one-or-two representatives), while most existing profiles were\nbuilt in the Twilio console and can hold values it would reject. A read must not 500 on data\nTwilio already accepted, so a profile that doesn't round-trip comes back with a status and a null\nbody rather than an error."},"SecondaryProfileStatus":{"properties":{"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Twilio customer-profile status, or null."},"profile_sid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Twilio Secondary Profile SID, or null."},"rejection_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Why Twilio rejected the profile, when it did."}},"type":"object","required":["status","profile_sid","rejection_reason"],"title":"SecondaryProfileStatus","description":"Status of a business unit's Twilio Secondary Customer Profile.\n\nServed from what Twilio last pushed to the `/trust-hub` callback. A non-final status is re-read\nlive from Twilio (and the fresh value stored), so a missed callback repairs itself. `None` when\nthe BU has no profile, no sub-account, or Twilio is unreachable."},"Segment":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"name":{"type":"string","title":"","description":"The name of the segment (case-insensitive unique per org)."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional description of what this segment represents."},"priority":{"type":"integer","title":"","description":"Lower number = higher priority for conflict resolution when partner matches multiple segments."},"conditions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Legacy segment conditions. Use clause for new segments.","deprecated":true},"clause":{"anyOf":[{"$ref":"#/components/schemas/CustomerSegmentFilter-Output","title":""},{"type":"null"}],"title":"","description":"Typed FQL filter document that determines segment membership."},"migration_state":{"anyOf":[{"$ref":"#/components/schemas/SegmentMigrationState"},{"type":"null"}],"title":"","description":"Legacy-condition migration summary, comparison counts, and approval state."},"partner_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Cached number of partners matching this segment."},"partner_count_refreshed_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When partner_count was last recomputed."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","description","priority","conditions","clause","migration_state","partner_count","partner_count_refreshed_at","object"],"title":"Segment"},"SegmentConditionsInput":{"properties":{"address":{"anyOf":[{"$ref":"#/components/schemas/AddressConditionInput"},{"type":"null"}],"title":""},"businessUnit":{"anyOf":[{"$ref":"#/components/schemas/BusinessUnitConditionInput"},{"type":"null"}],"title":""},"customFields":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/CustomFieldOperators"},"type":"object"},{"type":"null"}],"title":""},"stats":{"anyOf":[{"$ref":"#/components/schemas/StatsConditionInput"},{"type":"null"}],"title":""},"and":{"anyOf":[{"items":{"$ref":"#/components/schemas/SegmentConditionsInput"},"type":"array"},{"type":"null"}],"title":""},"or":{"anyOf":[{"items":{"$ref":"#/components/schemas/SegmentConditionsInput"},"type":"array"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","title":"SegmentConditionsInput","description":"Segment filter conditions. Use and_/or_ to combine conditions."},"SegmentMigrationState":{"properties":{"status":{"$ref":"#/components/schemas/SegmentMigrationStatus","title":""},"legacy_condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"legacy_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""},"clause_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""}},"type":"object","required":["status","legacy_condition","legacy_count","clause_count"],"title":"SegmentMigrationState","description":"Wire schema for a segment's migration state."},"SegmentMigrationStatus":{"type":"string","enum":["pending","migrating","ready","approved","failed"],"title":"SegmentMigrationStatus"},"SendCodeRequest":{"properties":{"email":{"$ref":"#/components/schemas/Email","title":"","description":"The work email to verify."}},"type":"object","required":["email"],"title":"SendCodeRequest","description":"Request a verification code be emailed to a work address."},"SendGridSettings":{"properties":{"domain_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Authenticated outbound sending domain."},"inbound_parse_hostname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Hostname for SendGrid Inbound Parse."},"effective_inbound_hostname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Resolved inbound hostname (falls back to the sending domain)."},"has_api_key":{"type":"boolean","title":"","description":"True when a SendGrid API key is configured."}},"type":"object","required":["domain_name","inbound_parse_hostname","effective_inbound_hostname","has_api_key"],"title":"SendGridSettings","description":"SendGrid transport configuration."},"SendMessageInput":{"properties":{"messages":{"items":{"$ref":"#/components/schemas/ChatMessageInput"},"type":"array","title":""},"context":{"anyOf":[{"$ref":"#/components/schemas/ChatContextInput"},{"type":"null"}],"title":""}},"type":"object","required":["messages"],"title":"SendMessageInput"},"SendPaymentReceiptRequest":{"properties":{"payment_id":{"type":"string","title":"","description":"The ID of the payment to send a receipt for."}},"type":"object","required":["payment_id"],"title":"SendPaymentReceiptRequest","description":"Request body for sending a payment receipt."},"SendRemittanceRequestRequest":{"properties":{"subject":{"type":"string","title":""},"body":{"type":"string","title":""},"bank_transaction_id":{"type":"string","title":"","description":"Bank transaction ID this email is about"},"partner_id":{"type":"string","title":"","description":"Partner ID to send email to"},"email_sender_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional email sender ID to use. If not provided, uses the user's default email sender."},"recipient_emails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Addresses to send the request to."},"recipient_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Deprecated: use `recipient_emails`. Read only when `recipient_emails` is omitted."},"cc_emails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Explicit CC list. When provided, overrides the default (template CCs + assignee). Omit to fall back to defaults."}},"type":"object","required":["subject","body","bank_transaction_id","partner_id"],"title":"SendRemittanceRequestRequest","description":"Request body for sending a remittance request."},"SendState":{"type":"string","enum":["open","queued","completed","uncertain"],"title":"SendState","description":"Where a review, or a rejection's live resubmission, stands with its send."},"ServiceNowConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"servicenow","title":""},"instance_url":{"type":"string","title":"","description":"ServiceNow instance URL (e.g. https://dev12345.service-now.com)"},"username":{"type":"string","title":"","description":"ServiceNow username for basic auth"},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","instance_url","username","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"ServiceNowConnection","description":"ServiceNow integration connection."},"ServiceNowConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"servicenow","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"instance_url":{"type":"string","title":"","description":"ServiceNow instance URL (e.g. https://dev12345.service-now.com)"},"username":{"type":"string","title":"","description":"ServiceNow username for basic auth"},"password":{"type":"string","format":"password","title":"","description":"ServiceNow password for basic auth","writeOnly":true}},"type":"object","required":["provider_name","instance_url","username","password"],"title":"ServiceNowConnectionCreateBody","description":"Create schema for ServiceNow connections."},"ServiceNowConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"servicenow","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"instance_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ServiceNow instance URL (e.g. https://dev12345.service-now.com)"}},"type":"object","required":["provider_name"],"title":"ServiceNowConnectionUpdate","description":"Update schema for ServiceNow connections."},"ServiceTitanConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"servicetitan","title":""},"tenant_id":{"type":"string","title":"","description":"The ServiceTitan tenant id used in API request paths."},"currency":{"type":"string","title":"","description":"ISO 4217 currency code for this tenant's monetary values (e.g. USD)."},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ServiceTitan tenant-specific OAuth2 client ID (from API Application Access)."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","tenant_id","currency","client_id","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"ServiceTitanConnection","description":"ServiceTitan integration connection."},"ServiceTitanConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"servicetitan","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"tenant_id":{"type":"string","title":"","description":"The ServiceTitan tenant id used in API request paths."},"currency":{"type":"string","title":"","description":"ISO 4217 currency code for this tenant's monetary values (e.g. USD)."},"client_id":{"type":"string","title":"","description":"ServiceTitan tenant-specific OAuth2 client ID (from API Application Access)."},"client_secret":{"type":"string","format":"password","title":"","description":"ServiceTitan tenant-specific OAuth2 client secret. Encrypted at rest via AWS KMS.","writeOnly":true}},"type":"object","required":["provider_name","tenant_id","currency","client_id","client_secret"],"title":"ServiceTitanConnectionCreateBody","description":"Create schema for ServiceTitan connections."},"ServiceTitanConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"servicetitan","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"tenant_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ServiceTitan tenant id used in API request paths."},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ISO 4217 currency code for this tenant's monetary values (e.g. USD)."},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ServiceTitan tenant-specific OAuth2 client ID (from API Application Access)."},"client_secret":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"ServiceTitan tenant-specific OAuth2 client secret. Encrypted at rest via AWS KMS."}},"type":"object","required":["provider_name"],"title":"ServiceTitanConnectionUpdate","description":"Update schema for ServiceTitan connections."},"SessionResponse":{"properties":{"client_secret":{"type":"string","title":"","description":"Customer Session client secret for Stripe Elements."},"setup_intent_client_secret":{"type":"string","title":"","description":"Off-session SetupIntent client secret to confirm a new payment method."},"expires_at":{"type":"integer","title":"","description":"Unix epoch seconds when the session expires."}},"type":"object","required":["client_secret","setup_intent_client_secret","expires_at"],"title":"billing.SessionResponse","description":"Stripe client secrets needed by the billing UI."},"SetBusinessUnitMailboxesRequest":{"properties":{"mailbox_ids":{"items":{"type":"string"},"type":"array","title":"","description":"IDs of the shared mailboxes that should be scoped to this business unit.","default":[]}},"type":"object","title":"SetBusinessUnitMailboxesRequest","description":"Set which shared mailboxes are scoped to a business unit.\n\nFull replacement for this business unit only — a mailbox also scoped to other business units\nkeeps those other assignments; only its membership in this one is added or removed. Passing an\nempty list removes this business unit from every mailbox it was scoped to."},"SetBusinessUnitMembersRequest":{"properties":{"user_ids":{"items":{"type":"string"},"type":"array","title":"","description":"IDs of the users who should be members of this business unit.","default":[]}},"type":"object","title":"SetBusinessUnitMembersRequest","description":"Set which users are members of a business unit.\n\nFull replacement — the provided list becomes the complete membership. Passing an empty list\nremoves all members, which leaves the unit unrestricted (visible to every user who isn't scoped\nto some other business unit)."},"SetCustomFieldValues":{"additionalProperties":true,"type":"object","title":"SetCustomFieldValues","description":"A mapping of existing custom-field keys to their replacement values."},"SetFlowDataRequest":{"properties":{"data":{"additionalProperties":true,"type":"object","title":"","description":"State data to merge into the flow's existing data."}},"type":"object","required":["data"],"title":"SetFlowDataRequest","description":"Request body for setting a flow's state data."},"SetMailboxBusinessUnitsRequest":{"properties":{"business_unit_ids":{"items":{"type":"string"},"type":"array","title":"","description":"IDs of business units to scope this mailbox to.","default":[]}},"type":"object","title":"SetMailboxBusinessUnitsRequest","description":"Set business unit scoping for a shared mailbox.\n\nPassing an empty list removes all scoping, making the mailbox visible\nto all users in the organisation (the default unscoped behaviour)."},"SetPlanContactRequest":{"properties":{"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","title":"SetPlanContactRequest"},"SetStepDataRequest":{"properties":{"data":{"additionalProperties":true,"type":"object","title":"","description":"State data to merge into the step's existing data."}},"type":"object","required":["data"],"title":"SetStepDataRequest","description":"Request body for setting a step's state data."},"Severity":{"type":"string","enum":["block","review","info"],"x-speakeasy-enum-format":"union"},"SharedAsk":{"properties":{"email_id":{"type":"string","title":""}},"type":"object","required":["email_id"],"title":"SharedAsk"},"SharedAskDraft":{"properties":{"subject":{"type":"string","title":""},"html_body":{"type":"string","title":""}},"type":"object","required":["subject","html_body"],"title":"SharedAskDraft"},"SharedAskDraftRequest":{"properties":{"task_ids":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":""},"contact_id":{"type":"string","maxLength":200,"minLength":1,"title":""},"bodies":{"additionalProperties":{"type":"string","maxLength":20000},"type":"object","maxProperties":100,"title":""}},"type":"object","required":["task_ids","contact_id"],"title":"SharedAskDraftRequest","description":"Several AP-portal invoice tasks' asks to one customer contact, to word as one email."},"SharedAskRequest":{"properties":{"task_ids":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":""},"subject":{"type":"string","maxLength":1000,"minLength":1,"title":""},"html_body":{"type":"string","maxLength":200000,"minLength":1,"title":""},"recipient_contact_ids":{"items":{"type":"string"},"type":"array","maxItems":20,"minItems":1,"title":""},"sender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["task_ids","subject","html_body","recipient_contact_ids"],"title":"SharedAskRequest","description":"One email asking a customer contact about several of their AP-portal invoice tasks.\n\nThe first task carries the send and holds a draft; the reviewer composed this one."},"SigmaEmbedUrlResponse":{"properties":{"embed_url":{"type":"string","title":"","description":"Fully-formed Sigma embed URL, ready for an iframe src."},"expires_at":{"type":"integer","title":"","description":"Unix-seconds expiry of the embedded session; refresh the URL before this time."}},"type":"object","required":["embed_url","expires_at"],"title":"SigmaEmbedUrlResponse","description":"Response schema for a Sigma embed URL."},"SignUploadRequest":{"properties":{"purpose":{"type":"string","enum":["signature","logo","invoice_pdf_logo"],"title":"","description":"What the upload is for; scopes the folder and limits.","x-speakeasy-enum-format":"union"}},"type":"object","required":["purpose"],"title":"SignUploadRequest","description":"Request a signed upload for a given media purpose."},"SignedUploadFields":{"properties":{"api_key":{"type":"string","title":"","description":"Cloudinary API key."},"timestamp":{"type":"integer","title":"","description":"Unix seconds the signature was minted; Cloudinary time-bounds it."},"signature":{"type":"string","title":"","description":"HMAC of the signed params; authenticates the upload."},"asset_folder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Org-scoped Media Library folder, e.g. 'tenants/<org>/signatures' (dynamic-folder mode; decoupled from the delivery URL). Null for fixed-location uploads that pin a public_id instead."},"public_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Fixed asset id for single-slot uploads (e.g. 'tenants/<org>/logo'); the upload always lands at this id so the delivery URL is stable. Null otherwise."},"overwrite":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"When true, a re-upload replaces the existing asset at public_id."},"invalidate":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"When true, purges the CDN cache so the replacement shows immediately."},"allowed_formats":{"type":"string","title":"","description":"Comma-separated upload format allowlist."},"transformation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Incoming transformation applied at upload (e.g. 'c_limit,w_400,h_400'); null when the purpose imposes no size limit."}},"type":"object","required":["api_key","timestamp","signature","asset_folder","public_id","overwrite","invalidate","allowed_formats","transformation"],"title":"SignedUploadFields","description":"Form fields the browser must POST verbatim alongside the file.\n\nCloudinary recomputes the signature from these params and rejects on any\nmismatch, so the client sends them byte-for-byte as returned here. Every\nsigned param is included — omitting one would break signature validation."},"SignedUploadResponse":{"properties":{"upload_url":{"type":"string","title":"","description":"Endpoint the browser POSTs the file + fields to."},"fields":{"$ref":"#/components/schemas/SignedUploadFields","title":""}},"type":"object","required":["upload_url","fields"],"title":"SignedUploadResponse","description":"Provider-neutral signed-upload envelope.\n\nSame shape as an S3 presigned POST, so storage can be swapped later with\nno frontend/SDK change: the client POSTs ``file`` + every key in\n``fields`` to ``upload_url`` and reads ``secure_url`` from the response."},"SkipStepRequest":{"properties":{"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional human-supplied reason for skipping the step."}},"type":"object","title":"SkipStepRequest","description":"Request body for skipping a step."},"SnowflakeConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"snowflake","title":""},"share_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Name of the secure share the customer granted to Stuut's account."},"provider_account_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Snowflake account identifier of the provider (the customer) that owns the share."},"mounted_database":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Read-only database created FROM SHARE inside Stuut's account (the mount point)."},"mounted_schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Schema within the mounted database that holds the contract views (e.g. STUUT_SHARE)."},"contract_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Pinned version of the data contract this share was validated against; drives schema-drift checks."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","share_name","provider_account_identifier","mounted_database","mounted_schema","contract_version","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"SnowflakeConnection","description":"Snowflake Data Share integration connection."},"SnowflakeConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"snowflake","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"mounted_database":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_$]*$","title":"","description":"Read-only database created FROM SHARE inside Stuut's account (the mount point)."},"mounted_schema":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_$]*$","title":"","description":"Schema within the mounted database that holds the contract views (e.g. STUUT_SHARE)."},"share_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Name of the secure share the customer granted to Stuut's account."},"provider_account_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Snowflake account identifier of the provider (the customer) that owns the share."},"contract_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Pinned version of the data contract this share was validated against; drives schema-drift checks."}},"type":"object","required":["provider_name","mounted_database","mounted_schema"],"title":"SnowflakeConnectionCreateBody","description":"Create schema for Snowflake Data Share connections.\n\nThere are no credential fields: the customer grants Stuut's account a\nsecure data share, and a Stuut-side ingest service user reads the mount."},"SnowflakeConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"snowflake","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"mounted_database":{"anyOf":[{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_$]*$"},{"type":"null"}],"title":"","description":"Read-only database created FROM SHARE inside Stuut's account (the mount point)."},"mounted_schema":{"anyOf":[{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_$]*$"},{"type":"null"}],"title":"","description":"Schema within the mounted database that holds the contract views (e.g. STUUT_SHARE)."},"share_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Name of the secure share the customer granted to Stuut's account."},"provider_account_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Snowflake account identifier of the provider (the customer) that owns the share."},"contract_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Pinned version of the data contract this share was validated against; drives schema-drift checks."}},"type":"object","required":["provider_name"],"title":"SnowflakeConnectionUpdate","description":"Update schema for Snowflake Data Share connections."},"SortOrder":{"type":"string","enum":["asc","desc"],"title":"SortOrder"},"SosStatus":{"type":"string","enum":["active","inactive","dissolved","suspended","forfeited","withdrawn","merged","converted","unknown"],"title":"SosStatus","description":"Secretary of State registration status."},"SourceExcerpt":{"properties":{"text":{"type":"string","title":"Text","description":"Verbatim snippet from the source"},"memory_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Memory Id","description":"Memory ID this excerpt came from, when sourced from memory"},"page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Page","description":"Page number in the source document"}},"type":"object","required":["text"],"title":"SourceExcerpt"},"SourceUrlPart":{"properties":{"type":{"type":"string","const":"source-url","title":""},"sourceId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["type","sourceId","url","title"],"title":"SourceUrlPart"},"Speed":{"type":"string","enum":["slowest","slow","normal","fast","fastest"],"title":"Speed"},"SplitStatementInfo":{"properties":{"is_split_parent":{"type":"boolean","title":"","description":"Whether this is a parent statement that was split into children"},"split_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Number of child statements (only for split parents)"},"child_statements":{"items":{"$ref":"#/components/schemas/ChildStatementInfo"},"type":"array","title":"","description":"Child statement info with names (only for split parents)"},"original_statement_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ID of the parent statement (only for child statements)"},"split_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"Index of this statement in the split (only for child statements)"}},"type":"object","required":["is_split_parent","split_count","child_statements","original_statement_id","split_index"],"title":"SplitStatementInfo","description":"Information about statement splitting."},"SsoConnectionStatusSchema":{"properties":{"has_connection":{"type":"boolean","title":"","description":"True if an enterprise connection is already attached to the org in Auth0"}},"type":"object","required":["has_connection"],"title":"SsoConnectionStatus","description":"Whether the organization already has an enterprise SSO connection configured."},"SsoTicketSchema":{"properties":{"url":{"type":"string","title":"","description":"Auth0-hosted self-service setup URL"}},"type":"object","required":["url"],"title":"SsoTicket","description":"A self-service Auth0 SSO setup link the customer can use to configure their connection."},"StaffOrgAccessSchema":{"properties":{"id":{"type":"string","title":""},"staff_email":{"type":"string","title":""},"organization_id":{"type":"string","title":""},"role":{"anyOf":[{"$ref":"#/components/schemas/RoleSummary"},{"type":"null"}],"title":""}},"type":"object","required":["id","staff_email","organization_id","role"],"title":"StaffOrgAccess"},"StartEvent":{"properties":{"type":{"type":"string","const":"start","title":"","default":"start"},"messageId":{"type":"string","title":""}},"type":"object","required":["type","messageId"],"title":"StartEvent"},"StartStepEvent":{"properties":{"type":{"type":"string","const":"start-step","title":"","default":"start-step"}},"type":"object","required":["type"],"title":"StartStepEvent"},"StatementFrequency":{"type":"string","enum":["weekly","biweekly","monthly"],"title":"StatementFrequency"},"StatsConditionInput":{"properties":{"total_invoice_balance":{"anyOf":[{"$ref":"#/components/schemas/StatsNumericOperators"},{"type":"null"}],"title":""},"overdue_invoice_balance":{"anyOf":[{"$ref":"#/components/schemas/StatsNumericOperators"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","title":"StatsConditionInput","description":"Filter by partner_stats values (forex-converted to org base currency)."},"StatsNumericOperators":{"properties":{"eq":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""},"ne":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""},"gt":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""},"gte":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""},"lt":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""},"lte":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","title":"StatsNumericOperators","description":"Numeric comparison operators for partner_stats fields (values in org base currency)."},"Status":{"type":"string","enum":["submitted","processing","invalid","pending_approval","approved","split","synced"],"title":"Status"},"StringCase":{"type":"string","enum":["sensitive","insensitive"],"x-speakeasy-enum-format":"union"},"StringComparator":{"properties":{"eq":{"type":"string","title":"Eq"},"neq":{"type":"string","title":"Neq"},"in":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"In"},"nin":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"Nin"},"contains":{"type":"string","title":"Contains"},"not_contains":{"type":"string","title":"Not Contains"},"starts_with":{"type":"string","title":"Starts With"},"not_starts_with":{"type":"string","title":"Not Starts With"},"ends_with":{"type":"string","title":"Ends With"},"not_ends_with":{"type":"string","title":"Not Ends With"},"case":{"$ref":"#/components/schemas/StringCase","default":"sensitive"}},"additionalProperties":false,"type":"object","title":"StringComparator","description":"One string comparison with an optional case-sensitivity modifier."},"StripeConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"stripe","title":""},"api_key":{"type":"string","format":"password","title":"","writeOnly":true},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","api_key","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"StripeConnection","description":"Stripe integration connection."},"StripeConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"stripe","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"api_key":{"type":"string","format":"password","title":"","writeOnly":true},"is_webhooks_enabled":{"type":"boolean","title":"","default":true}},"type":"object","required":["provider_name","api_key"],"title":"StripeConnectionCreateBody","description":"Create schema for Stripe connections."},"StructuredPlanInput":{"properties":{"mode":{"type":"string","const":"structured","title":"","default":"structured"},"base":{"type":"string","enum":["outstanding","overdue"],"title":"","x-speakeasy-enum-format":"union"},"num_installments":{"type":"integer","minimum":1.0,"title":""},"frequency":{"$ref":"#/components/schemas/PaymentPlanFrequency","title":""},"first_installment_due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""},"avg_weekly_sales":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":""},"total_override":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},{"type":"null"}],"title":""},"installment_amounts":{"anyOf":[{"items":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal"},"type":"array"},{"type":"null"}],"title":""}},"type":"object","required":["base","num_installments","frequency"],"title":"StructuredPlanInput","description":"Structured-mode plan: total derived from a base balance (+ optional projected sales)."},"SttMode":{"type":"string","enum":["auto","flux","off","scribe"],"title":"SttMode","description":"STT model selection mode for voice agents.\n\nAUTO: Multilingual Scribe (never pinned) + LanguageObserver hot-swaps STT to the\n      detected language; a configured `language_code` is only a detection hint.\nFLUX: Legacy fixed-language preference. It respects the resolved partner/agent\n      language and uses Flux only for English. Hidden from new UI; no observer.\nOFF:  Fixed language — Flux for English, otherwise Nova-3 or pinned Scribe. No observer.\nSCRIBE: Legacy multilingual Scribe, no observer. Hidden from the UI; kept for existing rows."},"SubLineItem":{"properties":{"name":{"type":"string","title":"","description":"Sub-line label, e.g. a tier band."},"quantity":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Quantity within this sub-line."},"price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Price per unit in dollars, when priced."},"subtotal":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Sub-line subtotal in dollars."}},"type":"object","required":["name","quantity","price","subtotal"],"title":"billing.SubLineItem","description":"A line's sub-breakdown — tier bands for tiered rates, per-charge splits."},"SubmissionRejectReason":{"type":"string","enum":["po_mismatch","missing_required_field","invalid_tax","duplicate_invoice","unknown_customer","invalid_date","transmission_failed","not_stated","other","po_line_mismatch","receipt_pending","disallowed_charge","invoice_data_error","prerequisite_document","wrong_channel","po_closed"],"title":"SubmissionRejectReason","description":"Closed reject taxonomy — remediation routes by code, not string-match.\n\nBuckets group rejections by what fixes them: missing fields/attachments into\n``MISSING_REQUIRED_FIELD``; tax errors and missing tax docs into ``INVALID_TAX``."},"SubmissionState":{"type":"string","enum":["submitted","approved","rejected","pending"],"title":"SubmissionState","description":"Coarse, normalized invoice lifecycle from a sweep/submit."},"SubmitPreviewRowSchema":{"properties":{"portal_field":{"type":"string","title":""},"label":{"type":"string","title":""},"required":{"type":"boolean","title":""},"source":{"anyOf":[{"$ref":"#/components/schemas/FieldSourceSchema"},{"type":"null"}],"title":""},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"blank_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"auto":{"type":"boolean","title":"","default":false},"auto_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["portal_field","label","required","source","value","blank_reason","auto","auto_label"],"title":"SubmitPreviewRow","description":"One portal form field, its resolved source, and the value that would be submitted."},"SubmitPreviewSchema":{"properties":{"invoice_id":{"type":"string","title":""},"account_id":{"type":"string","title":""},"provider":{"$ref":"#/components/schemas/APPortalProvider","title":""},"rows":{"items":{"$ref":"#/components/schemas/SubmitPreviewRowSchema"},"type":"array","title":""},"validations":{"items":{"$ref":"#/components/schemas/ValidationResultSchema"},"type":"array","title":""},"submit_gate":{"$ref":"#/components/schemas/APPortalSubmitGate","title":"","default":"ok"},"line_items":{"anyOf":[{"$ref":"#/components/schemas/LineItemsValidationSchema"},{"type":"null"}],"title":""}},"type":"object","required":["invoice_id","account_id","provider","rows","validations","submit_gate","line_items"],"title":"SubmitPreview","description":"The computed dry-run: what would be submitted + the pre-flight gate. Nothing is sent."},"SuggestedQuestion":{"properties":{"id":{"type":"string","title":""},"label":{"type":"string","title":""},"prompt":{"type":"string","title":""}},"type":"object","required":["id","label","prompt"],"title":"SuggestedQuestion","description":"A pre-canned starter prompt shown in the empty-chat state.\n\n`label` is the short chip text; `prompt` is the full text sent to the\nagent when the chip is clicked (the two can differ). `id` is a stable key\nfor rendering and click analytics."},"SupportedCountry":{"properties":{"iso_country":{"type":"string","title":""},"name":{"type":"string","title":""},"continent":{"type":"string","title":""},"country_codes":{"items":{"type":"string"},"type":"array","title":"","description":"Dialing prefixes for the country, without the +"}},"type":"object","required":["iso_country","name","continent","country_codes"],"title":"SupportedCountry","description":"A country the Twilio account is permitted to place low-risk calls to."},"SweepMode":{"type":"string","enum":["list","detail"],"title":"SweepMode","description":"The document traversal performed by a sweep."},"TagAssociationRequest":{"properties":{"partner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The id of the partner to tag."},"workflow_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The id of the workflow to tag."}},"type":"object","title":"TagAssociationRequest"},"TagSchema":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"name":{"type":"string","title":"","description":"The name of the tag."},"color":{"type":"string","title":"","description":"Hex color code, e.g. #2f85db."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","color","object"],"title":"Tag"},"TaskActionType":{"type":"string","enum":["complete","complete_with_action","close","close_with_action","acknowledge","update"],"title":"TaskActionType"},"TaskCalendarResponse":{"properties":{"calendar_data":{"items":{"$ref":"#/components/schemas/CalendarDayData"},"type":"array","title":""},"currency":{"$ref":"#/components/schemas/Currency","title":""}},"type":"object","required":["calendar_data","currency"],"title":"TaskCalendarResponse"},"TaskDashboardResponse":{"properties":{"weekly_progress":{"$ref":"#/components/schemas/WeeklyProgress","title":""},"summary":{"$ref":"#/components/schemas/TaskOverviewSummary","title":""},"action_groups":{"$ref":"#/components/schemas/TaskOverviewActionGroups","title":""},"charts":{"$ref":"#/components/schemas/TaskOverviewCharts","title":""},"currency":{"$ref":"#/components/schemas/Currency","title":""},"agent_task_log":{"anyOf":[{"items":{"$ref":"#/components/schemas/AgentTaskLog"},"type":"array"},{"type":"null"}],"title":""}},"type":"object","required":["weekly_progress","summary","action_groups","charts","currency","agent_task_log"],"title":"TaskDashboardResponse"},"TaskOverviewActionGroups":{"properties":{"respond_to":{"items":{"anyOf":[{"$ref":"#/components/schemas/ActionGroupItem"},{"$ref":"#/components/schemas/DisputeActionGroupItem"}]},"type":"array","title":""},"collect":{"items":{"$ref":"#/components/schemas/ActionGroupItem"},"type":"array","title":""}},"type":"object","required":["respond_to","collect"],"title":"TaskOverviewActionGroups"},"TaskOverviewCharts":{"properties":{"by_age":{"items":{"$ref":"#/components/schemas/ChartBucket"},"type":"array","title":""},"by_type":{"items":{"$ref":"#/components/schemas/ChartBucket"},"type":"array","title":""},"by_customer":{"items":{"$ref":"#/components/schemas/ChartBucket"},"type":"array","title":""}},"type":"object","required":["by_age","by_type","by_customer"],"title":"TaskOverviewCharts"},"TaskOverviewSummary":{"properties":{"payment_promises_due_today":{"type":"integer","minimum":0.0,"title":""},"invoices_due_today_amount":{"type":"integer","minimum":0.0,"title":"","description":"Amount in cents"},"invoices_due_today_customers":{"type":"integer","minimum":0.0,"title":""}},"type":"object","required":["payment_promises_due_today","invoices_due_today_amount","invoices_due_today_customers"],"title":"TaskOverviewSummary"},"TaskPriority":{"type":"string","enum":["low","medium","high","urgent"],"title":"TaskPriority"},"TaskSource":{"type":"string","enum":["email","call","sms","outreach","broken_promise","account","workflow","ap_portal"],"title":"TaskSource"},"TaskStatus":{"type":"string","enum":["open","completed","closed","archived","failed","processing","assigned_to_agent","research"],"title":"TaskStatus"},"TaskSummary":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"type":{"$ref":"#/components/schemas/TaskType","title":"","description":"The type of the task."},"status":{"$ref":"#/components/schemas/TaskStatus","title":"","description":"The current status of the task."},"label":{"type":"string","title":"","description":"The blurb or label for the task."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The contextual description of the task."},"assignee_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the user assigned to this task, if any."},"interaction_classifications":{"items":{"$ref":"#/components/schemas/InteractionClassificationSummary"},"type":"array","title":"","description":"The interaction classifications that led to the creation of this task"},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","type","status","label","description","assignee_id","interaction_classifications","object"],"title":"TaskSummary","description":"Task summary for list views."},"TaskType":{"type":"string","enum":["auto_response_email","auto_response_sms","call_analysis","disable_contact","recommendation_new_contact","manual_call","broken_promise_follow_up","payment_promise","escalation","pause_state_update","dispute_create","dispute_activate","dispute_update","dispute_resolution","email_send_failure","workflow","payment_plan","ap_portal_rejection","ap_portal_pre_submission","manual_sms"],"title":"TaskType"},"TaskWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/TaskWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/TaskWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"assigneeId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Assigneeid"},"status":{"$ref":"#/components/schemas/EqualityComparator_TaskStatus_","title":"Status"},"type":{"$ref":"#/components/schemas/EqualityComparator_TaskType_","title":"Type"},"source":{"$ref":"#/components/schemas/EqualityComparator_TaskSource_","title":"Source"},"priority":{"$ref":"#/components/schemas/EqualityComparator_TaskPriority_","title":"Priority"},"isGroup":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isgroup"},"isInternal":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isinternal"},"partnerId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Partnerid"},"invoiceId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Invoiceid"},"groupId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Groupid"}},"additionalProperties":false,"type":"object","title":"TaskWorkflowFilter","description":"Task assignment and classification fields available to workflow conditions."},"TaskWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/TaskWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/TaskWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"assigneeId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Assigneeid"},"status":{"$ref":"#/components/schemas/EqualityComparator_TaskStatus_","title":"Status"},"type":{"$ref":"#/components/schemas/EqualityComparator_TaskType_","title":"Type"},"source":{"$ref":"#/components/schemas/EqualityComparator_TaskSource_","title":"Source"},"priority":{"$ref":"#/components/schemas/EqualityComparator_TaskPriority_","title":"Priority"},"isGroup":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isgroup"},"isInternal":{"$ref":"#/components/schemas/EqualityComparator_bool_","title":"Isinternal"},"partnerId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Partnerid"},"invoiceId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Invoiceid"},"groupId":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_str_"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Groupid"}},"additionalProperties":false,"type":"object","title":"TaskWorkflowFilter","description":"Task assignment and classification fields available to workflow conditions."},"TaxId":{"properties":{"type":{"type":"string","title":"","description":"Stripe tax-id type, e.g. 'eu_vat', 'gb_vat', 'us_ein'."},"value":{"type":"string","title":"","description":"The tax registration number."}},"type":"object","required":["type","value"],"title":"billing.TaxId","description":"The customer's primary Stripe tax registration."},"TaxIdInput":{"properties":{"type":{"type":"string","title":"","description":"Stripe tax-id type, e.g. 'eu_vat', 'gb_vat', 'us_ein'."},"value":{"type":"string","title":"","description":"The tax registration number."}},"type":"object","required":["type","value"],"title":"billing.TaxIdInput","description":"A VAT or tax registration update."},"TermsPlacement":{"type":"string","enum":["side_by_side","stacked"],"title":"TermsPlacement"},"TextDeltaEvent":{"properties":{"type":{"type":"string","const":"text-delta","title":"","default":"text-delta"},"id":{"type":"string","title":""},"delta":{"type":"string","title":""}},"type":"object","required":["type","id","delta"],"title":"TextDeltaEvent"},"TextEndEvent":{"properties":{"type":{"type":"string","const":"text-end","title":"","default":"text-end"},"id":{"type":"string","title":""}},"type":"object","required":["type","id"],"title":"TextEndEvent"},"TextPart":{"properties":{"type":{"type":"string","const":"text","title":""},"text":{"type":"string","title":""}},"type":"object","required":["type","text"],"title":"TextPart"},"TextPartInput":{"properties":{"type":{"type":"string","const":"text","title":""},"text":{"type":"string","title":""}},"type":"object","required":["type","text"],"title":"TextPartInput"},"TextStartEvent":{"properties":{"type":{"type":"string","const":"text-start","title":"","default":"text-start"},"id":{"type":"string","title":""}},"type":"object","required":["type","id"],"title":"TextStartEvent"},"Tier":{"properties":{"size":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},{"type":"null"}],"title":"","description":"Band size in metered UNITS (not money); null = the open top tier."},"price":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Price within this band: dollars per unit for TIERED rates; a decimal fraction for TIERED_PERCENTAGE rates (0.005 = 0.5%)."}},"type":"object","required":["size","price"],"title":"billing.Tier","description":"One graduated-rate band."},"Timezone":{"type":"string","enum":["Africa/Abidjan","Africa/Cairo","Africa/Johannesburg","Africa/Lagos","Africa/Maputo","Africa/Nairobi","Africa/Tripoli","America/Adak","America/Anchorage","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/Mendoza","America/Chicago","America/Denver","America/Detroit","America/Edmonton","America/Halifax","America/Havana","America/Indiana/Indianapolis","America/Indiana/Knox","America/Iqaluit","America/Jamaica","America/Kentucky/Louisville","America/Los_Angeles","America/Manaus","America/Mazatlan","America/Mexico_City","America/New_York","America/Noronha","America/Nuuk","America/Panama","America/Phoenix","America/Puerto_Rico","America/Regina","America/Rio_Branco","America/Santiago","America/Sao_Paulo","America/St_Johns","America/Tijuana","America/Toronto","America/Vancouver","America/Whitehorse","America/Winnipeg","Asia/Ashgabat","Asia/Bangkok","Asia/Dhaka","Asia/Dubai","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Jerusalem","Asia/Kathmandu","Asia/Kolkata","Asia/Kuching","Asia/Macau","Asia/Makassar","Asia/Nicosia","Asia/Qatar","Asia/Riyadh","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Taipei","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Yangon","Atlantic/Faroe","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Darwin","Australia/Hobart","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Etc/GMT","Etc/UTC","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Brussels","Europe/Chisinau","Europe/Dublin","Europe/Helsinki","Europe/Istanbul","Europe/Kyiv","Europe/Lisbon","Europe/London","Europe/Moscow","Europe/Paris","Europe/Prague","Europe/Rome","Europe/Warsaw","Europe/Zurich","Indian/Maldives","Pacific/Auckland","Pacific/Chatham","Pacific/Easter","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kanton","Pacific/Kwajalein","Pacific/Pago_Pago","Pacific/Port_Moresby","Pacific/Tarawa"],"minLength":1,"title":"Timezone","description":"IANA canonical timezone."},"ToolInputAvailableEvent":{"properties":{"type":{"type":"string","const":"tool-input-available","title":"","default":"tool-input-available"},"toolCallId":{"type":"string","title":""},"toolName":{"type":"string","title":""},"input":{"additionalProperties":true,"type":"object","title":""}},"type":"object","required":["type","toolCallId","toolName","input"],"title":"ToolInputAvailableEvent"},"ToolInputDeltaEvent":{"properties":{"type":{"type":"string","const":"tool-input-delta","title":"","default":"tool-input-delta"},"toolCallId":{"type":"string","title":""},"inputTextDelta":{"type":"string","title":""}},"type":"object","required":["type","toolCallId","inputTextDelta"],"title":"ToolInputDeltaEvent"},"ToolInputStartEvent":{"properties":{"type":{"type":"string","const":"tool-input-start","title":"","default":"tool-input-start"},"toolCallId":{"type":"string","title":""},"toolName":{"type":"string","title":""}},"type":"object","required":["type","toolCallId","toolName"],"title":"ToolInputStartEvent"},"ToolInvocationPart":{"properties":{"type":{"type":"string","const":"tool-invocation","title":""},"toolCallId":{"type":"string","title":""},"toolName":{"type":"string","title":""},"args":{"additionalProperties":true,"type":"object","title":""},"state":{"type":"string","title":""},"result":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":""}},"type":"object","required":["type","toolCallId","toolName","args","state","result"],"title":"ToolInvocationPart"},"ToolOutputAvailableEvent":{"properties":{"type":{"type":"string","const":"tool-output-available","title":"","default":"tool-output-available"},"toolCallId":{"type":"string","title":""},"output":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":""}},"type":"object","required":["type","toolCallId","output"],"title":"ToolOutputAvailableEvent"},"TotalsSource":{"type":"string","enum":["subtotal","tax","total","payments","amount_due","custom_field"],"title":"TotalsSource"},"TransactionApproveResult":{"properties":{"transaction_id":{"type":"string","title":""},"success":{"type":"boolean","title":""},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"validation_errors":{"anyOf":[{"items":{"$ref":"#/components/schemas/ValidationErrorDetail"},"type":"array"},{"type":"null"}],"title":""}},"type":"object","required":["transaction_id","success","error","validation_errors"],"title":"TransactionApproveResult","description":"Result of approving payments for a single transaction."},"TranslateEmailRequest":{"properties":{"language_code":{"$ref":"#/components/schemas/Locale","title":""},"subject":{"type":"string","maxLength":2000,"title":"","default":""},"body":{"type":"string","maxLength":100000,"minLength":1,"title":""}},"type":"object","required":["language_code","body"],"title":"TranslateEmailRequest"},"TriageActionResponse":{"properties":{"id":{"type":"string","title":""},"triage_status":{"$ref":"#/components/schemas/EmailThreadTriageStatus","title":""},"partner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","triage_status","partner_id"],"title":"TriageActionResponse","description":"Response after a triage action (assign or dismiss)."},"TriageSummary":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"status":{"$ref":"#/components/schemas/EmailThreadTriageStatus","title":"","description":"Triage state: pending, auto_matched, manually_matched, dismissed."},"is_loading":{"type":"boolean","title":"","description":"Pending triage row not yet resolved (no match_source, no error); sorts last in the inbox list."},"suggested_partner":{"anyOf":[{"$ref":"#/components/schemas/PartnerSummary"},{"type":"null"}],"title":""},"agent_confidence_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"","description":"The confidence score of the result on a scale of 0-100, where 0 indicates no confidence in the accuracy of the result and 100 indicates full confidence in the accuracy of the result."},"match_source":{"anyOf":[{"type":"string","enum":["llm","manual","auto"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":"","description":"How the partner was matched: 'llm', 'manual', or 'auto'"},"matched_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When this triage thread was resolved (partner assigned or dismissed)"},"matched_by_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User who assigned the partner (NULL for auto-match)"},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","status","is_loading","suggested_partner","agent_confidence_score","match_source","matched_at","matched_by_id","object"],"title":"TriageSummary","description":"Lightweight triage state for inbox list rows; heavy fields stay on the v1 detail view."},"TriggerDeductionBackupSyncRequest":{"properties":{"start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"Earliest date to download from. Omit to use the provider's default window."}},"additionalProperties":false,"type":"object","title":"TriggerDeductionBackupSyncRequest","description":"Options for an on-demand deduction-backup download."},"TriggerSubmitRequest":{"properties":{"form_profile_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Candidate form profile revision; dry-run only."},"dry_run":{"type":"boolean","title":"","description":"Stop before the final send. This endpoint rejects false; live sends are queued from the resulting pre-submission review task.","default":true},"create_review_task":{"type":"boolean","title":"","description":"Create a pre-submission review task after this dry run succeeds.","default":false},"customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Buyer customer_id scoping the session to one buyer when the portal requires it."},"remit_to_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Remit-to option id. Without a remit-to selection the draft may be opened and captured but header fields that require an address picker cannot be filled."},"remit_to_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Visible remit-to option text; a fallback when the option id is unknown."}},"type":"object","title":"TriggerSubmitRequest","description":"Submit an invoice through its matched PO. Defaults to a dry run."},"TriggerSubmitResponse":{"properties":{"work_id":{"type":"string","title":""},"status":{"$ref":"#/components/schemas/APPortalWorkStatus","title":""},"purpose":{"type":"string","enum":["invoice_submission","form_profile_discovery"],"title":"","default":"invoice_submission","x-speakeasy-enum-format":"union"}},"type":"object","required":["work_id","status","purpose"],"title":"TriggerSubmitResponse","description":"Acknowledges an enqueued dry-run submit; the work runs asynchronously."},"TriggerSweepRequest":{"properties":{"mode":{"$ref":"#/components/schemas/SweepMode","title":"","description":"LIST reads document lists; DETAIL reads detail for every returned document.","default":"list"},"lookback_days":{"anyOf":[{"type":"integer","maximum":365.0,"minimum":1.0},{"type":"null"}],"title":"","description":"How many days back the list search should reach, for providers with a windowed list view (Taulia, Ariba). Omit to let Taulia use its incremental refresh window and other providers use their defaults."}},"additionalProperties":false,"type":"object","title":"TriggerSweepRequest","description":"Options for an on-demand sweep."},"TriggerSweepResponse":{"properties":{"work_id":{"type":"string","title":""},"status":{"$ref":"#/components/schemas/APPortalWorkStatus","title":""}},"type":"object","required":["work_id","status"],"title":"TriggerSweepResponse","description":"Acknowledges an enqueued on-demand sweep; the work runs asynchronously."},"TrovataConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"trovata","title":""},"app_id":{"type":"string","title":""},"company_id":{"type":"string","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","app_id","company_id","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"TrovataConnection","description":"Trovata integration connection."},"TrovataConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"trovata","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"app_id":{"type":"string","title":""},"app_secret":{"type":"string","format":"password","title":"","writeOnly":true},"company_id":{"type":"string","title":""}},"type":"object","required":["provider_name","app_id","app_secret","company_id"],"title":"TrovataConnectionCreateBody","description":"Create schema for Trovata connections."},"TrovataConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"trovata","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."}},"type":"object","required":["provider_name"],"title":"TrovataConnectionUpdate","description":"Update schema for Trovata connections."},"TrustProductRegistration":{"properties":{"cnam_display_name":{"anyOf":[{"type":"string","maxLength":15,"minLength":1},{"type":"null"}],"title":"","description":"Caller ID name; Twilio caps it at 15 characters"},"business_employee_count":{"anyOf":[{"type":"string","pattern":"^\\d+$"},{"type":"null"}],"title":""},"average_business_day_call_volume":{"anyOf":[{"type":"string","pattern":"^\\d+$"},{"type":"null"}],"title":""}},"type":"object","title":"TrustProductRegistration","description":"CNAM and/or Voice Integrity for an identity whose profile Twilio already approved.\n\nThe fields and their rules come from `TrustProductFields`, shared with the profile payload. The\nonly difference here is that at least one registration must be asked for: this endpoint does\nnothing else, whereas on a profile they are optional extras.\n\nNothing else is collected — the profile exists, so Twilio already holds the legal and address\ndetails, and re-asking would be collecting data we ignore."},"TtsModel":{"type":"string","enum":["eleven_flash_v2_5","eleven_flash_v2","eleven_multilingual_v2"],"title":"TtsModel","description":"Supported TTS client IDs; provider routing is separate from model inventory.\n\nElevenLabs uses bare IDs with its direct client.\nEnglish-only choices require a fixed English call, not an AUTO language hint."},"TypeBalance":{"properties":{"active":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Σ pool.active — total granted (a commit's minimum-spend target for postpaid)."},"consumed":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Σ consumed across the type's active pools."},"balance":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Remaining: active - consumed.","readOnly":true}},"type":"object","required":["active","consumed","balance"],"title":"billing.TypeBalance","description":"Aggregate across the active pools of one type."},"UIMessage":{"properties":{"id":{"type":"string","title":""},"role":{"type":"string","enum":["user","assistant","system"],"title":"","x-speakeasy-enum-format":"union"},"parts":{"items":{"oneOf":[{"$ref":"#/components/schemas/TextPart"},{"$ref":"#/components/schemas/ReasoningPart"},{"$ref":"#/components/schemas/ToolInvocationPart"},{"$ref":"#/components/schemas/FilePart"},{"$ref":"#/components/schemas/SourceUrlPart"}],"discriminator":{"propertyName":"type","mapping":{"file":"#/components/schemas/FilePart","reasoning":"#/components/schemas/ReasoningPart","source-url":"#/components/schemas/SourceUrlPart","text":"#/components/schemas/TextPart","tool-invocation":"#/components/schemas/ToolInvocationPart"}}},"type":"array","title":""},"createdAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""}},"type":"object","required":["id","role","parts","createdAt"],"title":"UIMessage"},"UTCDateTime":{"type":"string","format":"date-time"},"UnlinkedPaymentResponse":{"properties":{"payment":{"$ref":"#/components/schemas/UnlinkedPaymentSummary","title":""},"remainder":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""}},"type":"object","required":["payment","remainder"],"title":"UnlinkedPaymentResponse"},"UnlinkedPaymentSummary":{"properties":{"id":{"type":"string","title":""},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":""},"currency":{"$ref":"#/components/schemas/Currency","title":""},"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""}},"type":"object","required":["id","amount","currency","created_at"],"title":"UnlinkedPaymentSummary"},"UpcomingInvoice":{"properties":{"total":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Projected invoice total in dollars, PRE-TAX."},"start_timestamp":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"Billing period start."},"end_timestamp":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"","description":"Billing period end — when the draft issues."},"lines":{"items":{"$ref":"#/components/schemas/InvoiceLine"},"type":"array","title":"","description":"Every line: usage, scheduled fees, credit applications."}},"type":"object","required":["total","start_timestamp","end_timestamp","lines"],"title":"billing.UpcomingInvoice","description":"The active contract's current-period draft invoice."},"UpdateAdjustmentRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":""},"ledger_account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"automated":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","title":"UpdateAdjustmentRequest","description":"Request body for updating an adjustment."},"UpdateAutoPostConfigRequest":{"properties":{"auto_post_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"When on, Stuut automatically posts the payments it's confident about and holds the rest for your review. When off, every payment waits for manual posting."},"auto_post_profile":{"anyOf":[{"$ref":"#/components/schemas/AutoPostProfile"},{"type":"null"}],"title":"","description":"How cautious Stuut should be when deciding which payments to post automatically. See the auto-post profiles endpoint for the available options and what each one means."}},"type":"object","title":"UpdateAutoPostConfigRequest","description":"Request body for updating auto-post configuration. Omitted fields are left unchanged."},"UpdateAutoReloadRequest":{"properties":{"enabled":{"type":"boolean","title":"","description":"Turn auto-reload on or off."},"threshold":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"","description":"Balance ($) at or below which to recharge."},"recharge_to":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"","description":"Balance ($) to recharge up to; must exceed `threshold`."}},"type":"object","required":["enabled","threshold","recharge_to"],"title":"billing.UpdateAutoReloadRequest","description":"An automatic balance reload update."},"UpdateBankAccountInput":{"properties":{"ledger_account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the G/L account associated with this bank account. The G/L account must be an `Asset` account."},"erp_account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The ID of the ERP bank account associated with this bank account."},"name":{"type":"string","title":"","description":"The name of the account. If not assigned by the user, defaults to the name given by the financial institution itself"},"nickname":{"type":"string","title":""},"routing_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The bank's routing number."},"timezone":{"$ref":"#/components/schemas/Timezone","title":"","description":"The timezone of the account."}},"type":"object","title":"UpdateBankAccountInput"},"UpdateBillingDetailsRequest":{"properties":{"business_name":{"type":"string","title":"","description":"Legal business name (Stripe customer name)."},"billing_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Email Stripe sends invoices to; null clears it."},"address":{"$ref":"#/components/schemas/AddressInput","title":"","description":"Billing address."},"tax_id":{"anyOf":[{"$ref":"#/components/schemas/TaxIdInput"},{"type":"null"}],"title":"","description":"VAT / tax registration; null clears it."},"default_payment_method_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Stripe payment-method id to set as the invoice default; omit to leave the current default unchanged. (Save a new card first via the Payment Element from POST /billing/session, then pass its id here.)"}},"type":"object","required":["business_name","address"],"title":"billing.UpdateBillingDetailsRequest","description":"A Stripe billing identity update."},"UpdateBudgetRequest":{"properties":{"enabled":{"type":"boolean","title":"","description":"Turn the budget on or off."},"cap":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":"","description":"Spend cap in dollars."}},"type":"object","required":["enabled","cap"],"title":"billing.UpdateBudgetRequest"},"UpdateBusinessUnitRequest":{"properties":{"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"","description":"The name of the business unit."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional description of the business unit."},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Customer-facing BU name for outbound content; NULL uses the organization name."}},"type":"object","title":"UpdateBusinessUnitRequest","description":"PATCH: only fields present in the request are applied."},"UpdateCallAgentRequest":{"properties":{"end_call_on_recording_refusal":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether to hang up the call if the user does not consent to recording"},"recording_disclaimer_required":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether the call agent must include the recording disclaimer. Only Stuut staff can update this field."},"outbound_begin_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The opening line of the call agent."},"outbound_voicemail_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The complete LiveKit voicemail template, translated to the call language. Null or blank uses the default."},"voice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Voice DB ID (vce_...)"},"voice_speed":{"anyOf":[{"$ref":"#/components/schemas/Speed"},{"type":"null"}],"title":"","description":"Voice speed"},"voice_temperature":{"anyOf":[{"type":"number","maximum":2.0,"minimum":0.0},{"type":"null"}],"title":"","description":"Voice temperature 0.0-2.0"},"language_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"BCP-47 starting language for the call agent (e.g. 'en-US', 'nl-NL'). When stt_mode=AUTO, this is the starting hint (observer may swap). When stt_mode=OFF, this is a hard pin and required. Overridden per-call by partner.retell_language_code when set."},"stt_mode":{"anyOf":[{"$ref":"#/components/schemas/SttMode"},{"type":"null"}],"title":"","description":"STT mode (auto/off; flux and scribe are legacy values)"},"llm_model":{"anyOf":[{"$ref":"#/components/schemas/LlmModel"},{"type":"null"}],"title":"","description":"Staff-only: real-time LLM model (LiveKit Inference id). NULL = default (Gemini 3 Flash Preview)."},"tts_model":{"anyOf":[{"$ref":"#/components/schemas/TtsModel"},{"type":"null"}],"title":"","description":"Staff-only TTS model. English-only models require a fixed English call; NULL uses ElevenLabs Flash v2.5."},"custom_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Staff-only override for the base outbound prompt. Jinja-rendered against the call context. Include `{{ base_prompt }}` anywhere in the text to inject the rendered OUTBOUND_AGENT_TEMPLATE at that position; omit the token to fully replace the base prompt."}},"type":"object","title":"UpdateCallAgentRequest","description":"Update call agent voice and personality settings."},"UpdateCallAgentScenarioSchema":{"properties":{"response":{"type":"string","title":"","description":"What the agent should say in response to the scenario."},"scenario":{"type":"string","title":"","description":"An example scenario of what the end user would say."}},"additionalProperties":false,"type":"object","required":["response","scenario"],"title":"UpdateCallAgentScenario","description":"POST updates require both text fields, matching the existing editor contract."},"UpdateCallSettingsRequest":{"properties":{"is_call_concurrency_enabled":{"type":"boolean","title":"","description":"Whether calls may run concurrently instead of sequentially.","default":true},"is_call_dedup_enabled":{"type":"boolean","title":"","description":"Whether duplicate calls to the same number on the same day are prevented.","default":false}},"type":"object","title":"UpdateCallSettingsRequest","description":"Editable call settings. Only provided fields are updated."},"UpdateCustomTableTemplateRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":""},"entity_type":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":""},"columns":{"anyOf":[{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array","minItems":1},{"type":"null"}],"title":""},"include_totals":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"aging_summary_position":{"anyOf":[{"$ref":"#/components/schemas/AgingSummaryPosition"},{"type":"null"}],"title":""},"include_unapplied_payments":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""}},"type":"object","title":"UpdateCustomTableTemplateRequest"},"UpdateCustomerSegmentInput":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":128,"minLength":1},{"type":"null"}],"title":"","description":"The name of the segment (case-insensitive unique per org)."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional description of what this segment represents."},"priority":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"","description":"Lower number = higher priority for conflict resolution when partner matches multiple segments."},"conditions":{"anyOf":[{"$ref":"#/components/schemas/SegmentConditionsInput"},{"type":"null"}],"title":"","description":"Rules that determine which partners belong to this segment."}},"type":"object","title":"UpdateCustomerSegmentInput"},"UpdateDunningStateInput":{"properties":{"name":{"type":"string","minLength":1,"title":""},"description":{"type":"string","minLength":1,"title":""},"is_dispute_default":{"type":"boolean","title":""}},"additionalProperties":false,"type":"object","title":"UpdateDunningStateInput"},"UpdateEmailSettingsRequest":{"properties":{"auto_assign":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"auto_assign_threshold":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":""},"matching_guidelines":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"microsoft_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Enable/disable Microsoft mailbox connections for this org."},"google_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Enable/disable Google mailbox connections for this org."}},"type":"object","title":"UpdateEmailSettingsRequest","description":"Update the centralized-inbox workflow knobs and provider kill-switches."},"UpdateInternalContactAssignmentRequest":{"properties":{"internal_role":{"$ref":"#/components/schemas/InternalContactType","title":""}},"type":"object","required":["internal_role"],"title":"UpdateInternalContactAssignmentRequest","description":"Request body for updating an internal contact's role on a partner."},"UpdateInternalContactRequest":{"properties":{"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The internal contact's email address."},"given_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The internal contact's given name."},"family_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The internal contact's family name."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The internal contact's full name, if no given/family name."},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The internal contact's phone number."},"job_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The internal contact's job title."}},"type":"object","title":"UpdateInternalContactRequest","description":"Request body for updating an internal contact's fields."},"UpdateKnowledgeInput":{"properties":{"content":{"type":"string","title":"","description":"New article content (full replacement, not a diff)"},"title":{"type":"string","title":"","description":"New title"},"description":{"type":"string","title":"","description":"New description"},"collection":{"type":"string","enum":["cash_application","collections","company","credit_risk","deductions","disputes","payments"],"title":"","description":"New collection","x-speakeasy-enum-format":"union"}},"type":"object","title":"UpdateKnowledgeInput"},"UpdateLoginRequest":{"properties":{"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"header_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"totp_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Base32 TOTP seed for authenticator-app MFA; the sweep mints the one-time code at login. Write-only."},"scope":{"anyOf":[{"items":{"$ref":"#/components/schemas/APPortalScope"},"type":"array"},{"type":"null"}],"title":"","description":"Replace the swept document kinds. Omit to leave unchanged; must be non-empty when supplied."},"login_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The login's own sign-in page when it differs from the provider's default, such as https://go.servicetitan.com/ for a ServiceTitan user outside Enterprise Hub."}},"type":"object","title":"UpdateLoginRequest","description":"Rotate credentials on an existing AP-portal login. Every field is optional; only the\nones supplied are changed. A supplied password clears a prior LOCKED so sweeps resume.\nCredentials are encrypted at rest and never returned."},"UpdateMailboxRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Email owner's name."},"signature_html":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Email signature html."},"is_centralized_inbox":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether this sender is a centralized inbox that accepts net-new inbound emails for routing"},"is_shared":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether this email sender should be shared with the entire organization"},"reply_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"This account's default reply-to"},"send_as":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"","description":"Alias to send outgoing mail from. Must be one of the mailbox's provider-verified email_aliases. Pass null to revert to the primary address."}},"type":"object","title":"UpdateMailboxRequest","description":"Update editable mailbox fields."},"UpdateMemberRequest":{"properties":{"role_id":{"type":"string","title":""}},"type":"object","required":["role_id"],"title":"UpdateMemberRequest"},"UpdateNoteRequest":{"properties":{"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"pinned":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""}},"type":"object","title":"UpdateNoteRequest","description":"Request body for updating a note."},"UpdateOOOPreferencesRequest":{"properties":{"default_backup_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Prefilled into the OOO form's backup picker on open."}},"type":"object","title":"UpdateOOOPreferencesRequest"},"UpdateOrganizationRequest":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Human-facing organization name."},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"URL of the organization's logo."},"timezone":{"anyOf":[{"$ref":"#/components/schemas/Timezone"},{"type":"null"}],"title":"","description":"The organization's IANA timezone."},"currency":{"anyOf":[{"$ref":"#/components/schemas/Currency"},{"type":"null"}],"title":"","description":"The organization's base currency (ISO 4217)."}},"type":"object","title":"UpdateOrganizationRequest","description":"Editable organization fields. Only provided fields are updated."},"UpdatePhoneNumberRequest":{"properties":{"label":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"","description":"Free-text label to disambiguate numbers"}},"type":"object","title":"UpdatePhoneNumberRequest","description":"PATCH semantics: only fields present in the request are applied."},"UpdatePronunciationRequest":{"properties":{"grapheme":{"anyOf":[{"type":"string","maxLength":64,"minLength":2},{"type":"null"}],"title":""},"phoneme":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":""}},"type":"object","title":"UpdatePronunciationRequest","description":"Request body for updating a pronunciation. Omitted fields are left unchanged."},"UpdateReportConfigRequest":{"properties":{"frequency":{"anyOf":[{"$ref":"#/components/schemas/ReportFrequency"},{"type":"null"}],"title":""},"format":{"anyOf":[{"$ref":"#/components/schemas/ReportFormat"},{"type":"null"}],"title":""},"time":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":""},"weekday":{"anyOf":[{"type":"integer","maximum":6.0,"minimum":0.0},{"type":"null"}],"title":""},"recipient_emails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""},"cc_emails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""},"is_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"notify_on_issues_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""}},"type":"object","title":"UpdateReportConfigRequest","description":"Request body for updating a report config."},"UpdateRoleRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":""},"permissions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""},"data_visibility_scope":{"anyOf":[{"$ref":"#/components/schemas/RoleVisibilityScope"},{"type":"null"}],"title":""},"work_visibility_scope":{"anyOf":[{"$ref":"#/components/schemas/RoleVisibilityScope"},{"type":"null"}],"title":""}},"type":"object","title":"UpdateRoleRequest"},"UpdateSMSRequest":{"properties":{"body":{"type":"string","title":"","description":"Updated SMS body text"}},"type":"object","required":["body"],"title":"UpdateSMSRequest","description":"Request body for updating an SMS draft body."},"UpdateSMSTemplateRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"","description":"The name of the SMS template."},"body":{"anyOf":[{"type":"string","maxLength":1600},{"type":"null"}],"title":"","description":"The message template body with Jinja2 variables. Plain text only."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Description of when/how to use this template."},"is_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether this is the default SMS template."}},"type":"object","title":"UpdateSMSTemplateRequest","description":"Request body for updating an SMS template."},"UpdateSegmentInput":{"properties":{"name":{"type":"string","maxLength":128,"minLength":1,"title":"","description":"The name of the segment (case-insensitive unique per org)."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional description of what this segment represents."},"priority":{"type":"integer","minimum":0.0,"title":"","description":"Lower number = higher priority for conflict resolution when partner matches multiple segments."},"clause":{"anyOf":[{"$ref":"#/components/schemas/CustomerSegmentFilter-Input","title":""},{"type":"null"}],"title":"","description":"Typed FQL filter document that determines segment membership."}},"additionalProperties":false,"type":"object","title":"UpdateSegmentInput"},"UpdateStatementScheduleRequest":{"properties":{"frequency":{"anyOf":[{"$ref":"#/components/schemas/StatementFrequency"},{"type":"null"}],"title":""},"day_of_week":{"anyOf":[{"type":"integer","maximum":6.0,"minimum":0.0},{"type":"null"}],"title":""},"day_of_month":{"anyOf":[{"type":"integer","maximum":31.0,"minimum":1.0},{"type":"null"}],"title":""},"week_of_month":{"anyOf":[{"type":"integer","maximum":5.0,"minimum":1.0},{"type":"null"}],"title":""},"email_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Email template ID"},"auto_send":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"attach_xls":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"include_credit_memos":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"include_disputed_items":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"cc":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""},"bcc":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":""},"cc_secondary_contacts":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":""},"external_roles_to_cc":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExternalContactType"},"type":"array"},{"type":"null"}],"title":""},"internal_roles_to_cc":{"anyOf":[{"items":{"$ref":"#/components/schemas/InternalContactType"},"type":"array"},{"type":"null"}],"title":""}},"type":"object","title":"UpdateStatementScheduleRequest"},"UpdateTagRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Hex color code, e.g. #2f85db."}},"type":"object","title":"UpdateTagRequest"},"UpdateUserOOORequest":{"properties":{"backup_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The user covering this OOO."},"start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"The start date of OOO."},"end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"Planned last day of coverage."}},"type":"object","title":"UpdateUserOOORequest"},"UpdateUserRoleRequest":{"properties":{"role":{"$ref":"#/components/schemas/UserRoleType","title":""}},"type":"object","required":["role"],"title":"UpdateUserRoleRequest"},"UpdateUserRoleResponse":{"properties":{"user":{"$ref":"#/components/schemas/User","title":""}},"type":"object","required":["user"],"title":"UpdateUserRoleResponse"},"UploadBankStatementRequest":{"properties":{"account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Bank account ID to associate the statement with"},"filename":{"type":"string","title":"","description":"Name of the file being uploaded"},"mime_type":{"anyOf":[{"type":"string","enum":["application/json","application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.oasis.opendocument.spreadsheet","application/vnd.ms-excel.sheet.macroEnabled.12","application/vnd.ms-excel.sheet.macroenabled.12","application/vnd.ms-excel.sheet.binary.macroEnabled.12","application/vnd.ms-excel.sheet.binary.macroenabled.12","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","text/csv","application/csv","text/plain","text/html","application/xml","message/rfc822","application/vnd.ms-outlook","application/rtf","text/markdown","text/md"],"x-speakeasy-enum-format":"union"},{"type":"string","enum":["image/heic","image/jpeg","image/jpg","image/png","image/gif","image/svg+xml","image/x-eps","image/tiff","image/bmp","image/webp","image/avif"],"x-speakeasy-enum-format":"union"},{"type":"string","enum":["audio/mp3","audio/mp4","audio/mpeg","audio/wav","audio/x-wav","audio/webm"],"x-speakeasy-enum-format":"union"},{"type":"string","enum":["video/MP2T","video/quicktime","video/mp4","video/mpeg","video/webm","video/x-msvideo","video/x-ms-wmv"],"x-speakeasy-enum-format":"union"},{"type":"string","enum":["application/zip","application/x-zip-compressed","application/vnd.rar","application/x-rar-compressed","application/x-7z-compressed"],"x-speakeasy-enum-format":"union"},{"type":"string","const":"unknown"}],"title":"","description":"MIME type of the file"}},"type":"object","required":["filename","mime_type"],"title":"UploadBankStatementRequest","description":"Request schema for uploading a bank statement."},"UploadBankStatementResponse":{"properties":{"presigned_url":{"$ref":"#/components/schemas/PresignedUrl","title":""},"statement":{"$ref":"#/components/schemas/BankStatementListItem","title":""}},"type":"object","required":["presigned_url","statement"],"title":"UploadBankStatementResponse","description":"Response schema for bank statement upload."},"UploadProofDocumentRequest":{"properties":{"filename":{"type":"string","title":"","description":"Name of the file being uploaded"},"mime_type":{"anyOf":[{"type":"string","enum":["application/json","application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.oasis.opendocument.spreadsheet","application/vnd.ms-excel.sheet.macroEnabled.12","application/vnd.ms-excel.sheet.macroenabled.12","application/vnd.ms-excel.sheet.binary.macroEnabled.12","application/vnd.ms-excel.sheet.binary.macroenabled.12","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","text/csv","application/csv","text/plain","text/html","application/xml","message/rfc822","application/vnd.ms-outlook","application/rtf","text/markdown","text/md"],"x-speakeasy-enum-format":"union"},{"type":"string","enum":["image/heic","image/jpeg","image/jpg","image/png","image/gif","image/svg+xml","image/x-eps","image/tiff","image/bmp","image/webp","image/avif"],"x-speakeasy-enum-format":"union"},{"type":"string","enum":["audio/mp3","audio/mp4","audio/mpeg","audio/wav","audio/x-wav","audio/webm"],"x-speakeasy-enum-format":"union"},{"type":"string","enum":["video/MP2T","video/quicktime","video/mp4","video/mpeg","video/webm","video/x-msvideo","video/x-ms-wmv"],"x-speakeasy-enum-format":"union"},{"type":"string","enum":["application/zip","application/x-zip-compressed","application/vnd.rar","application/x-rar-compressed","application/x-7z-compressed"],"x-speakeasy-enum-format":"union"},{"type":"string","const":"unknown"}],"title":"","description":"MIME type of the file"}},"type":"object","required":["filename","mime_type"],"title":"UploadProofDocumentRequest","description":"Request body for uploading a proof document."},"UploadProofDocumentResponse":{"properties":{"presigned_url":{"$ref":"#/components/schemas/PresignedUrl","title":""},"attachment_id":{"type":"string","title":"","description":"Attachment ID to pass when creating the registration"}},"type":"object","required":["presigned_url","attachment_id"],"title":"UploadProofDocumentResponse","description":"Response with presigned URL for uploading a proof document."},"UpsertStaffOrgAccessRequest":{"properties":{"staff_email":{"type":"string","title":""},"organization_id":{"type":"string","title":""},"role_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["staff_email","organization_id","role_id"],"title":"UpsertStaffOrgAccessRequest"},"UsageResponse":{"properties":{"starting_on":{"type":"string","format":"date-time","title":"","description":"Range start (inclusive)."},"ending_before":{"type":"string","format":"date-time","title":"","description":"Range end (exclusive)."},"window":{"type":"string","enum":["DAY","MONTH"],"title":"","description":"Chart bucket size. MONTH is composed from authoritative per-month aggregates.","x-speakeasy-enum-format":"union"},"products":{"items":{"$ref":"#/components/schemas/ProductUsage"},"type":"array","title":"","description":"Catalog products with authoritative metric totals and zero-filled chart windows."}},"type":"object","required":["starting_on","ending_before","window","products"],"title":"billing.UsageResponse","description":"Metered quantities grouped by Stuut product."},"UsageWindow":{"properties":{"start":{"type":"string","format":"date-time","title":"","description":"Window start."},"end":{"type":"string","format":"date-time","title":"","description":"Window end."},"quantity":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal","title":"","description":"Metered UNITS consumed in the window (not money)."},"groups":{"anyOf":[{"additionalProperties":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","format":"decimal"},"type":"object"},{"type":"null"}],"title":"","description":"Dimensional breakdown of `quantity` by the metric's group key (e.g. disputes by activity: {'worked': 3, 'resolved': 1}); null for ungrouped metrics."}},"type":"object","required":["start","end","quantity","groups"],"title":"billing.UsageWindow","description":"One metric's consumption in one chart bucket."},"User":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"email":{"$ref":"#/components/schemas/Email","title":""},"name":{"type":"string","title":""},"given_name":{"type":"string","title":""},"family_name":{"type":"string","title":""},"profile_picture":{"$ref":"#/components/schemas/AttachmentSignedUrl","title":""},"role":{"$ref":"#/components/schemas/UserRoleType","title":"","description":"Org-level role: 'admin', 'manager', or 'member'."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","email","name","given_name","family_name","profile_picture","role","object"],"title":"User","description":"Lightweight user for nested relationships."},"UserListItem":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"email":{"$ref":"#/components/schemas/Email","title":""},"name":{"type":"string","title":""},"given_name":{"type":"string","title":""},"family_name":{"type":"string","title":""},"profile_picture":{"$ref":"#/components/schemas/AttachmentSignedUrl","title":""},"role":{"$ref":"#/components/schemas/UserRoleType","title":"","description":"Org-level role: 'admin', 'manager', or 'member'."},"is_acc_disabled":{"type":"boolean","title":""},"is_ooo":{"type":"boolean","title":""},"backup_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","email","name","given_name","family_name","profile_picture","role","is_acc_disabled","is_ooo","backup_user_id","object"],"title":"UserListItem","description":"User row in the list endpoint with disabled + OOO state attached."},"UserOOO":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"user_id":{"type":"string","title":""},"backup_user_id":{"type":"string","title":"","description":"The user covering this OOO."},"created_by_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"NULL = self-service or system-initiated."},"start_date":{"type":"string","format":"date","title":"","description":"The start date of OOO."},"end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"","description":"Planned last day of coverage."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","user_id","backup_user_id","created_by_id","start_date","end_date","object"],"title":"UserOOO"},"UserOOOPreferences":{"properties":{"default_backup_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Prefilled into the OOO form's backup picker on open."}},"type":"object","required":["default_backup_user_id"],"title":"UserOOOPreferences"},"UserRoleType":{"type":"string","enum":["admin","member","manager"],"title":"UserRoleType"},"UserWorkflowFilter-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/UserWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/UserWorkflowFilter-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Input"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"email":{"$ref":"#/components/schemas/StringComparator","title":"Email"},"familyName":{"$ref":"#/components/schemas/StringComparator","title":"Familyname"},"givenName":{"$ref":"#/components/schemas/StringComparator","title":"Givenname"},"role":{"$ref":"#/components/schemas/EqualityComparator_UserRoleType_","title":"Role"}},"additionalProperties":false,"type":"object","title":"UserWorkflowFilter"},"UserWorkflowFilter-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/UserWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/UserWorkflowFilter-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"id":{"$ref":"#/components/schemas/EqualityComparator_str_","title":"Id"},"createdAt":{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output","title":"Createdat"},"modifiedAt":{"anyOf":[{"$ref":"#/components/schemas/_OrderedComparator_DateTimeOperand_-Output"},{"$ref":"#/components/schemas/NullComparator"}],"title":"Modifiedat"},"email":{"$ref":"#/components/schemas/StringComparator","title":"Email"},"familyName":{"$ref":"#/components/schemas/StringComparator","title":"Familyname"},"givenName":{"$ref":"#/components/schemas/StringComparator","title":"Givenname"},"role":{"$ref":"#/components/schemas/EqualityComparator_UserRoleType_","title":"Role"}},"additionalProperties":false,"type":"object","title":"UserWorkflowFilter"},"ValidateTemplateRequest":{"properties":{"body":{"type":"string","maxLength":1600,"title":""}},"type":"object","required":["body"],"title":"ValidateTemplateRequest","description":"Request body for validating a template."},"ValidateTemplateResponse":{"properties":{"valid":{"type":"boolean","title":""},"errors":{"items":{"type":"string"},"type":"array","title":""},"warnings":{"items":{"type":"string"},"type":"array","title":""},"estimated_characters":{"type":"integer","title":""},"estimated_segments":{"type":"integer","title":""}},"type":"object","required":["valid","errors","warnings","estimated_characters","estimated_segments"],"title":"ValidateTemplateResponse","description":"Response from template validation."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object","x-speakeasy-include":true},"ValidationErrorDetail":{"properties":{"payment_id":{"type":"string","title":""},"error":{"type":"string","title":""}},"type":"object","required":["payment_id","error"],"title":"ValidationErrorDetail","description":"Detail about a validation error for a specific payment."},"ValidationResultSchema":{"properties":{"check":{"type":"string","title":""},"label":{"type":"string","title":""},"passed":{"type":"boolean","title":""},"severity":{"$ref":"#/components/schemas/Severity","title":""},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"available":{"type":"boolean","title":"","default":true}},"type":"object","required":["check","label","passed","severity","detail","available"],"title":"ValidationResult"},"VerificationStatus":{"type":"string","enum":["pending","in_progress","completed","failed"],"title":"VerificationStatus","description":"Status of a business verification request."},"VerificationType":{"type":"string","enum":["business_search","online_presence","lien_search","docket_search","comprehensive"],"title":"VerificationType","description":"Type of business verification to perform."},"VerifyEmailRequest":{"properties":{"email":{"$ref":"#/components/schemas/Email","title":"","description":"The email the code was sent to."},"code":{"type":"string","title":"","description":"The verification code from the email."}},"type":"object","required":["email","code"],"title":"VerifyEmailRequest","description":"Confirm the emailed code and receive a registration token."},"VersionSummary":{"properties":{"version_number":{"type":"integer","title":"Version Number","description":"Sequential version number"},"author_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Id","description":"User who authored this version"},"operation":{"$ref":"#/components/schemas/KnowledgeOperation","description":"Audit operation (created, modified)"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When this version was created"}},"type":"object","required":["version_number","operation","created_at"],"title":"VersionSummary"},"ViewAsRequest":{"properties":{"role_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["role_id"],"title":"ViewAsRequest"},"ViewAsSchema":{"properties":{"role":{"anyOf":[{"$ref":"#/components/schemas/RoleSummary"},{"type":"null"}],"title":""}},"type":"object","required":["role"],"title":"ViewAs"},"VoiceSchema":{"properties":{"id":{"type":"string","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"accent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"age":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"gender":{"type":"string","title":""},"provider":{"type":"string","title":""},"preview_audio_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["id","name","accent","age","gender","provider","preview_audio_url"],"title":"Voice","description":"A selectable voice and its provider-specific preview metadata."},"WatchlistType":{"type":"string","enum":["ofac","csl","cns","fbi","pep","ieo","other"],"title":"WatchlistType","description":"Baselayer watchlist/sanctions screening codes."},"WeeklyProgress":{"properties":{"completed":{"type":"integer","minimum":0.0,"title":""},"total":{"type":"integer","minimum":0.0,"title":""},"open_count":{"type":"integer","minimum":0.0,"title":""},"percentage":{"type":"number","maximum":100.0,"minimum":0.0,"title":"","default":0.0}},"type":"object","required":["completed","total","open_count","percentage"],"title":"WeeklyProgress"},"WellsFargoConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"wells-fargo","title":""},"consumer_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Case-sensitive Wells Fargo consumer key used to request OAuth access tokens."},"gateway_entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Wells Fargo Gateway entity ID assigned during company setup."},"accounts":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Configured Wells Fargo account numbers."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","consumer_key","gateway_entity_id","accounts","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"WellsFargoConnection","description":"Wells Fargo integration connection."},"WellsFargoConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"wells-fargo","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"consumer_key":{"type":"string","title":"","description":"Case-sensitive Wells Fargo consumer key used to request OAuth access tokens."},"consumer_secret":{"type":"string","format":"password","title":"","description":"Case-sensitive Wells Fargo consumer secret used to request OAuth access tokens.","writeOnly":true},"gateway_entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Wells Fargo Gateway entity ID assigned during company setup."},"accounts":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Configured Wells Fargo account numbers."}},"type":"object","required":["provider_name","consumer_key","consumer_secret"],"title":"WellsFargoConnectionCreateBody","description":"Create schema for Wells Fargo connections."},"WellsFargoConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"wells-fargo","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"consumer_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Case-sensitive Wells Fargo consumer key used to request OAuth access tokens."},"consumer_secret":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"Case-sensitive Wells Fargo consumer secret used to request OAuth access tokens."},"gateway_entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Wells Fargo Gateway entity ID assigned during company setup."},"accounts":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"","description":"Configured Wells Fargo account numbers."}},"type":"object","required":["provider_name"],"title":"WellsFargoConnectionUpdate","description":"Update schema for Wells Fargo connections."},"WorkOperation":{"type":"string","enum":["discover_buyers","submit_invoice","sweep","fetch_files"],"title":"WorkOperation"},"WorkdayConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"workday","title":""},"base_url":{"type":"string","title":"","description":"Workday services base URL (e.g., https://services1.myworkday.com)."},"tenant_id":{"type":"string","title":"","description":"Workday tenant identifier used in report and SOAP URLs."},"username":{"type":"string","title":""},"report_owner":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ISU report owner used in RaaS report URLs (e.g., ISU_FINT6024)."},"customers_report_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"FINT report path for customers/contacts (e.g., FINT6024a_Stuut_Customer_Outbound)."},"invoices_report_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"FINT report path for invoices/credit memos (e.g., FINT6024b_Stuut_Customer_Invoice_Data_Outbound)."},"payments_report_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"FINT report path for payments (e.g., FINT6024c_Stuut_Customer_Payments_Outbound)."},"revenue_management_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Revenue Management SOAP web-service path + version segment shared by the write-back operations (e.g., 'Revenue_Management/v46.1'), appended to '{base_url}/ccx/service/{tenant_id}/'. Defaults to 'Revenue_Management/v46.1' when unset."},"company_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Workday Company_Reference_ID that written-back customer payments post under (e.g., 9010). Required when write-back is enabled."},"payment_type_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Workday Payment_Type_ID used when writing back customer payments (e.g., 'EFT', 'EFT Manual', 'Wire'). Overrides the default EFT fallback for non-CHECK/non-WIRE payments. When unset, the standard mapping applies (CHECK→Check_Cheque, WIRE→Wire, everything else→EFT)."},"writeback_enabled":{"type":"boolean","title":"","description":"Whether cash-app payments are written back to Workday (Put_Customer_Payment + Submit_Customer_Deposit). When false the connection is sync-only and the write-back config fields (company_id, revenue_management_path) are not required.","default":false},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","base_url","tenant_id","username","report_owner","customers_report_path","invoices_report_path","payments_report_path","revenue_management_path","company_id","payment_type_id","writeback_enabled","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"WorkdayConnection","description":"Workday integration connection."},"WorkdayConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"workday","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"base_url":{"type":"string","title":"","description":"Workday services base URL (e.g., https://services1.myworkday.com)."},"tenant_id":{"type":"string","title":"","description":"Workday tenant identifier used in report and SOAP URLs."},"username":{"type":"string","title":""},"password":{"type":"string","format":"password","title":"","writeOnly":true},"report_owner":{"type":"string","title":"","description":"ISU report owner used in RaaS report URLs (e.g., ISU_FINT6024)."},"customers_report_path":{"type":"string","title":"","description":"FINT report path for customers/contacts (e.g., FINT6024a_Stuut_Customer_Outbound)."},"invoices_report_path":{"type":"string","title":"","description":"FINT report path for invoices/credit memos (e.g., FINT6024b_Stuut_Customer_Invoice_Data_Outbound)."},"payments_report_path":{"type":"string","title":"","description":"FINT report path for payments (e.g., FINT6024c_Stuut_Customer_Payments_Outbound)."},"revenue_management_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Revenue Management SOAP web-service path + version segment shared by the write-back operations (e.g., 'Revenue_Management/v46.1'), appended to '{base_url}/ccx/service/{tenant_id}/'. Defaults to 'Revenue_Management/v46.1' when unset."},"company_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Workday Company_Reference_ID that written-back customer payments post under (e.g., 9010). Required when write-back is enabled."},"payment_type_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Workday Payment_Type_ID used when writing back customer payments (e.g., 'EFT', 'EFT Manual', 'Wire'). Overrides the default EFT fallback for non-CHECK/non-WIRE payments. When unset, the standard mapping applies (CHECK→Check_Cheque, WIRE→Wire, everything else→EFT)."},"writeback_enabled":{"type":"boolean","title":"","description":"Whether cash-app payments are written back to Workday (Put_Customer_Payment + Submit_Customer_Deposit). When false the connection is sync-only and the write-back config fields (company_id, revenue_management_path) are not required.","default":false}},"type":"object","required":["provider_name","base_url","tenant_id","username","password","report_owner","customers_report_path","invoices_report_path","payments_report_path"],"title":"WorkdayConnectionCreateBody","description":"Create schema for Workday connections."},"WorkdayConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"workday","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Workday services base URL (e.g., https://services1.myworkday.com)."},"tenant_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Workday tenant identifier used in report and SOAP URLs."},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"password":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":""},"report_owner":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ISU report owner used in RaaS report URLs (e.g., ISU_FINT6024)."},"customers_report_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"FINT report path for customers/contacts (e.g., FINT6024a_Stuut_Customer_Outbound)."},"invoices_report_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"FINT report path for invoices/credit memos (e.g., FINT6024b_Stuut_Customer_Invoice_Data_Outbound)."},"payments_report_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"FINT report path for payments (e.g., FINT6024c_Stuut_Customer_Payments_Outbound)."},"revenue_management_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Revenue Management SOAP web-service path + version segment shared by the write-back operations (e.g., 'Revenue_Management/v46.1'), appended to '{base_url}/ccx/service/{tenant_id}/'. Defaults to 'Revenue_Management/v46.1' when unset."},"company_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Workday Company_Reference_ID that written-back customer payments post under (e.g., 9010). Required when write-back is enabled."},"payment_type_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Workday Payment_Type_ID used when writing back customer payments (e.g., 'EFT', 'EFT Manual', 'Wire'). Overrides the default EFT fallback for non-CHECK/non-WIRE payments. When unset, the standard mapping applies (CHECK→Check_Cheque, WIRE→Wire, everything else→EFT)."},"writeback_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"","description":"Whether cash-app payments are written back to Workday (Put_Customer_Payment + Submit_Customer_Deposit). When false the connection is sync-only and the write-back config fields (company_id, revenue_management_path) are not required."}},"type":"object","required":["provider_name"],"title":"WorkdayConnectionUpdate","description":"Update schema for Workday connections."},"Workflow":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"name":{"type":"string","title":"","description":"Admin-facing workflow name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional notes describing the workflow purpose."},"status":{"$ref":"#/components/schemas/WorkflowStatus","title":"","description":"Workflow lifecycle status controlling whether it can evaluate."},"action_execution_strategy":{"$ref":"#/components/schemas/WorkflowActionExecutionStrategy","title":"","description":"Whether matching actions run sequentially, in parallel, or as a percentage split."},"segment_matching_mode":{"anyOf":[{"$ref":"#/components/schemas/WorkflowSegmentMatchingMode"},{"type":"null"}],"title":"","description":"Migration setting returned only to Stuut admins; omitted for customers."},"business_unit_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Optional business unit assigned to this workflow."},"workflow_group_id":{"anyOf":[{"type":"string","pattern":"^wfl_grp_"},{"type":"null"}],"title":"","description":"Optional collection coordinating independent workflows."},"segments":{"items":{"$ref":"#/components/schemas/WorkflowSegment"},"type":"array","title":""},"triggers":{"items":{"$ref":"#/components/schemas/WorkflowTrigger"},"type":"array","title":""},"actions":{"items":{"$ref":"#/components/schemas/WorkflowAction"},"type":"array","title":""},"validation_errors":{"items":{"type":"string"},"type":"array","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","description","status","action_execution_strategy","business_unit_id","workflow_group_id","segments","triggers","actions","validation_errors","object"],"title":"Workflow"},"WorkflowAction":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"position":{"type":"integer","title":"","description":"Execution order within the workflow."},"step_key":{"type":"string","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"action_type":{"type":"string","title":"","description":"Action name, such as send_dunning_communication."},"inputs":{"additionalProperties":true,"type":"object","title":"","description":"Typed JSON action configuration."},"execution_mode":{"$ref":"#/components/schemas/WorkflowExecutionMode","title":"","description":"Whether the action runs automatically, assisted, or manually."},"execution_config":{"anyOf":[{"$ref":"#/components/schemas/WorkflowActionExecutionConfig"},{"type":"null"}],"title":"","description":"Strategy-specific action execution configuration."},"delay_after_previous":{"anyOf":[{"$ref":"#/components/schemas/WorkflowActionDelayConfig"},{"type":"null"}],"title":"","description":"Optional delay after the previous workflow action completes before this action is eligible."},"is_active":{"type":"boolean","title":"","description":"Whether this action can execute."},"clause":{"anyOf":[{"$ref":"#/components/schemas/WorkflowClause-Output"},{"type":"null"}],"title":"","description":"Typed FQL clause that gates execution of this action."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","position","step_key","name","action_type","inputs","execution_mode","execution_config","delay_after_previous","is_active","clause","object"],"title":"WorkflowAction"},"WorkflowActionCatalogItem":{"properties":{"input_schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":""},"output_schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":""},"template_fields":{"items":{"type":"string"},"type":"array","title":""},"email_template_format":{"anyOf":[{"$ref":"#/components/schemas/WorkflowEmailTemplateFormat"},{"type":"null"}],"title":""},"action_type":{"type":"string","title":""},"required_inputs":{"items":{"type":"string"},"type":"array","title":""},"supported_inputs":{"items":{"type":"string"},"type":"array","title":""},"supported_trigger_entities":{"items":{"type":"string"},"type":"array","title":""},"supported_target_entities":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":""},"description":{"type":"string","title":""}},"type":"object","required":["input_schema","output_schema","template_fields","email_template_format","action_type","required_inputs","supported_inputs","supported_trigger_entities","supported_target_entities","description"],"title":"WorkflowActionCatalogItem"},"WorkflowActionDelayConfig":{"properties":{"weeks":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Weeks"},"days":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Days"},"hours":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Hours"}},"additionalProperties":false,"type":"object","title":"WorkflowActionDelayConfig"},"WorkflowActionExecutionConfig":{"properties":{"percentage":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Percentage"}},"additionalProperties":false,"type":"object","required":["percentage"],"title":"WorkflowActionExecutionConfig"},"WorkflowActionExecutionStrategy":{"type":"string","enum":["sequential","parallel","percentage"],"title":"WorkflowActionExecutionStrategy"},"WorkflowActionInputPayload":{"properties":{"action_execution_window":{"anyOf":[{"$ref":"#/components/schemas/ActionExecutionWindowInputs"},{"type":"null"}],"title":""},"sender":{"anyOf":[{"$ref":"#/components/schemas/WorkflowEmailSenderConfig"},{"type":"null"}],"title":""}},"additionalProperties":true,"type":"object","title":"WorkflowActionInputPayload","description":"Common typed inputs accepted by every workflow action."},"WorkflowActionRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":""},"step_key":{"anyOf":[{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$"},{"type":"null"}],"title":""},"action_type":{"type":"string","minLength":1,"title":"","default":"send_dunning_communication"},"inputs":{"$ref":"#/components/schemas/WorkflowActionInputPayload","title":""},"execution_mode":{"$ref":"#/components/schemas/WorkflowExecutionMode","title":"","default":"automatic"},"execution_config":{"anyOf":[{"$ref":"#/components/schemas/WorkflowActionExecutionConfig"},{"type":"null"}],"title":""},"delay_after_previous":{"anyOf":[{"$ref":"#/components/schemas/WorkflowActionDelayConfig"},{"type":"null"}],"title":""},"is_active":{"type":"boolean","title":"","default":true},"clause":{"anyOf":[{"$ref":"#/components/schemas/WorkflowClause-Input"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","title":"WorkflowActionRequest"},"WorkflowActionResultStatus":{"type":"string","enum":["pending","blocked","deferred","running","succeeded","failed","cancelled"],"title":"WorkflowActionResultStatus"},"WorkflowActionRunDetail":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"action_id":{"type":"string","title":""},"position":{"type":"integer","title":""},"action_type":{"type":"string","title":""},"status":{"$ref":"#/components/schemas/WorkflowActionResultStatus","title":"","description":"Action execution lifecycle status."},"started_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"scheduled_for":{"$ref":"#/components/schemas/UTCDateTime","title":"","description":"When a deferred action result becomes eligible to run."},"completed_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"duration_ms":{"type":"integer","title":""},"artifacts":{"items":{"$ref":"#/components/schemas/WorkflowArtifactReference"},"type":"array","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","action_id","position","action_type","status","object"],"title":"WorkflowActionRunDetail"},"WorkflowActivationResponse":{"properties":{"workflow":{"$ref":"#/components/schemas/Workflow","title":""},"activated":{"type":"boolean","title":""},"validation_errors":{"items":{"type":"string"},"type":"array","title":""}},"type":"object","required":["workflow","activated","validation_errors"],"title":"WorkflowActivationResponse"},"WorkflowArtifactReference":{"properties":{"entity_type":{"type":"string","title":""},"entity_id":{"type":"string","title":""},"label":{"type":"string","title":""}},"type":"object","required":["entity_type","entity_id","label"],"title":"WorkflowArtifactReference"},"WorkflowCapabilityVisibility":{"type":"string","enum":["global","internal","limited"],"title":"WorkflowCapabilityVisibility","description":"Who may discover and configure a workflow catalog entry."},"WorkflowCapturedPayloads":{"properties":{"context":{"additionalProperties":true,"type":"object","title":""},"action_inputs":{"additionalProperties":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"type":"object","title":""},"action_outputs":{"additionalProperties":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"type":"object","title":""},"action_errors":{"additionalProperties":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"type":"object","title":""}},"type":"object","title":"WorkflowCapturedPayloads"},"WorkflowCatalog":{"properties":{"event_triggers":{"items":{"type":"string"},"type":"array","title":""},"event_trigger_specs":{"items":{"$ref":"#/components/schemas/WorkflowEventTriggerCatalogItem"},"type":"array","title":""},"schedule_entities":{"additionalProperties":{"items":{"$ref":"#/components/schemas/WorkflowScheduleField"},"type":"array"},"type":"object","title":""},"custom_fields":{"items":{"$ref":"#/components/schemas/CustomFieldSchema"},"type":"array","title":""},"execution_modes":{"items":{"$ref":"#/components/schemas/WorkflowExecutionMode"},"type":"array","title":""},"action_execution_strategies":{"items":{"$ref":"#/components/schemas/WorkflowActionExecutionStrategy"},"type":"array","title":""},"actions":{"items":{"$ref":"#/components/schemas/WorkflowActionCatalogItem"},"type":"array","title":""}},"type":"object","required":["event_triggers","event_trigger_specs","schedule_entities","custom_fields","execution_modes","action_execution_strategies","actions"],"title":"WorkflowCatalog"},"WorkflowClause-Input":{"properties":{"and":{"items":{"$ref":"#/components/schemas/WorkflowClause-Input"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/WorkflowClause-Input"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"event":{"$ref":"#/components/schemas/EventWorkflowFilter-Input","title":"Event","description":"Stable fields from the event envelope."},"triggerAdjustment":{"$ref":"#/components/schemas/AdjustmentWorkflowFilter-Input","title":"Triggeradjustment"},"triggerBankStatement":{"$ref":"#/components/schemas/BankStatementWorkflowFilter-Input","title":"Triggerbankstatement"},"triggerBankTransaction":{"$ref":"#/components/schemas/BankTransactionWorkflowFilter-Input","title":"Triggerbanktransaction"},"triggerCall":{"$ref":"#/components/schemas/CallWorkflowFilter-Input","title":"Triggercall"},"triggerContact":{"$ref":"#/components/schemas/ContactWorkflowFilter-Input","title":"Triggercontact"},"triggerDispute":{"$ref":"#/components/schemas/DisputeWorkflowFilter-Input","title":"Triggerdispute"},"triggerEmail":{"$ref":"#/components/schemas/EmailWorkflowFilter-Input","title":"Triggeremail"},"triggerExport":{"$ref":"#/components/schemas/ExportWorkflowFilter-Input","title":"Triggerexport"},"triggerInvoice":{"$ref":"#/components/schemas/InvoiceWorkflowFilter-Input","title":"Triggerinvoice"},"triggerOrganization":{"$ref":"#/components/schemas/OrganizationWorkflowFilter-Input","title":"Triggerorganization"},"triggerPartner":{"$ref":"#/components/schemas/PartnerWorkflowFilter-Input","title":"Triggerpartner"},"triggerPayment":{"$ref":"#/components/schemas/PaymentWorkflowFilter-Input","title":"Triggerpayment"},"triggerPaymentPlan":{"$ref":"#/components/schemas/PaymentPlanWorkflowFilter-Input","title":"Triggerpaymentplan"},"triggerPaymentPlanInstallment":{"$ref":"#/components/schemas/PaymentPlanInstallmentWorkflowFilter-Input","title":"Triggerpaymentplaninstallment"},"triggerPaymentPromise":{"$ref":"#/components/schemas/PaymentPromiseWorkflowFilter-Input","title":"Triggerpaymentpromise"},"triggerRemittance":{"$ref":"#/components/schemas/RemittanceWorkflowFilter-Input","title":"Triggerremittance"},"triggerSms":{"$ref":"#/components/schemas/SMSWorkflowFilter-Input","title":"Triggersms"},"triggerTask":{"$ref":"#/components/schemas/TaskWorkflowFilter-Input","title":"Triggertask"},"triggerUser":{"$ref":"#/components/schemas/UserWorkflowFilter-Input","title":"Triggeruser"}},"additionalProperties":false,"type":"object","title":"WorkflowClause","description":"A recursive FQL clause over concrete workflow context entities."},"WorkflowClause-Output":{"properties":{"and":{"items":{"$ref":"#/components/schemas/WorkflowClause-Output"},"type":"array","maxItems":20,"minItems":1,"title":"And","description":"Additional filters that must all match."},"or":{"items":{"$ref":"#/components/schemas/WorkflowClause-Output"},"type":"array","maxItems":20,"minItems":1,"title":"Or","description":"Alternative filters where at least one must match."},"event":{"$ref":"#/components/schemas/EventWorkflowFilter-Output","title":"Event","description":"Stable fields from the event envelope."},"triggerAdjustment":{"$ref":"#/components/schemas/AdjustmentWorkflowFilter-Output","title":"Triggeradjustment"},"triggerBankStatement":{"$ref":"#/components/schemas/BankStatementWorkflowFilter-Output","title":"Triggerbankstatement"},"triggerBankTransaction":{"$ref":"#/components/schemas/BankTransactionWorkflowFilter-Output","title":"Triggerbanktransaction"},"triggerCall":{"$ref":"#/components/schemas/CallWorkflowFilter-Output","title":"Triggercall"},"triggerContact":{"$ref":"#/components/schemas/ContactWorkflowFilter-Output","title":"Triggercontact"},"triggerDispute":{"$ref":"#/components/schemas/DisputeWorkflowFilter-Output","title":"Triggerdispute"},"triggerEmail":{"$ref":"#/components/schemas/EmailWorkflowFilter-Output","title":"Triggeremail"},"triggerExport":{"$ref":"#/components/schemas/ExportWorkflowFilter-Output","title":"Triggerexport"},"triggerInvoice":{"$ref":"#/components/schemas/InvoiceWorkflowFilter-Output","title":"Triggerinvoice"},"triggerOrganization":{"$ref":"#/components/schemas/OrganizationWorkflowFilter-Output","title":"Triggerorganization"},"triggerPartner":{"$ref":"#/components/schemas/PartnerWorkflowFilter-Output","title":"Triggerpartner"},"triggerPayment":{"$ref":"#/components/schemas/PaymentWorkflowFilter-Output","title":"Triggerpayment"},"triggerPaymentPlan":{"$ref":"#/components/schemas/PaymentPlanWorkflowFilter-Output","title":"Triggerpaymentplan"},"triggerPaymentPlanInstallment":{"$ref":"#/components/schemas/PaymentPlanInstallmentWorkflowFilter-Output","title":"Triggerpaymentplaninstallment"},"triggerPaymentPromise":{"$ref":"#/components/schemas/PaymentPromiseWorkflowFilter-Output","title":"Triggerpaymentpromise"},"triggerRemittance":{"$ref":"#/components/schemas/RemittanceWorkflowFilter-Output","title":"Triggerremittance"},"triggerSms":{"$ref":"#/components/schemas/SMSWorkflowFilter-Output","title":"Triggersms"},"triggerTask":{"$ref":"#/components/schemas/TaskWorkflowFilter-Output","title":"Triggertask"},"triggerUser":{"$ref":"#/components/schemas/UserWorkflowFilter-Output","title":"Triggeruser"}},"additionalProperties":false,"type":"object","title":"WorkflowClause","description":"A recursive FQL clause over concrete workflow context entities."},"WorkflowEmailSenderConfig":{"properties":{"mode":{"type":"string","enum":["fixed","collector"],"title":"Mode","default":"fixed","x-speakeasy-enum-format":"union"},"email_sender_id":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Email Sender Id"},"fallback_email_sender_id":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Fallback Email Sender Id"}},"additionalProperties":false,"type":"object","title":"WorkflowEmailSenderConfig"},"WorkflowEmailTemplateContext":{"properties":{"context_schema":{"additionalProperties":true,"type":"object","title":""},"recipient_fields":{"items":{"type":"string"},"type":"array","title":""},"default_recipient_available":{"type":"boolean","title":""},"validation_errors":{"items":{"type":"string"},"type":"array","title":""},"validation_messages":{"items":{"type":"string"},"type":"array","title":""}},"type":"object","required":["context_schema","recipient_fields","default_recipient_available","validation_errors","validation_messages"],"title":"WorkflowEmailTemplateContext"},"WorkflowEmailTemplateFormat":{"type":"string","enum":["typed","legacy"],"x-speakeasy-enum-format":"union"},"WorkflowEmailTemplateRequest":{"properties":{"trigger":{"$ref":"#/components/schemas/WorkflowTriggerInput","title":""},"template_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"action":{"$ref":"#/components/schemas/WorkflowActionRequest","title":""},"previous_actions":{"items":{"$ref":"#/components/schemas/WorkflowActionRequest"},"type":"array","title":""},"action_execution_strategy":{"$ref":"#/components/schemas/WorkflowActionExecutionStrategy","title":"","default":"sequential"}},"type":"object","required":["trigger"],"title":"WorkflowEmailTemplateRequest"},"WorkflowEventTriggerCatalogItem":{"properties":{"event_name":{"type":"string","title":""},"visibility":{"$ref":"#/components/schemas/WorkflowCapabilityVisibility","title":""}},"type":"object","required":["event_name","visibility"],"title":"WorkflowEventTriggerCatalogItem"},"WorkflowExecutionMode":{"type":"string","enum":["automatic","assisted","manual"],"title":"WorkflowExecutionMode"},"WorkflowExecutionSource":{"properties":{"source_type":{"$ref":"#/components/schemas/WorkflowTriggerType","title":""},"name":{"type":"string","title":""},"event_id":{"type":"string","title":""},"occurred_at":{"$ref":"#/components/schemas/UTCDateTime","title":""}},"type":"object","required":["source_type","name"],"title":"WorkflowExecutionSource"},"WorkflowGroup":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","pattern":"^([a-z][a-z0-9_]*_)?[0-9a-z]{26}$","format":"typeid","title":"","description":"TypeID identifier","examples":["01h2xcejqtf2nbrexx3vqjhp41","usr_01h2xcejqtf2nbrexx3vqjhp41"]},"name":{"type":"string","title":""},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"workflow_count":{"type":"integer","title":"","default":0},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","description","workflow_count","object"],"title":"WorkflowGroup"},"WorkflowGroupAssignmentRequest":{"properties":{"workflow_group_id":{"anyOf":[{"type":"string","pattern":"^([a-z][a-z0-9_]*_)?[0-9a-z]{26}$","format":"typeid","description":"TypeID identifier","examples":["01h2xcejqtf2nbrexx3vqjhp41","usr_01h2xcejqtf2nbrexx3vqjhp41"]},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","required":["workflow_group_id"],"title":"WorkflowGroupAssignmentRequest"},"WorkflowGroupCreate":{"properties":{"name":{"type":"string","maxLength":256,"minLength":1,"title":""},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","required":["name"],"title":"WorkflowGroupCreate"},"WorkflowGroupUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":""},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","title":"WorkflowGroupUpdate"},"WorkflowIntervalEveryConfig":{"properties":{"months":{"anyOf":[{"$ref":"#/components/schemas/_PositiveScheduleUnit"},{"type":"null"}]},"weeks":{"$ref":"#/components/schemas/_NonNegativeScheduleUnit","default":0},"days":{"$ref":"#/components/schemas/_NonNegativeScheduleUnit","default":0},"hours":{"$ref":"#/components/schemas/_NonNegativeScheduleHour","default":0}},"additionalProperties":false,"type":"object","title":"WorkflowIntervalEveryConfig"},"WorkflowIntervalScheduleInputConfig":{"properties":{"kind":{"type":"string","const":"interval","title":"Kind"},"timezone":{"anyOf":[{"type":"string","format":"zoneinfo"},{"type":"null"}],"title":"Timezone"},"every":{"$ref":"#/components/schemas/WorkflowIntervalEveryConfig"},"days_of_month":{"anyOf":[{"$ref":"#/components/schemas/_DaysOfMonth"},{"type":"null"}]},"day_of_week":{"anyOf":[{"$ref":"#/components/schemas/_DayOfWeek"},{"type":"null"}]},"week_of_month":{"anyOf":[{"$ref":"#/components/schemas/_WeekOfMonth"},{"type":"null"}]},"start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Date"}},"additionalProperties":false,"type":"object","required":["kind","every"],"title":"WorkflowIntervalScheduleInputConfig"},"WorkflowPrivateActionGrant":{"properties":{"action_type":{"type":"string","title":""},"description":{"type":"string","title":""},"granted":{"type":"boolean","title":""}},"type":"object","required":["action_type","description","granted"],"title":"WorkflowPrivateActionGrant"},"WorkflowPrivateTriggerGrant":{"properties":{"event_name":{"type":"string","title":""},"granted":{"type":"boolean","title":""}},"type":"object","required":["event_name","granted"],"title":"WorkflowPrivateTriggerGrant"},"WorkflowRelativeScheduleConfig":{"properties":{"kind":{"type":"string","const":"relative","title":"Kind"},"entity":{"type":"string","minLength":1,"title":"Entity"},"attribute":{"type":"string","minLength":1,"title":"Attribute"},"is_custom":{"type":"boolean","title":"Is Custom","default":false},"direction":{"$ref":"#/components/schemas/WorkflowScheduleDirection","default":"after"},"offset":{"$ref":"#/components/schemas/WorkflowScheduleOffset"},"repeat":{"anyOf":[{"$ref":"#/components/schemas/WorkflowScheduleRepeatConfig"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["kind","entity","attribute"],"title":"WorkflowRelativeScheduleConfig"},"WorkflowRunDetail":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"workflow_id":{"type":"string","title":""},"workflow_name":{"type":"string","title":""},"trigger_id":{"type":"string","title":""},"status":{"$ref":"#/components/schemas/WorkflowRunStatus","title":"","description":"Workflow run lifecycle status."},"source":{"$ref":"#/components/schemas/WorkflowExecutionSource","title":""},"trigger_entity_type":{"type":"string","title":"","description":"Entity type that caused the trigger to fire."},"trigger_entity_id":{"type":"string","title":"","description":"Entity ID that caused the trigger to fire."},"trigger_entity":{"$ref":"#/components/schemas/WorkflowRunEntitySummary","title":""},"action_types":{"items":{"type":"string"},"type":"array","title":""},"started_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"completed_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"duration_ms":{"type":"integer","title":""},"run_key":{"type":"string","title":"","description":"Idempotency key for one actual workflow run."},"action_execution_strategy":{"$ref":"#/components/schemas/WorkflowActionExecutionStrategy","title":"","description":"Sequential, parallel, or percentage strategy snapshotted when the run was created."},"condition_results":{"additionalProperties":true,"type":"object","title":"","description":"Segment and clause evaluation results captured before the run was created."},"payloads_included":{"type":"boolean","title":""},"captured_payloads":{"$ref":"#/components/schemas/WorkflowCapturedPayloads","title":""},"actions":{"items":{"$ref":"#/components/schemas/WorkflowActionRunDetail"},"type":"array","title":""},"timeline":{"items":{"$ref":"#/components/schemas/WorkflowTimelineEvent"},"type":"array","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","workflow_id","workflow_name","trigger_id","status","source","run_key","action_execution_strategy","payloads_included","object"],"title":"WorkflowRunDetail"},"WorkflowRunEntitySummary":{"properties":{"label":{"type":"string","title":""},"customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"customer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"payment_plan_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":""}},"type":"object","required":["label","customer_id","customer_name","payment_plan_id","due_date"],"title":"WorkflowRunEntitySummary"},"WorkflowRunListItem":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"workflow_id":{"type":"string","title":""},"workflow_name":{"type":"string","title":""},"trigger_id":{"type":"string","title":""},"status":{"$ref":"#/components/schemas/WorkflowRunStatus","title":"","description":"Workflow run lifecycle status."},"source":{"$ref":"#/components/schemas/WorkflowExecutionSource","title":""},"trigger_entity_type":{"type":"string","title":"","description":"Entity type that caused the trigger to fire."},"trigger_entity_id":{"type":"string","title":"","description":"Entity ID that caused the trigger to fire."},"trigger_entity":{"$ref":"#/components/schemas/WorkflowRunEntitySummary","title":""},"action_types":{"items":{"type":"string"},"type":"array","title":""},"started_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"completed_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"duration_ms":{"type":"integer","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","workflow_id","workflow_name","trigger_id","status","source","object"],"title":"WorkflowRunListItem"},"WorkflowRunNowRequest":{"properties":{"request_id":{"type":"string","format":"uuid","title":""}},"type":"object","title":"WorkflowRunNowRequest"},"WorkflowRunNowResponse":{"properties":{"workflow_id":{"type":"string","title":""},"request_id":{"type":"string","format":"uuid","title":""},"execution_id":{"type":"string","title":""}},"type":"object","required":["workflow_id","request_id","execution_id"],"title":"WorkflowRunNowResponse"},"WorkflowRunStatus":{"type":"string","enum":["pending","running","succeeded","failed","cancelled"],"title":"WorkflowRunStatus"},"WorkflowScheduleDirection":{"type":"string","enum":["before","after"],"x-speakeasy-enum-format":"union"},"WorkflowScheduleField":{"properties":{"key":{"type":"string","title":""},"is_custom":{"type":"boolean","title":"","default":false}},"type":"object","required":["key","is_custom"],"title":"WorkflowScheduleField"},"WorkflowScheduleInput":{"oneOf":[{"$ref":"#/components/schemas/WorkflowRelativeScheduleConfig"},{"$ref":"#/components/schemas/WorkflowIntervalScheduleInputConfig"}],"discriminator":{"propertyName":"kind","mapping":{"interval":"#/components/schemas/WorkflowIntervalScheduleInputConfig","relative":"#/components/schemas/WorkflowRelativeScheduleConfig"}}},"WorkflowScheduleOffset":{"properties":{"weeks":{"$ref":"#/components/schemas/_NonNegativeScheduleUnit","default":0},"days":{"$ref":"#/components/schemas/_NonNegativeScheduleUnit","default":0}},"additionalProperties":false,"type":"object","title":"WorkflowScheduleOffset"},"WorkflowScheduleRepeatConfig":{"properties":{"every":{"$ref":"#/components/schemas/WorkflowScheduleOffset"},"iterations":{"anyOf":[{"$ref":"#/components/schemas/_PositiveScheduleIterations"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["every"],"title":"WorkflowScheduleRepeatConfig"},"WorkflowSegment":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"name":{"type":"string","title":"","description":"The name of the segment (case-insensitive unique per org)."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","object"],"title":"WorkflowSegment","description":"Customer segment attached to a workflow, trimmed to what list/detail views render.\n\nFull segment details (conditions, partner counts) live on the customer segments endpoints."},"WorkflowSegmentMatchingMode":{"type":"string","enum":["any","highest_priority"],"title":"WorkflowSegmentMatchingMode"},"WorkflowStatus":{"type":"string","enum":["draft","paused","finished","active"],"title":"WorkflowStatus"},"WorkflowSummary":{"properties":{"created_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"modified_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"name":{"type":"string","title":"","description":"Admin-facing workflow name."},"is_active":{"type":"boolean","title":"","description":"Whether the workflow evaluates, matching the `OutreachWorkflow.is_active` column.\n\nAttribution views (`Email.workflow`, inbox summaries) serialize either model\nthrough this shared attribute."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","name","is_active","object"],"title":"WorkflowSummary","description":"Attribution summary for a generic `Workflow`; `is_active` derives from its status.\n\nMirrors `OutreachWorkflowSummary` field for field so attribution views can load the\nsame-named columns for either model, while `object` names the model that was loaded."},"WorkflowTagSchema":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"workflow_id":{"type":"string","title":""},"tag_id":{"type":"string","title":""},"tag":{"$ref":"#/components/schemas/TagSchema","title":""},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","workflow_id","tag_id","tag","object"],"title":"WorkflowTag"},"WorkflowTemplateContext":{"properties":{"context_schema":{"additionalProperties":true,"type":"object","title":""},"input_fields":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":""},"recipient_fields":{"items":{"type":"string"},"type":"array","title":""},"default_recipient_available":{"type":"boolean","title":"","default":false},"validation_errors":{"items":{"type":"string"},"type":"array","title":""}},"type":"object","required":["context_schema","input_fields","recipient_fields","default_recipient_available","validation_errors"],"title":"WorkflowTemplateContext"},"WorkflowTemplateRequest":{"properties":{"trigger":{"$ref":"#/components/schemas/WorkflowTriggerInput","title":""},"action":{"$ref":"#/components/schemas/WorkflowActionRequest","title":""},"previous_actions":{"items":{"$ref":"#/components/schemas/WorkflowActionRequest"},"type":"array","title":""},"action_execution_strategy":{"$ref":"#/components/schemas/WorkflowActionExecutionStrategy","title":"","default":"sequential"}},"type":"object","required":["trigger","action"],"title":"WorkflowTemplateRequest"},"WorkflowTimelineEvent":{"properties":{"event_type":{"$ref":"#/components/schemas/WorkflowTimelineEventType","title":""},"occurred_at":{"$ref":"#/components/schemas/UTCDateTime","title":""},"title":{"type":"string","title":""},"status":{"anyOf":[{"$ref":"#/components/schemas/WorkflowTriggerType"},{"$ref":"#/components/schemas/WorkflowRunStatus"},{"$ref":"#/components/schemas/WorkflowActionResultStatus"}],"title":""},"action_result_id":{"type":"string","title":""}},"type":"object","required":["event_type","occurred_at","title","status"],"title":"WorkflowTimelineEvent"},"WorkflowTimelineEventType":{"type":"string","enum":["source","run_created","action_created","run_started","action_started","action_scheduled","action_completed","run_completed"],"title":"WorkflowTimelineEventType"},"WorkflowTrigger":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"trigger_type":{"$ref":"#/components/schemas/WorkflowTriggerType","title":"","description":"Whether this trigger is event-driven or scheduled."},"event_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Canonical event identity for EVENT triggers (matches Event.name), such as invoice.created. The entity and action are derived from it — see event_entity / event_action."},"schedule_config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"","description":"Scheduled/date-based trigger configuration."},"clause":{"anyOf":[{"$ref":"#/components/schemas/WorkflowClause-Output"},{"type":"null"}],"title":"","description":"Typed FQL clause that gates creation of workflow runs."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","trigger_type","event_name","schedule_config","clause","object"],"title":"WorkflowTrigger"},"WorkflowTriggerInput":{"properties":{"trigger_type":{"$ref":"#/components/schemas/WorkflowTriggerType","title":""},"event_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"schedule_config":{"anyOf":[{"$ref":"#/components/schemas/WorkflowScheduleInput"},{"type":"null"}],"title":""},"clause":{"anyOf":[{"$ref":"#/components/schemas/WorkflowClause-Input"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","required":["trigger_type"],"title":"WorkflowTriggerInput"},"WorkflowTriggerType":{"type":"string","enum":["event","schedule"],"title":"WorkflowTriggerType"},"WorkflowWriteRequest":{"properties":{"name":{"type":"string","maxLength":256,"minLength":1,"title":""},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"business_unit_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"workflow_group_id":{"anyOf":[{"type":"string","pattern":"^([a-z][a-z0-9_]*_)?[0-9a-z]{26}$","format":"typeid","description":"TypeID identifier","examples":["01h2xcejqtf2nbrexx3vqjhp41","usr_01h2xcejqtf2nbrexx3vqjhp41"]},{"type":"null"}],"title":""},"segment_ids":{"items":{"type":"string"},"type":"array","title":"","description":"Customer segments the workflow is restricted to; empty means unrestricted."},"segment_matching_mode":{"$ref":"#/components/schemas/WorkflowSegmentMatchingMode","title":"","description":"Stuut-admin-only migration setting. Any matches any selected segment. Highest priority requires the customer's highest-priority matching segment across the organization to be selected. Omitting this field when updating preserves the existing mode.","default":"any"},"action_execution_strategy":{"$ref":"#/components/schemas/WorkflowActionExecutionStrategy","title":"","default":"sequential"},"trigger":{"$ref":"#/components/schemas/WorkflowTriggerInput","title":""},"action":{"anyOf":[{"$ref":"#/components/schemas/WorkflowActionRequest"},{"type":"null"}],"title":""},"actions":{"items":{"$ref":"#/components/schemas/WorkflowActionRequest"},"type":"array","title":""}},"type":"object","required":["name","trigger"],"title":"WorkflowWriteRequest"},"WritebackSettings":{"properties":{"adapter":{"type":"string","const":"honeywell","title":"Adapter","default":"honeywell"},"p2p_enabled":{"type":"boolean","title":"P2P Enabled","default":false},"disputes_enabled":{"type":"boolean","title":"Disputes Enabled","default":false},"pdf_enabled":{"type":"boolean","title":"Pdf Enabled","default":false},"promised_by":{"type":"string","maxLength":40,"title":"Promised By","default":""},"dispute_reasons":{"additionalProperties":{"additionalProperties":{"type":"string"},"type":"object"},"type":"object","title":"Dispute Reasons"},"dispute_routing":{"anyOf":[{"$ref":"#/components/schemas/HoneywellDisputeRouting"},{"type":"null"}]}},"additionalProperties":false,"type":"object","title":"WritebackSettings"},"ZendeskConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"zendesk","title":""},"subdomain":{"type":"string","title":"","description":"Zendesk subdomain (e.g. 'charteruphelp' for charteruphelp.zendesk.com)."},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Email of the Zendesk agent that owns the API token. Half of the auth credential pair (<email>/token:<api_token>), so treat as sensitive."},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Identifier of a confidential Zendesk OAuth client, used instead of email and API token."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true},"auth_method":{"type":"string","enum":["oauth","api_token"],"title":"","readOnly":true,"x-speakeasy-enum-format":"union"}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","subdomain","email","client_id","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id","auth_method"],"title":"ZendeskConnection","description":"Zendesk integration connection."},"ZendeskConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"zendesk","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"subdomain":{"type":"string","title":"","description":"Zendesk subdomain (e.g. 'charteruphelp' for charteruphelp.zendesk.com)."},"auth_method":{"type":"string","enum":["api_token","oauth"],"title":"","default":"api_token","x-speakeasy-enum-format":"union"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Email of the Zendesk agent that owns the API token. Half of the auth credential pair (<email>/token:<api_token>), so treat as sensitive."},"api_token":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"Zendesk API token."},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Identifier of a confidential Zendesk OAuth client, used instead of email and API token."},"client_secret":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"Secret of the Zendesk OAuth client."}},"type":"object","required":["provider_name","subdomain"],"title":"ZendeskConnectionCreateBody","description":"Create schema for Zendesk connections."},"ZendeskConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"zendesk","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"subdomain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Zendesk subdomain (e.g. 'charteruphelp' for charteruphelp.zendesk.com)."},"auth_method":{"anyOf":[{"type":"string","enum":["api_token","oauth"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":""},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Email of the Zendesk agent that owns the API token. Half of the auth credential pair (<email>/token:<api_token>), so treat as sensitive."},"api_token":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"Zendesk API token."},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Identifier of a confidential Zendesk OAuth client, used instead of email and API token."},"client_secret":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"Secret of the Zendesk OAuth client."}},"type":"object","required":["provider_name"],"title":"ZendeskConnectionUpdate","description":"Update schema for Zendesk connections."},"ZoomInfoCompany":{"properties":{"company_id":{"type":"string","title":""},"name":{"type":"string","title":""},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"type":"object","required":["company_id","name","website"],"title":"ZoomInfoCompany"},"ZoomInfoCompanyBody":{"properties":{"partner_id":{"type":"string","title":""}},"type":"object","required":["partner_id"],"title":"ZoomInfoCompanyBody"},"ZoomInfoCompanyMatch":{"properties":{"company":{"anyOf":[{"$ref":"#/components/schemas/ZoomInfoCompany"},{"type":"null"}],"title":"","description":"The company used for the account, if one was found."},"found_by":{"anyOf":[{"type":"string","enum":["email_domain","company_enrich"],"x-speakeasy-enum-format":"union"},{"type":"null"}],"title":""},"confident":{"type":"boolean","title":"","description":"The company came from the account's email domain and matches its name."},"candidates":{"items":{"$ref":"#/components/schemas/ZoomInfoCompany"},"type":"array","title":"","description":"Other companies matching the account name."}},"type":"object","required":["company","found_by","confident","candidates"],"title":"ZoomInfoCompanyMatch"},"ZoomInfoConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"zoominfo","title":""},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Customer-supplied ZoomInfo OAuth2 client ID. Null means use Stuut's shared account."},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","client_id","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"ZoomInfoConnection","description":"ZoomInfo integration connection."},"ZoomInfoConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"zoominfo","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Customer-supplied ZoomInfo OAuth2 client ID. Null means use Stuut's shared account."},"client_secret":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"Customer-supplied ZoomInfo OAuth2 client secret. Encrypted at rest via AWS KMS."}},"type":"object","required":["provider_name"],"title":"ZoomInfoConnectionCreateBody","description":"Create schema for ZoomInfo connections."},"ZoomInfoConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"zoominfo","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Customer-supplied ZoomInfo OAuth2 client ID. Null means use Stuut's shared account."},"client_secret":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"","description":"Customer-supplied ZoomInfo OAuth2 client secret. Encrypted at rest via AWS KMS."}},"type":"object","required":["provider_name"],"title":"ZoomInfoConnectionUpdate","description":"Update schema for ZoomInfo connections."},"ZoomInfoContactRevealBody":{"properties":{"partner_id":{"type":"string","title":""},"zoominfo_contact_id":{"type":"string","title":""},"company_id":{"type":"string","title":""},"request_key":{"type":"string","maxLength":64,"minLength":8,"title":"","description":"Unique per reveal, so a retry spends nothing."}},"type":"object","required":["partner_id","zoominfo_contact_id","company_id","request_key"],"title":"ZoomInfoContactRevealBody"},"ZoomInfoContactSearchBody":{"properties":{"partner_id":{"type":"string","title":""},"company_id":{"type":"string","title":""}},"type":"object","required":["partner_id","company_id"],"title":"ZoomInfoContactSearchBody"},"ZoomInfoRevealedContact":{"properties":{"zoominfo_contact_id":{"type":"string","title":""},"company_id":{"type":"string","title":""},"company_name":{"type":"string","title":""},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"job_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"has_email":{"type":"boolean","title":""},"has_phone":{"type":"boolean","title":"","description":"ZoomInfo has a phone for them not marked do-not-call."},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"E.164, the direct line else the mobile."}},"type":"object","required":["zoominfo_contact_id","company_id","company_name","first_name","last_name","job_title","has_email","has_phone","email","phone"],"title":"ZoomInfoRevealedContact"},"ZoomInfoSuggestedContact":{"properties":{"zoominfo_contact_id":{"type":"string","title":""},"company_id":{"type":"string","title":""},"company_name":{"type":"string","title":""},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"job_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"has_email":{"type":"boolean","title":""},"has_phone":{"type":"boolean","title":"","description":"ZoomInfo has a phone for them not marked do-not-call."}},"type":"object","required":["zoominfo_contact_id","company_id","company_name","first_name","last_name","job_title","has_email","has_phone"],"title":"ZoomInfoSuggestedContact"},"ZuoraConnection":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"id":{"type":"string","title":""},"is_authentication_pending":{"type":"boolean","title":"","description":"Whether this connection is still pending authentication. This is normally only used for oauth2 connections."},"is_running_setup":{"type":"boolean","title":""},"is_sync_disabled":{"type":"boolean","title":"","description":"Whether sync tasks are disabled. The intent of this column is to temporarily pause sync tasks for maintenance/deploys/etc."},"health":{"anyOf":[{"$ref":"#/components/schemas/IntegrationConnectionHealth"},{"type":"null"}],"title":""},"models":{"items":{"$ref":"#/components/schemas/IntegrationConnectionModel"},"type":"array","title":"","description":"List of unified models synced through this connection"},"next_sync_at":{"anyOf":[{"$ref":"#/components/schemas/UTCDateTime"},{"type":"null"}],"title":"","description":"When the next sync is scheduled to run."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"owner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"requires_setup":{"type":"boolean","title":""},"provider_name":{"type":"string","const":"zuora","title":""},"base_url":{"type":"string","title":"","description":"Zuora API base URL provided by client during connection setup. Required."},"client_id":{"type":"string","title":"","description":"OAuth2 client ID for Zuora API access. Required."},"client_secret":{"type":"string","format":"password","title":"","description":"OAuth2 client secret for Zuora API access. Required.","writeOnly":true},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The authorization url for this connection.","readOnly":true},"provider":{"$ref":"#/components/schemas/IntegrationProvider","title":"","description":"The integration provider for this connection.","readOnly":true},"is_configured":{"type":"boolean","title":"","description":"Whether the integration connection is configured.","readOnly":true},"missing_settings":{"items":{"type":"string"},"type":"array","title":"","description":"List of missing settings.","readOnly":true},"is_healthy":{"type":"boolean","title":"","description":"Whether the integration connection is healthy. This is determined based on a few checks:\n1. Configuration (e.g. settings)\n2. Connection\n3. Permissions","readOnly":true},"linked_integration_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"The v1 linked integration id.","readOnly":true}},"type":"object","required":["created_at","modified_at","id","is_authentication_pending","is_running_setup","is_sync_disabled","health","models","next_sync_at","name","owner_id","requires_setup","provider_name","base_url","client_id","client_secret","object","authorization_url","provider","is_configured","missing_settings","is_healthy","linked_integration_id"],"title":"ZuoraConnection","description":"Zuora integration connection."},"ZuoraConnectionCreateBody":{"properties":{"provider_name":{"type":"string","const":"zuora","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."},"base_url":{"type":"string","title":"","description":"Zuora API base URL provided by client during connection setup. Required."},"client_id":{"type":"string","title":"","description":"OAuth2 client ID for Zuora API access. Required."},"client_secret":{"type":"string","format":"password","title":"","description":"OAuth2 client secret for Zuora API access. Required.","writeOnly":true}},"type":"object","required":["provider_name","base_url","client_id","client_secret"],"title":"ZuoraConnectionCreateBody","description":"Create schema for Zuora connections."},"ZuoraConnectionUpdate":{"properties":{"provider_name":{"type":"string","const":"zuora","title":""},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"User defined name of the linked integration."}},"type":"object","required":["provider_name"],"title":"ZuoraConnectionUpdate","description":"Update schema for Zuora connections."},"_AllocationPayload":{"properties":{"invoice_number":{"anyOf":[{"$ref":"#/components/schemas/Identifier"},{"type":"null"}],"title":""},"credit_memo_number":{"anyOf":[{"$ref":"#/components/schemas/Identifier"},{"type":"null"}],"title":""},"fiscal_year":{"$ref":"#/components/schemas/Identifier","title":""},"company_code":{"$ref":"#/components/schemas/Identifier","title":""},"amount":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"format":"decimal","title":""}},"additionalProperties":false,"type":"object","required":["fiscal_year","company_code","amount"],"title":"_AllocationPayload"},"_BillingAddress":{"properties":{"line1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"line2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":""}},"additionalProperties":false,"type":"object","title":"_BillingAddress"},"_DayOfMonth":{"type":"integer","maximum":31.0,"minimum":1.0},"_DayOfWeek":{"type":"integer","maximum":6.0,"minimum":0.0},"_DaysOfMonth":{"items":{"$ref":"#/components/schemas/_DayOfMonth"},"type":"array","minItems":1},"_NonNegativeScheduleHour":{"type":"integer","maximum":87600.0,"minimum":0.0},"_NonNegativeScheduleUnit":{"type":"integer","maximum":3650.0,"minimum":0.0},"_OrderedComparator_DateOperand_-Input":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_DateOperand_"},{"$ref":"#/components/schemas/OrderedComparator_DateOperand_"}]},"_OrderedComparator_DateOperand_-Output":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_DateOperand_"},{"$ref":"#/components/schemas/OrderedComparator_DateOperand_"}]},"_OrderedComparator_DateTimeOperand_-Input":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_DateTimeOperand_"},{"$ref":"#/components/schemas/OrderedComparator_DateTimeOperand_"}]},"_OrderedComparator_DateTimeOperand_-Output":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_DateTimeOperand_"},{"$ref":"#/components/schemas/OrderedComparator_DateTimeOperand_"}]},"_OrderedComparator_Decimal_-Input":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Decimal_-Input"},{"$ref":"#/components/schemas/OrderedComparator_Decimal_-Input"}]},"_OrderedComparator_Decimal_-Output":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_Decimal_-Output"},{"$ref":"#/components/schemas/OrderedComparator_Decimal_-Output"}]},"_OrderedComparator_int_":{"anyOf":[{"$ref":"#/components/schemas/EqualityComparator_int_"},{"$ref":"#/components/schemas/OrderedComparator_int_"}]},"_PositiveScheduleIterations":{"type":"integer","maximum":3650.0,"exclusiveMinimum":0.0},"_PositiveScheduleUnit":{"type":"integer","maximum":3650.0,"exclusiveMinimum":0.0},"_UnknownPartInput":{"properties":{"type":{"type":"string","title":""}},"additionalProperties":true,"type":"object","required":["type"],"title":"_UnknownPartInput","description":"Catch-all for part types we don't need to parse (tool calls, reasoning, etc.)."},"_WeekOfMonth":{"type":"integer","maximum":5.0,"minimum":1.0},"stuut__api_service__v2__routers__aether__schemas__file__File":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"mime_type":{"type":"string","title":"Mime Type"},"bucket":{"type":"string","title":"Bucket"},"object_key":{"type":"string","title":"Object Key"},"upload_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upload Url"},"upload_headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Upload Headers"},"size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size"}},"type":"object","required":["id","name","mime_type","bucket","object_key"],"title":"File"},"stuut__api_service__v2__routers__billing__schemas__billing__Address":{"properties":{"line1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Street address, line 1."},"line2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Street address, line 2."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"City."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"State / province."},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Postal / ZIP code."},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Two-letter ISO country code."}},"type":"object","required":["line1","line2","city","state","postal_code","country"],"title":"billing.Address","description":"The customer's Stripe billing address."},"stuut__api_service__v2__routers__customer_segments__schemas__ReorderSegmentsInput":{"properties":{"segment_ids":{"items":{"type":"string"},"type":"array","title":"","description":"Ordered segment IDs (first gets priority 0)"}},"type":"object","required":["segment_ids"],"title":"ReorderSegmentsInput"},"stuut__api_service__v2__routers__segments__schemas__ReorderSegmentsInput":{"properties":{"segment_ids":{"items":{"type":"string"},"type":"array","title":"","description":"Ordered segment IDs (first gets priority 0)"}},"additionalProperties":false,"type":"object","required":["segment_ids"],"title":"ReorderSegmentsInput"},"stuut__api_service__v2__schemas__orm__Address":{"properties":{"created_at":{"type":"string","format":"date-time","title":""},"modified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":""},"line1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Address line 1 (e.g., street, PO Box, or company name)."},"line2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Address line 2 (e.g., apartment, suite, unit, or building)."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"City, district, suburb, town, or village."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"State, county, province, or region."},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"ZIP or postal code."},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"","description":"Two-letter country code. [(ISO 3166 alpha-2)](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)"},"object":{"type":"string","title":"","description":"String representing the object's type. Objects of the same type share the same value.","readOnly":true}},"type":"object","required":["created_at","modified_at","line1","line2","city","state","postal_code","country","object"],"title":"Address","description":"A postal address (e.g. a partner's billing address)."},"stuut__core__aether__playbook__types__File":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"File ID"},"name":{"type":"string","title":"Name","description":"File name"},"mime_type":{"type":"string","title":"Mime Type","description":"MIME type"},"size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size","description":"File size in bytes"},"presigned_url":{"type":"string","title":"Presigned Url","readOnly":true}},"type":"object","required":["id","name","mime_type","presigned_url"],"title":"File"},"APIError":{"description":"Response model that follows RFC7807 (https://datatracker.ietf.org/doc/html/rfc7807)","properties":{"type":{"description":"The error code.","title":"Type","type":"string"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Human-readable description of this specific problem.","title":"Detail","x-speakeasy-error-message":true},"status":{"description":"The HTTP status code.","exclusiveMaximum":600,"minimum":100,"title":"Status","type":"integer"},"title":{"description":"Short human-readable summary of the problem.","title":"Title","type":"string","x-speakeasy-error-message":true}},"required":["type","status","title"],"title":"APIError","type":"object"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}},"responses":{"HTTPValidationError":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"BadRequestError":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIError"}}}},"UnauthorizedError":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIError"}}}},"ForbiddenError":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIError"}}}},"NotFoundError":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIError"}}}},"TooManyRequestsError":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIError"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIError"}}}}}},"tags":[{"name":"adjustments","description":"Operations for managing payment adjustments (fees, discounts, write-offs).","x-displayName":"Adjustments"},{"name":"aether","description":"Operations for aether.","x-displayName":"Aether"},{"name":"analytics","description":"Operations for retrieving analytics and dashboard data.","x-displayName":"Analytics"},{"name":"ap-portals","description":"Operations for AP portal accounts: on-demand sweeps, the swept invoice, order, and submission rows, and the job tracker (sweep/submit runs with their screenshot artifacts).","x-displayName":"AP Portals"},{"name":"api-keys","description":"Operations for creating, listing, and revoking organization API keys.","x-displayName":"Api Keys"},{"name":"artifacts","description":"Operations for tables and charts saved out of an Ask Stuut answer.","x-displayName":"Artifacts"},{"name":"assistant","description":"Operations for the in-app chat assistant.","x-displayName":"Assistant"},{"name":"audit-log","description":"Operations for retrieving the organization's audit log.","x-displayName":"Audit Log"},{"name":"bank-accounts","description":"Operations for retrieving and managing bank accounts.","x-displayName":"Bank Accounts"},{"name":"bank-statements","description":"Operations for retrieving and managing bank statements.","x-displayName":"Bank Statements"},{"name":"bank-transactions","description":"Operations for retrieving and managing bank transactions.","x-displayName":"Bank Transactions"},{"name":"billing","description":"Manage an organization's billing.","x-displayName":"Billing"},{"name":"blacklist","description":"Operations for the domain blacklist barred from self-service registration.","x-displayName":"Blacklist"},{"name":"bulk-actions","description":"Operations for submitting asynchronous bulk actions and tracking their progress.","x-displayName":"Bulk Actions"},{"name":"business-identities","description":"Operations for reading the legal entities behind the organization's phone numbers.","x-displayName":"Business Identities"},{"name":"business-units","description":"Operations for listing and managing business units.","x-displayName":"Business Units"},{"name":"call-agent","description":"Operations for initiating and managing real-time voice calls with partners.","x-displayName":"Call Agent"},{"name":"call-agent-scenarios","description":"Manage call-agent scenarios.","x-displayName":"Call Agent Scenarios"},{"name":"call-settings","description":"Operations for managing an organization's call execution settings.","x-displayName":"Call Settings"},{"name":"calls","description":"Operations for retrieving and managing voice call records.","x-displayName":"Calls"},{"name":"cash-app","description":"Operations for cash application — matching incoming payments to invoices.","x-displayName":"Cash Application"},{"name":"chats","description":"Operations for managing chat conversations.","x-displayName":"Chats"},{"name":"collections-readiness","description":"Operations for reporting on partners blocked from outbound collections because of missing data.","x-displayName":"Collections Readiness"},{"name":"credit-memos","description":"Operations for retrieving and searching credit memos.","x-displayName":"Credit Memos"},{"name":"custom-fields","description":"Operations for retrieving custom field definitions.","x-displayName":"Custom Fields"},{"name":"custom-table-templates","description":"Operations for managing custom table templates used in email template variables.","x-displayName":"Custom Table Templates"},{"name":"customer-segments","description":"Operations for managing customer segments.","x-displayName":"Customer Segments"},{"name":"deductions-knowledge","description":"Operations for managing deduction processing knowledge entries.","x-displayName":"Deductions Knowledge"},{"name":"dunning-states","description":"Operations for managing customer dunning states.","x-displayName":"Dunning States"},{"name":"email-threads","description":"Operations for managing email threads.","x-displayName":"Email Threads"},{"name":"emails","description":"Operations for retrieving and managing emails.","x-displayName":"Emails"},{"name":"exports","description":"Operations for requesting and retrieving async data exports.","x-displayName":"Exports"},{"name":"integrations","description":"Operations for managing integrations with external systems (e.g. ERP, CRM, etc.).","x-displayName":"Integrations"},{"name":"internal-contacts","description":"Operations for managing internal contacts (CSMs, account managers, etc.) and their assignments to partners.","x-displayName":"Internal Contacts"},{"name":"invoice-pdf-templates","description":"Operations for an organization's invoice PDF templates: which sections and fields appear, remit-to and banking details, layout choice and accent colour, plus a preview rendered from a sample invoice.","x-displayName":"Invoice PDF Templates"},{"name":"invoices","description":"Operations for retrieving and managing invoices.","x-displayName":"Invoices"},{"name":"kyb","description":"Operations for Know Your Business (KYB) verification.","x-displayName":"KYB"},{"name":"ledger-accounts","description":"Operations for retrieving and managing ledger accounts.","x-displayName":"Ledger Accounts"},{"name":"mailbox-settings","description":"Operations for an organization's mailbox provider configuration: Microsoft admin consent, shared-mailbox discovery, and provider health.","x-displayName":"Mailbox Settings"},{"name":"mailboxes","description":"Operations for connecting, listing, updating, and archiving user and shared mailboxes, including delegated OAuth sign-in.","x-displayName":"Mailboxes"},{"name":"media","description":"Operations for signing direct-to-storage media uploads (e.g. signature images).","x-displayName":"Media"},{"name":"members","description":"Operations for managing the organization's members and their roles.","x-displayName":"Members"},{"name":"notes","description":"Operations for creating and managing notes attached to customers, disputes, and invoices.","x-displayName":"Notes"},{"name":"onboarding","description":"Operations for driving product onboarding flows and steps.","x-displayName":"Onboarding"},{"name":"organization","description":"Operations for reading and updating the current organization's profile and branding.","x-displayName":"Organization"},{"name":"organizations","description":"Operations for retrieving and managing the current organization.","x-displayName":"Organizations"},{"name":"outreach-workflows","description":"Operations for managing automated collections outreach workflows.","x-displayName":"Outreach Workflows"},{"name":"partners","description":"Operations for retrieving and managing customers.","x-displayName":"Partners"},{"name":"payment-plans","description":"Operations for creating and managing partner payment plans.","x-displayName":"Payment Plans"},{"name":"payments","description":"Operations for approving and managing payments.","x-displayName":"Payments"},{"name":"phone-numbers","description":"Operations for managing the organization's provisioned phone numbers.","x-displayName":"Phone Numbers"},{"name":"profile","description":"Operations for the authenticated user's own profile.","x-displayName":"Profile"},{"name":"pronunciations","description":"Operations for managing per-organization pronunciation overrides applied to agent speech.","x-displayName":"Pronunciations"},{"name":"register-temp","description":"Temporary self-service registration endpoints (pending the proper registration flow).","x-displayName":"Register Temp"},{"name":"report-configs","description":"Operations for managing report configurations (frequency, recipients, schedule).","x-displayName":"Report Configs"},{"name":"roles","description":"Operations for managing roles and the permissions they grant.","x-displayName":"Roles"},{"name":"sales-order-cases","description":"Operations for retrieving sales order cases and their events.","x-displayName":"Sales Order Cases"},{"name":"sales-orders","description":"Operations for retrieving and managing sales orders.","x-displayName":"Sales Orders"},{"name":"segments","description":"Operations for creating and managing customer segments.","x-displayName":"Segments"},{"name":"sigma","description":"Operations for generating signed Sigma analytics embed URLs.","x-displayName":"Sigma"},{"name":"sms","description":"Operations for sending SMS messages and listing SMS conversations.","x-displayName":"SMS"},{"name":"sms-campaign-registration","description":"Operations for managing A2P 10DLC SMS campaign registration.","x-displayName":"SMS Campaign Registration"},{"name":"sms-templates","description":"Operations for defining, storing, and managing parameterized SMS message templates.","x-displayName":"SMS Templates"},{"name":"sso","description":"Operations for managing the organization's SSO connection.","x-displayName":"SSO"},{"name":"staff-org-access","description":"Internal operations for managing the role staff resolve to per customer organization.","x-displayName":"Staff Org Access"},{"name":"tags","description":"Operations for managing tags and applying them to entities.","x-displayName":"Tags"},{"name":"tasks","description":"Operations for reviewing and managing task email drafts.","x-displayName":"Tasks"},{"name":"users","description":"Operations for retrieving and managing users.","x-displayName":"Users"},{"name":"users-ooo","description":"Operations for managing user out-of-office (OOO) status and coverage.","x-displayName":"Users OOO"},{"name":"workflow-groups","description":"Operations for organizing workflows and coordinating their pending runs.","x-displayName":"Workflow Groups"},{"name":"workflows","description":"Operations for managing generic workflow definitions.","x-displayName":"Workflows"}],"security":[{"HTTPBearer":[]}],"x-speakeasy-retries":{"strategy":"backoff","backoff":{"initialInterval":500,"maxInterval":60000,"maxElapsedTime":3600000,"exponent":1.5},"statusCodes":["401"],"retryConnectionErrors":true}}