atteq API
  • Guides
  • Recipes
  • Cookbook
  • API Reference
Information
agents
    List AgentsgetCreate AgentpostDocument AttachmentsgetGet VersiongetEdit DraftpatchReplace Draft GraphputPublish VersionpostGet AgentgetDelete AgentdeleteCopy AgentpostGet DraftgetGet Agent MapgetPending ChangesgetList PlacementsgetRestore VersionpostList VersionsgetGet Mapget
voice_agent
    Open Browser CallpostEnd Browser CalldeleteGet Agent Test LinkgetGet Bridge CeilinggetSet Bridge Ceilingpatch
ai_profiles
    Get Ai Profile CapabilitiesgetList Live SettingsgetCreate Live SettingspostDelete Live SettingsdeleteUpdate Live SettingspatchList Llm SettingsgetCreate Llm SettingspostDelete Llm SettingsdeleteUpdate Llm SettingspatchList ProfilesgetCreate ProfilepostGet ProfilegetDelete ProfiledeleteUpdate ProfilepatchCopy ProfilepostSet Text SectionputSet Voice SectionputList Stt SettingsgetCreate Stt SettingspostDelete Stt SettingsdeleteUpdate Stt SettingspatchList Tts SettingsgetCreate Tts SettingspostDelete Tts SettingsdeleteUpdate Tts SettingspatchList Vad SettingsgetCreate Vad SettingspostDelete Vad SettingsdeleteUpdate Vad Settingspatch
analyst
    List Agent FindingsgetCall Back FindingpostDismiss FindingpostUndo Finding DismissaldeleteTeach FindingpostWatch FindingpostList Question ChartsgetList Tracked QuestionsgetCreate Tracked QuestionpostGet Question Search CostgetSearch For Tracked QuestionpostPropose Tracked QuestionpostDelete Tracked QuestiondeleteUpdate Tracked QuestionpatchGet Reading SwitchgetSet Reading SwitchputGet Agent Summaryget
analytics
    List ChartsgetCreate ChartpostPreview ChartpostGet ChartgetDelete ChartdeleteUpdate ChartpatchRun ChartpostList DatasetsgetList BoardsgetCreate BoardpostGet TraversalgetGet BoardgetDelete BoarddeleteUpdate Boardpatch
authentication
    List InvitationsgetInvite MemberpostRevoke InvitationdeleteResend InvitationpostList MembersgetRemove MemberdeleteGet Member Conversation AccessgetSet Member Conversation AccesspatchSet Member FlagspatchSet Member RolepatchGet OrganizationgetUpdate OrganizationpatchGet Role FlagsgetSet Role Flagspatch
automations
    List AutomationsgetCreate AutomationpostGet AutomationgetDelete AutomationdeleteUpdate AutomationpatchSet Automation EnabledputGet Automation MapgetRun AutomationpostList Automation RunsgetGet Automation Runget
billable-metrics
    List MetricsgetUsage SummarygetGet Metricget
outbound_calls
    Place CallpostList CampaignsgetCreate CampaignpostGet CampaigngetDelete CampaigndeleteUpdate CampaignpatchActivate CampaignpostLink CollectionpostAdd ContactspostAdd Contacts From CollectionpostRemove Contacts From CollectionpostSet Campaign HoursputPreview Campaign HourspostPause CampaignpostGet Campaign SummarygetExclude ContactpostInclude Contactpost
channels
    List ChannelsgetCreate ChannelpostList Thread SubjectsgetClose Channel ThreadpostList Thread DecisionsgetGet Thread Contact FilegetHand Thread To AgentpostList Thread MailgetGet Prepared ReplygetAsk Again For Prepared ReplypostDiscard Prepared ReplypostSend Prepared ReplypostReply On Channel ThreadpostGet ChannelgetDelete ChanneldeleteUpdate ChannelpatchSend On ChannelpostList Channel ThreadsgetList RostergetCreate Roster EntrypostGet Own Roster EntrygetGet Roster EntrygetDelete Roster EntrydeleteUpdate Roster EntrypatchAdd Roster AddresspostChange Roster AddressputRemove Roster Addressdelete
