Skip to main content

API Overview

The Deeployd API provides programmatic access to all platform features. Build custom integrations, automate workflows, and embed AI agents in your applications.

Base URL

https://api.deeployd.com/v1

Authentication

All API requests require authentication via API key:

curl https://api.deeployd.com/v1/agents \
-H "Authorization: Bearer YOUR_API_KEY"

See API Authentication for details on creating and managing API keys.

Request Format

Content Type

All requests should use JSON:

curl https://api.deeployd.com/v1/agents \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "My Agent", "systemPrompt": "..."}'

Query Parameters

For GET requests, use query parameters:

GET /v1/agents?limit=10&offset=0&teamId=team-123

Response Format

Success Response

{
"data": {
"id": "agent-123",
"name": "My Agent",
"createdAt": "2024-01-15T10:00:00Z"
}
}

List Response

{
"data": [
{ "id": "agent-1", "name": "Agent 1" },
{ "id": "agent-2", "name": "Agent 2" }
],
"pagination": {
"total": 50,
"limit": 10,
"offset": 0,
"hasMore": true
}
}

Error Response

{
"error": {
"code": "VALIDATION_ERROR",
"message": "Name is required",
"details": {
"field": "name",
"reason": "required"
}
}
}

HTTP Status Codes

CodeMeaning
200Success
201Created
204No Content (successful delete)
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing API key
403Forbidden - Insufficient permissions
404Not Found
409Conflict - Resource already exists
422Unprocessable Entity - Validation error
429Rate Limited
500Internal Server Error

Error Codes

CodeDescription
AUTHENTICATION_ERRORInvalid API key
AUTHORIZATION_ERRORMissing permissions
VALIDATION_ERRORInvalid request parameters
NOT_FOUNDResource doesn't exist
CONFLICTResource conflict
RATE_LIMITEDToo many requests
INTERNAL_ERRORServer error

Rate Limits

PlanRequests/minBurst
Starter60100
Pro300500
Business10002000
EnterpriseCustomCustom

Rate limit headers included in responses:

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 299
X-RateLimit-Reset: 1705312200

Pagination

List endpoints support pagination:

GET /v1/agents?limit=20&offset=40
ParameterTypeDefaultMax
limitinteger20100
offsetinteger0-

Response includes pagination info:

{
"pagination": {
"total": 150,
"limit": 20,
"offset": 40,
"hasMore": true
}
}

Filtering

Many endpoints support filtering:

GET /v1/agents?teamId=team-123&state=active
GET /v1/conversations?userId=user-456&startDate=2024-01-01

Sorting

Use sort parameter:

GET /v1/agents?sort=createdAt:desc
GET /v1/conversations?sort=updatedAt:asc

Versioning

The API uses date-based versioning:

curl https://api.deeployd.com/v1/agents \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Deeployd-Version: 2024-12-01"

Without a version header, requests use the latest version. Pin to a specific version for stability.

SDKs

Official SDKs available:

TypeScript/JavaScript

npm install @deeployd/sdk
import { DeepLoyd } from '@deeployd/sdk';

const client = new DeepLoyd({ apiKey: 'YOUR_API_KEY' });

const agent = await client.agents.create({
name: 'My Agent',
systemPrompt: 'You are a helpful assistant...'
});

Python

pip install deeployd
from deeployd import DeepLoyd

client = DeepLoyd(api_key="YOUR_API_KEY")

agent = client.agents.create(
name="My Agent",
system_prompt="You are a helpful assistant..."
)

API Endpoints

Agents

MethodEndpointDescription
GET/agentsList agents
POST/agentsCreate agent
GET/agents/:idGet agent
PUT/agents/:idUpdate agent
DELETE/agents/:idDelete agent
POST/agents/:id/chatChat with agent

Conversations

MethodEndpointDescription
GET/conversationsList conversations
GET/conversations/:idGet conversation
DELETE/conversations/:idDelete conversation
POST/conversations/:id/endEnd conversation

Tasks

MethodEndpointDescription
GET/tasksList tasks
POST/tasksCreate task
GET/tasks/:idGet task
POST/tasks/:id/runRun task
DELETE/tasks/:idCancel task

Workflows

MethodEndpointDescription
GET/workflowsList workflows
POST/workflowsCreate workflow
GET/workflows/:idGet workflow
PUT/workflows/:idUpdate workflow
DELETE/workflows/:idDelete workflow
POST/workflows/:id/runRun workflow

Memory

MethodEndpointDescription
GET/memoryGet memory value
PUT/memorySet memory value
DELETE/memoryDelete memory
POST/memory/searchSearch memories

Templates

MethodEndpointDescription
GET/templatesList templates
POST/templatesCreate template
GET/templates/:idGet template
PUT/templates/:idUpdate template
DELETE/templates/:idDelete template

Webhooks

Receive real-time events via webhooks:

POST /v1/webhooks
{
"url": "https://your-app.com/webhooks",
"events": ["conversation.completed", "task.failed"]
}

See Webhooks for details.

Testing

Use test mode for development:

const client = new DeepLoyd({
apiKey: 'sk_test_...', // Test key
testMode: true
});

Test mode:

  • Uses sandbox environment
  • No charges incurred
  • Data not persisted
  • Rate limits relaxed

Support

  • Documentation: You're here!
  • API Status: status.deeployd.com
  • Discord: discord.gg/deeployd
  • Email: api-support@deeployd.com

Next: Learn about API Authentication to secure your API requests.