Download OpenAPI specification:Download
Rippletide is a platform for building hallucination-free conversational AI agents. This API allows you to manage your agents, knowledge base, and more.
Manage your conversational AI agents. Create, retrieve, update, and delete agents that will handle user interactions.
| name required | string (Name) |
| prompt required | string (Prompt) |
{- "name": "string",
- "prompt": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "prompt": "string",
- "short_description": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "prompt": "string",
- "short_description": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}| agent_id required | string <uuid> (Agent Id) |
Name (string) or Name (null) (Name) | |
Prompt (string) or Prompt (null) (Prompt) |
{- "name": "string",
- "prompt": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "prompt": "string",
- "short_description": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}| agent_id required | string <uuid> (Agent Id) |
| property name* additional property | any |
[- { }
]null{- "agent": {
- "count": 0,
- "first_created_at": "2019-08-24T14:15:22Z",
- "last_updated_at": "2019-08-24T14:15:22Z"
}, - "q_and_a": {
- "count": 0,
- "first_created_at": "2019-08-24T14:15:22Z",
- "last_updated_at": "2019-08-24T14:15:22Z"
}, - "agent_conversation": {
- "count": 0,
- "first_created_at": "2019-08-24T14:15:22Z",
- "last_updated_at": "2019-08-24T14:15:22Z"
}
}Questions And Answers (QAndAs) are used by your agent to answers user's questions. QAndAs are used as the only source of truth by the agent in order to avoid hallucination. QAndAs can be organized with tags for better categorization and retrieval.
{- "q_and_as": [
- {
- "question": "string",
- "answer": "string",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}| question required | string (Question) |
| answer required | string (Answer) |
| agent_id required | string <uuid> (Agent Id) |
{- "question": "string",
- "answer": "string",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978"
}{- "question": "string",
- "answer": "string",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}{- "question": "string",
- "answer": "string",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}| q_and_a_id required | string <uuid> (Q And A Id) |
Question (string) or Question (null) (Question) | |
Answer (string) or Answer (null) (Answer) |
{- "question": "string",
- "answer": "string"
}{- "question": "string",
- "answer": "string",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}| agent_id required | string <uuid> (Agent Id) |
{- "q_and_as": [
- {
- "question": "string",
- "answer": "string",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}Organize your knowledge base content with tags. Tags can be applied to QAndAs to enable more sophisticated content organization and retrieval.
| name required | string (Name) |
Description (string) or Description (null) (Description) |
{- "name": "string",
- "description": "string"
}{- "name": "string",
- "description": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}| tag_id required | string <uuid> (Tag Id) |
Name (string) or Name (null) (Name) | |
Description (string) or Description (null) (Description) |
{- "name": "string",
- "description": "string"
}{- "name": "string",
- "description": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Define guardrails to ensure your agents operate within predefined boundaries. Guardrails help maintain consistency and safety in agent responses
{- "guardrails": [
- {
- "type": "string",
- "instruction": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}| type required | string (Type) Value: "action" |
| instruction required | string (Instruction) |
| agent_id required | string <uuid> (Agent Id) |
{- "type": "action",
- "instruction": "string",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978"
}{- "type": "string",
- "instruction": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}| guardrail_id required | string <uuid> (Guardrail Id) |
{- "guardrails": [
- {
- "type": "string",
- "instruction": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}| guardrail_id required | string <uuid> (Guardrail Id) |
"action" (string) or Type (null) (Type) | |
Instruction (string) or Instruction (null) (Instruction) |
{- "type": "action",
- "instruction": "string"
}{- "type": "string",
- "instruction": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}| agent_id required | string <uuid> (Agent Id) |
{- "guardrails": [
- {
- "type": "string",
- "instruction": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}Configure and manage what your agent can do given the information it has so far. State predicates also indicate the agent which information to ask the user
{- "state_predicate": {
- "question_to_evaluate": "string",
- "re_evaluate": false,
- "transition_kind": "branch",
- "evaluated_value": "string",
- "ai_instructions": {
- "on_not_evaluated": [
- "string"
], - "on_evaluated": [
- "string"
]
}
}
}| agent_id required | string <uuid> (Agent Id) |
required | EndStateNode (object) or GoToNextStateNode (object) or BranchingStateNode (object) or State Predicate (null) (State Predicate) | ||||||||||
Any of
| |||||||||||
{- "state_predicate": {
- "question_to_evaluate": "string",
- "re_evaluate": false,
- "transition_kind": "branch",
- "evaluated_value": "string",
- "ai_instructions": {
- "on_not_evaluated": [
- "string"
], - "on_evaluated": [
- "string"
]
}
}
}{- "state_predicate": {
- "question_to_evaluate": "string",
- "re_evaluate": false,
- "transition_kind": "branch",
- "evaluated_value": "string",
- "ai_instructions": {
- "on_not_evaluated": [
- "string"
], - "on_evaluated": [
- "string"
]
}
}
}| q_and_a_id required | string <uuid> (Q And A Id) |
| tag_id required | string <uuid> (Tag Id) |
{- "q_and_a_id": "7b12c5f7-63cf-4067-b620-d45366617b58",
- "tag_id": "39c8a0b3-fbe8-4801-95bf-e8a0792edf1d"
}{- "q_and_a_id": "7b12c5f7-63cf-4067-b620-d45366617b58",
- "tag_id": "39c8a0b3-fbe8-4801-95bf-e8a0792edf1d",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Retrieve all QAndAs associated with a specific tag.
Args: tag_id: UUID of the tag pg_session: Database session dependency request: FastAPI request object for workspace context
Returns: dict: Dictionary containing a list of QAndAs for the specified tag
Raises: HTTPException: 404 if the tag is not found or not accessible
| tag_id required | string <uuid> (Tag Id) |
[- {
- "q_and_a_id": "7b12c5f7-63cf-4067-b620-d45366617b58",
- "tag_id": "39c8a0b3-fbe8-4801-95bf-e8a0792edf1d",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]The route your users user to interact with your agents. Send messages to an agent and receive a response based on their configuration and knowledge base
| agent_uuid required | string <uuid> (Agent Uuid) |
| conversation_uuid required | string <uuid> (Conversation Uuid) |
| user_message required | string (User Message) |
{- "conversation_uuid": "f81f7689-2025-4406-9d8e-9f897908652d",
- "user_message": "string"
}{- "answer": "string"
}[- {
- "id": "string",
- "name": "string",
- "status": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "duration": 0,
- "description": "string",
- "agent_type": "string",
- "model": "string"
}
]Get a list of chat runs/conversations for a specific agent.
| agent_id required | string <uuid> (Agent Id) |
[- {
- "id": "string",
- "name": "string",
- "status": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "duration": 0,
- "description": "string",
- "agent_type": "string",
- "model": "string"
}
]Get all chat messages for a specific run.
| run_id required | string (Run Id) |
[- {
- "id": "string",
- "content": "string",
- "sender": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "step_id": "string",
- "decision_tree": { },
- "process_execution_analysis": {
- "success": true,
- "cluster_level_1": "string",
- "cluster_level_2": "string",
- "cluster_level_3": "string"
}
}
]| x-rippletide-agent-id required | string <uuid> (X-Rippletide-Agent-Id) |
| x-rippletide-conversation-id required | string <uuid> (X-Rippletide-Conversation-Id) |
required | Array of objects (Messages) | ||||
Array
| |||||
{- "messages": [
- {
- "content": "string",
- "role": "string"
}
]
}null{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "description": "string",
- "what_to_do": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}| action_id required | string <uuid> (Action Id) |
Name (string) or Name (null) (Name) | |
Description (string) or Description (null) (Description) | |
What To Do (string) or What To Do (null) (What To Do) |
{- "name": "string",
- "description": "string",
- "what_to_do": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "description": "string",
- "what_to_do": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}| agent_id required | string <uuid> (Agent Id) |
{- "actions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "description": "string",
- "what_to_do": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}| name required | string (Name) |
| description required | string (Description) |
| what_to_do required | string (What To Do) |
| agent_id required | string <uuid> (Agent Id) |
{- "name": "string",
- "description": "string",
- "what_to_do": "string",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "description": "string",
- "what_to_do": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}| agent_id required | string <uuid> (Agent Id) |
| description | string (Description) Default: "" |
{- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "description": ""
}{- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "description": "",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "postgoux_workspace_id": "string"
}| question required | string (Question) |
| expected_answer required | string (Expected Answer) |
| evaluation_id required | string <uuid> (Evaluation Id) |
{- "question": "string",
- "expected_answer": "string",
- "evaluation_id": "4108ec8e-6efd-4b9b-bace-0bb4c296c324"
}{- "question": "string",
- "expected_answer": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "evaluation_id": "4108ec8e-6efd-4b9b-bace-0bb4c296c324"
}| question_id required | string <uuid> (Question Id) |
| question required | string (Question) |
| expected_answer required | string (Expected Answer) |
{- "question": "string",
- "expected_answer": "string"
}{- "question": "string",
- "expected_answer": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "evaluation_id": "4108ec8e-6efd-4b9b-bace-0bb4c296c324"
}| evaluation_id required | string <uuid> (Evaluation Id) |
{- "evaluation_id": "4108ec8e-6efd-4b9b-bace-0bb4c296c324"
}{- "questions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "question": "string",
- "expected_answer": "string"
}
]
}[- {
- "evaluation_id": "4108ec8e-6efd-4b9b-bace-0bb4c296c324",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]Limit (integer) or Limit (null) (Limit) | |
Retry (integer) or Retry (null) (Retry) |
| evaluation_id required | string <uuid> (Evaluation Id) |
| agent_kind | string (Agent Kind) Default: "rippletide" Enum: "rippletide" "http" |
ExecutionHttpAgentArgument (object) or null |
{- "evaluation_id": "4108ec8e-6efd-4b9b-bace-0bb4c296c324",
- "agent_kind": "rippletide",
- "agent_arguments": {
- "agent_url": "string",
- "http_verb": "GET",
- "headers": { },
- "path_to_result": [ ]
}
}{- "evaluation_execution": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "evaluation_results": [
- {
- "evaluation_execution_id": "c8738ca3-900d-462e-9e81-4bed8e9ec984",
- "evaluation_question_id": "d151010c-da45-4359-b3da-8a03a6bd0e13",
- "given_answer": "string",
- "interpreted_answer": "string",
- "interpreted_answer_is_correct": true,
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
]
}[- {
- "evaluation_execution_id": "c8738ca3-900d-462e-9e81-4bed8e9ec984",
- "evaluation_question_id": "d151010c-da45-4359-b3da-8a03a6bd0e13",
- "given_answer": "string",
- "interpreted_answer": "string",
- "interpreted_answer_is_correct": true,
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
]| agent_uuid required | string <uuid> (Agent Uuid) |
| conversation_uuid required | string <uuid> (Conversation Uuid) |
| user_message required | string (User Message) |
{- "conversation_uuid": "f81f7689-2025-4406-9d8e-9f897908652d",
- "user_message": "string"
}{- "answer": "string"
}| x-rippletide-agent-id required | string <uuid> (X-Rippletide-Agent-Id) |
| property name* additional property | any |
{ }nullProxy endpoint to test tool API calls server-side to avoid CORS issues.
Expected request body: { "url": "https://api.example.com/endpoint", "method": "GET", "headers": {"x-api-key": "..."}, "body": {"param": "value"} # Will be converted to query params for GET }
| property name* additional property | any |
{ }null