custom-data
    List CollectionsgetCreate CollectionpostList Collection NamesgetGet CollectiongetDelete CollectiondeleteUpdate CollectionpatchAdd FieldpostDelete FielddeleteUpdate FieldpatchImport RecordspostPlan ImportpostPropose ImportpostGet ImportgetList RecordsgetCreate RecordpostBulk Delete RecordspostBulk Set FieldpostCount RecordsgetList Records Of ContactgetDelete Records Of ContactdeleteGet RecordgetDelete RecorddeleteUpdate Recordpatch
connections
    List ConnectionsgetCreate ConnectionpostCreate Forwarded AddresspostCreate Mail ServerpostDiscover Mail ServerpostAuthorize Microsoft MailboxpostList ProvidersgetGet ConnectiongetDelete ConnectiondeleteUpdate ConnectionpatchGet Forwarded AddressgetCheck Forwarded AddresspostList Person GrantsgetSet Person GrantputRemove Person GrantdeleteGet Mail ServergetUpdate Mail ServerpatchList Mail Server FoldersgetEnter Mail Server PasswordputChange Mail Server ServersputTest Mail Server AgainpostGet Microsoft MailboxgetUpdate Microsoft MailboxpatchList Microsoft Mailbox FoldersgetConsent To Microsoft Mailbox WritespostWithdraw Microsoft Mailbox Writesdelete
custom-tools
    List Custom ToolsgetCreate Custom ToolpostGet Custom ToolgetDelete Custom TooldeleteGet Custom Tool DraftgetEdit Custom Tool DraftpatchPublish Custom ToolpostRestore Custom Tool VersionpostTry Custom ToolpostList Custom Tool Versionsget
rag
    List DocumentsgetUpload DocumentpostSearch DocumentspostGet DocumentgetDelete DocumentdeleteDownload DocumentgetReingest Documentpost
flows
    List FlowsgetCreate FlowpostGet FlowgetDelete FlowdeleteRename FlowpatchAdd Flow EdgepostDelete Flow EdgedeleteSet Entry SteppatchAdd SteppostDelete StepdeleteUpdate SteppatchTest FlowpostList Flow Testsget
dynamic_context
    Create GraphpostGet GraphgetDelete GraphdeleteAdd EdgepostDelete EdgedeleteAdd NodepostDelete NodedeleteUpdate NodepatchSet Rootput
inbox
    Get Inbox Open CountgetSet Inbox PreferencespatchGet Inbox RailgetCreate Inbox ViewpostDelete Inbox ViewdeleteUpdate Inbox Viewpatch
handoff
    Assign Threadpost
interactions
    List InteractionsgetCount InteractionsgetGet InteractiongetSet Conversation LabelspostGet TracegetGet TranscriptgetList LabelsgetCreate LabelpostDelete LabeldeleteUpdate Labelpatch
legal
    Agree To Processing AgreementpostAgree To TermspostLegal BoxesgetList Legal DocumentsgetRead Legal DocumentgetList Legal VersionsgetRead Legal VersiongetDownload Legal VersiongetOrganization Legal HistorygetOwn Legal HistorygetObject To SubprocessorspostWithdraw ObjectionpostLegal Pendingget
not-a-tool
    Agree To Processing AgreementpostAgree To TermspostObject To SubprocessorspostWithdraw Objectionpost
memory
    List MemoriesgetList Memory LinesgetCreate Memory LinepostDelete Memory LinedeleteUpdate Memory LinepatchList Memory PeoplegetGet Memory PersongetForget PersondeleteGet Memory SwitchgetSet Memory SwitchputWipe ContactdeleteGet Conversation MemorygetRecall MemoriespostGet MemorygetDelete MemorydeletePatch Memorypatch
