DinoAI Programmable Agents API
This feature is available on workspaces with DinoAI programmable agents enabled.
Requests must be authenticated with a Paradime API key that has access to the DinoAI Agents API.
Use the GraphQL endpoint shown to you when you generate your API key — it is region-specific (for example
api.paradime.ioorapi.us.paradime.io).
The DinoAI Agents GraphQL API lets you drive DinoAI programmable agents directly over HTTP.
This API offers a comprehensive set of operations to trigger agent runs from YAML-defined agents, send ad-hoc prompts, follow up on a live session with new messages, and poll for run state.
Trigger an agent run
Triggers a DinoAI programmable agent run. At least one of agent or message must be provided.
agent (String): Name of the YAML-defined agent to load (matches the file name under .dinoai/agents/ without the .yml extension).
message (String): Custom prompt appended to the agent's context. When only agent is provided, the run starts with the agent's role/goal/backstory.
slack (DinoAiAgentSlackInput): Optional Slack routing for this run. If provided, both subfields are required.
channel(String!): Slack channel ID the run should post into (e.g."C0123456789").threadTs(String!): Slack thread timestamp the run should reply in (e.g."1714142436.001200").
TriggerDinoAiAgentRun
ok(Boolean!): Whether the run was accepted.agentSessionId(String!): The session ID for the new run. Use this for follow-ups and polling.status(String!): Always"queued"on accept. PolldinoaiAgentRunto track live status.
mutation TriggerDinoaiAgentRun(
$agent: String
$message: String
$slack: DinoAiAgentSlackInput
) {
triggerDinoaiAgentRun(agent: $agent, message: $message, slack: $slack) {
ok
agentSessionId
status
}
}Send a follow-up message
Sends a follow-up message to an active DinoAI agent session. The agent pod stays alive for up to 24 hours since the last message; follow-ups resume the same conversation with full context.
agentSessionId (String!): The session ID of the running agent.
message (String!): The follow-up message to send.
SendDinoAiAgentMessage
ok(Boolean!): Whether the message was accepted.agentSessionId(String!): The session ID the message was attached to.status(String!): Always"queued"on accept.
Get an agent run
Fetches the current state of a DinoAI agent run.
agentSessionId (String!): The session ID returned by triggerDinoaiAgentRun or sendDinoaiAgentMessage.
DinoAiAgentRun
ok(Boolean!): Whether the lookup succeeded.agentSessionId(String!): The session ID.status(DinoAiAgentRunStatus!): One ofQUEUED,RUNNING,COMPLETED,FAILED.messages([DinoAiAgentMessage!]!): Full conversation transcript. Each message has:ts(Float!): Unix epoch timestamp (seconds, fractional).role(String!): Author role (e.g.user,assistant).content(String!): Message body.
childSessionIds([String!]!): Session IDs of sub-agents spawned during the run.workspaceUid(String!): Workspace the run belongs to.
Example: curl
Last updated
Was this helpful?