notifications
    List InboxgetGet Unread CountgetMark ReadpostMark Unreaddelete
recipes
    List RecipesgetList Installed RecipesgetGet Installed RecipegetUninstall RecipedeleteSet Recipe EnabledputUpdate Recipe ParameterspatchUpdate RecipepostInstall Recipepost
data-retention
    Get RetentiongetSet Retentionpatch
text
    Open ConversationpostClose ConversationpostAnswer ConfirmationpostGet Sent FilegetSend MessagepostSet Modepatch
tools
    List ToolsgetCreate ToolpostList BuiltinsgetImport Mcp ServerpostImport OpenapipostPreview Openapi ImportpostSuggest Tool ExamplespostGet ToolgetDelete TooldeleteUpdate ToolpatchTest ToolpostList Tool Testsget
trunks
    List Transfer DirectorygetCreate Transfer Directory EntrypostGet Transfer Directory EntrygetDelete Transfer Directory EntrydeleteUpdate Transfer Directory EntrypatchList TrunksgetCreate TrunkpostGet TrunkgetDelete TrunkdeleteUpdate TrunkpatchList Forward Recordsget
Schemas
powered by Zudoku
attek API
attek API

dynamic_context


Create Graph

POST
/api/v1/graphs

Create an empty node graph. Use only when a new graph is needed that belongs to nothing yet — an agent version already has one, reached with get_draft.

Create Graph › Responses

Successful Response

A whole graph: its nodes, its edges, and which node is the root.
GraphOut
​EdgeOut[] · required
id
​string · uuid · required
​NodeOut[] · required
​required
POST/api/v1/graphs
curl /api/v1/graphs \ --request POST \ --header 'Authorization: Bearer <token>'
Example Responses
{ "edges": [ { "condition": "condition", "id": "00000000-0000-0000-0000-000000000000", "source_node_id": "00000000-0000-0000-0000-000000000000", "target_node_id": "00000000-0000-0000-0000-000000000000" } ], "id": "00000000-0000-0000-0000-000000000000", "nodes": [ { "id": "00000000-0000-0000-0000-000000000000", "instructions": "instructions", "label": "label", "name": "string", "origin_id": "00000000-0000-0000-0000-000000000000", "position": { "x": 0, "y": 0 }, "tool_ids": [ "00000000-0000-0000-0000-000000000000" ] } ], "root_node_id": "00000000-0000-0000-0000-000000000000" }
json
application/json

Get Graph

GET
/api/v1/graphs/{graph_id}

Read a conversation graph whole: its root node, every node (name, instructions, position, the tools it offers) and every edge with its condition. An agent's draft names its graph's id.

Get Graph › path Parameters

graph_id
​string · uuid · required

Get Graph › Responses

Successful Response

A whole graph: its nodes, its edges, and which node is the root.
GraphOut
​EdgeOut[] · required
id
​string · uuid · required
​NodeOut[] · required
​required
GET/api/v1/graphs/{graph_id}
curl /api/v1/graphs/:graph_id \ --header 'Authorization: Bearer <token>'
Example Responses
{ "edges": [ { "condition": "condition", "id": "00000000-0000-0000-0000-000000000000", "source_node_id": "00000000-0000-0000-0000-000000000000", "target_node_id": "00000000-0000-0000-0000-000000000000" } ], "id": "00000000-0000-0000-0000-000000000000", "nodes": [ { "id": "00000000-0000-0000-0000-000000000000", "instructions": "instructions", "label": "label", "name": "string", "origin_id": "00000000-0000-0000-0000-000000000000", "position": { "x": 0, "y": 0 }, "tool_ids": [ "00000000-0000-0000-0000-000000000000" ] } ], "root_node_id": "00000000-0000-0000-0000-000000000000" }
json
application/json

Delete Graph

DELETE
/api/v1/graphs/{graph_id}

Delete a graph with all its nodes and edges, permanently. Use only on a graph that belongs to nothing — never an agent version's own graph.

Delete Graph › path Parameters

graph_id
​string · uuid · required

Delete Graph › Responses

Successful Response

No data returned
DELETE/api/v1/graphs/{graph_id}
curl /api/v1/graphs/:graph_id \ --request DELETE \ --header 'Authorization: Bearer <token>'
Example Responses
No example specified for this content type

Add Edge

POST
/api/v1/graphs/{graph_id}/edges

Connect two nodes of a conversation graph. Use when adding one new path the agent may take between two existing nodes. condition is the label the model chooses by. Refused (422, reasons) when another edge leaving the same node already carries it (compared trimmed, case-insensitively): two branches with one label is a branch the model can never take, and it is never stored.

This is the agent graph. A flow's steps are connected with add_flow_edge.

Add Edge › path Parameters

graph_id
​string · uuid · required

Add Edge › Request Body

EdgeIn
source_node_id
​string · uuid · required
target_node_id
​string · uuid · required
condition
​string
Default:

Add Edge › Responses

Successful Response

EdgeOut
condition
​string · required
id
​string · uuid · required
source_node_id
​string · uuid · required
target_node_id
​string · uuid · required
POST/api/v1/graphs/{graph_id}/edges
curl /api/v1/graphs/:graph_id/edges \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "condition": "", "source_node_id": "00000000-0000-0000-0000-000000000000", "target_node_id": "00000000-0000-0000-0000-000000000000" }'
Example Request Body
{ "condition": "", "source_node_id": "00000000-0000-0000-0000-000000000000", "target_node_id": "00000000-0000-0000-0000-000000000000" }
json
Example Responses
{ "condition": "condition", "id": "00000000-0000-0000-0000-000000000000", "source_node_id": "00000000-0000-0000-0000-000000000000", "target_node_id": "00000000-0000-0000-0000-000000000000" }
json
application/json

Delete Edge

DELETE
/api/v1/graphs/{graph_id}/edges/{edge_id}

Remove an edge from a conversation graph. Use when a path between two nodes should no longer exist.

This is the agent graph; for a flow, use delete_flow_edge.

Delete Edge › path Parameters

graph_id
​string · uuid · required
edge_id
​string · uuid · required

Delete Edge › Responses

Successful Response

No data returned
DELETE/api/v1/graphs/{graph_id}/edges/{edge_id}
curl /api/v1/graphs/:graph_id/edges/:edge_id \ --request DELETE \ --header 'Authorization: Bearer <token>'
Example Responses
No example specified for this content type

Add Node

POST
/api/v1/graphs/{graph_id}/nodes

Add a node to a conversation graph. Use when adding one new situation to a graph that already exists; use replace_draft_graph to write a whole designed graph at once instead.

A node is one place the conversation can be: its own context for the model, and its own tools. name is what a person calls the node in the editor and in history — set it when a graph has more than a few nodes; the model never reads it, so it is not where behaviour goes. instructions are. Refused (422, reasons) when tool_ids would offer a tool name the agent already has, globally or on another node.

Add Node › path Parameters

graph_id
​string · uuid · required

Add Node › Request Body

NodeIn
instructions
​string
Default:
​
​Position

Where a node sits in the visual editor.

tool_ids
​string[]

Add Node › Responses

Successful Response

NodeOut
id
​string · uuid · required
instructions
​string · required
label
​string · required
​required
origin_id
​string · uuid · required
​Position · required

Where a node sits in the visual editor.

tool_ids
​string[] · required
POST/api/v1/graphs/{graph_id}/nodes
curl /api/v1/graphs/:graph_id/nodes \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "instructions": "", "name": "string", "position": { "x": 0, "y": 0 }, "tool_ids": [ "00000000-0000-0000-0000-000000000000" ] }'
Example Request Body
{ "instructions": "", "name": "string", "position": { "x": 0, "y": 0 }, "tool_ids": [ "00000000-0000-0000-0000-000000000000" ] }
json
Example Responses
{ "id": "00000000-0000-0000-0000-000000000000", "instructions": "instructions", "label": "label", "name": "string", "origin_id": "00000000-0000-0000-0000-000000000000", "position": { "x": 0, "y": 0 }, "tool_ids": [ "00000000-0000-0000-0000-000000000000" ] }
json
application/json

Delete Node

DELETE
/api/v1/graphs/{graph_id}/nodes/{node_id}

Delete a node and every edge touching it, permanently. Use when removing one situation from the graph.

Delete Node › path Parameters

graph_id
​string · uuid · required
node_id
​string · uuid · required

Delete Node › Responses

Successful Response

No data returned
DELETE/api/v1/graphs/{graph_id}/nodes/{node_id}
curl /api/v1/graphs/:graph_id/nodes/:node_id \ --request DELETE \ --header 'Authorization: Bearer <token>'
Example Responses
No example specified for this content type

Update Node

PATCH
/api/v1/graphs/{graph_id}/nodes/{node_id}

Change a node's name, instructions, position, or tools. Use when editing one existing node; only the fields sent change. name is what a person calls the node; the model never reads it, and null clears it. instructions is for what the agent should say and how it should behave in this situation — never a business fact, which is a record in a collection, and never a procedure, which is a flow. tool_ids is where a tool reaches the agent in one situation: instance ids from create_tool (a flow registered as a tool included), the query_/get_/write_ tools a collection created, or a published custom tool's tool_id. For a tool the agent should have in every node, or one that runs before or after the conversation, use edit_draft. Refused (422, reasons) when tool_ids would offer a tool name the agent already has. This edits the draft's graph; nothing takes traffic until publish_version.

Update Node › path Parameters

graph_id
​string · uuid · required
node_id
​string · uuid · required

Update Node › Request Body

Partial edit — only the provided fields change. `name` is the one field whose `None` is a value: sending `"name": null` (or a blank string) clears the name, while leaving the key out keeps it. The service reads `model_fields_set` to tell the two apart.
NodeUpdate
​
​
​
​

Update Node › Responses

Successful Response

NodeOut
id
​string · uuid · required
instructions
​string · required
label
​string · required
​required
origin_id
​string · uuid · required
​Position · required

Where a node sits in the visual editor.

tool_ids
​string[] · required
PATCH/api/v1/graphs/{graph_id}/nodes/{node_id}
curl /api/v1/graphs/:graph_id/nodes/:node_id \ --request PATCH \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "instructions": "string", "name": "string", "position": { "x": 0, "y": 0 }, "tool_ids": [ "00000000-0000-0000-0000-000000000000" ] }'
Example Request Body
{ "instructions": "string", "name": "string", "position": { "x": 0, "y": 0 }, "tool_ids": [ "00000000-0000-0000-0000-000000000000" ] }
json
Example Responses
{ "id": "00000000-0000-0000-0000-000000000000", "instructions": "instructions", "label": "label", "name": "string", "origin_id": "00000000-0000-0000-0000-000000000000", "position": { "x": 0, "y": 0 }, "tool_ids": [ "00000000-0000-0000-0000-000000000000" ] }
json
application/json

Set Root

PUT
/api/v1/graphs/{graph_id}/root/{node_id}

Set the node a conversation starts at. Use when designating or changing which node is the graph's entry point.

A graph without a root cannot be published.

Set Root › path Parameters

graph_id
​string · uuid · required
node_id
​string · uuid · required

Set Root › Responses

Successful Response

No data returned
PUT/api/v1/graphs/{graph_id}/root/{node_id}
curl /api/v1/graphs/:graph_id/root/:node_id \ --request PUT \ --header 'Authorization: Bearer <token>'
Example Responses
No example specified for this content type

flowsinbox