Skip to content

API Overview

The Futurity API allows you to programmatically access and control Futurity features from your own applications.

All API requests are made to:

https://api.futurity.work/api/v2

The API uses Bearer token authentication. Include your token in the Authorization header:

Terminal window
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
https://api.futurity.work/api/v2/whoami

See Authentication for details on obtaining tokens.

HeaderRequiredDescription
AuthorizationYesBearer token
Content-TypeFor POST/PUTapplication/json
AcceptNoapplication/json (default)

For requests with a body, send JSON:

Terminal window
curl -X POST \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "My Workflow"}' \
https://api.futurity.work/api/v2/workflows

All responses are JSON:

{
"data": {
"id": "wf_123",
"name": "My Workflow",
"status": "active"
}
}
CodeMeaning
200Success
201Created
204No Content (successful deletion)
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Name is required",
"details": {
"field": "name"
}
}
}
CodeMeaning
400Bad Request - Invalid input
401Unauthorized - Invalid or missing token
403Forbidden - Insufficient permissions
404Not Found - Resource doesn’t exist
429Too Many Requests - Rate limited
500Internal Error - Server issue

API requests are rate limited by plan:

PlanRequests/minute
Standard60
Professional300
EnterpriseCustom

Rate limit headers are included in responses:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 55
X-RateLimit-Reset: 1704067200

List endpoints support pagination:

Terminal window
GET /api/v2/workflows?limit=20&offset=0
ParameterDefaultMaxDescription
limit20100Items per page
offset0-Starting position

Response includes pagination info:

{
"data": [...],
"pagination": {
"total": 150,
"limit": 20,
"offset": 0,
"hasMore": true
}
}

Use query parameters to filter:

Terminal window
GET /api/v2/workflows?status=active&created_after=2024-01-01

Sort results with sort parameter:

Terminal window
GET /api/v2/workflows?sort=-created_at
  • Ascending: sort=field
  • Descending: sort=-field
EndpointDescription
GET /api/v2/whoamiCurrent user info
GET /api/v2/organizations/:id/usersList organization users
GET /api/v2/organizations/:id/users/searchSearch users
EndpointDescription
GET /api/v2/corint/history/:chat_idGet chat history
GET /api/v2/corint/agentsList available agents
GET /api/v2/corint/toolsList available tools
POST /api/v2/corint/agentsCreate custom agent
GET /api/v2/corint/analytics/token-usage-aggregatesToken usage analytics
GET /api/v2/corint/analytics/message-countsMessage count analytics
GET /api/v2/corint/analytics/tool-usageTool usage statistics
GET /api/v2/corint/artifact/:idGet artifact
POST /api/v2/corint/artifactCreate artifact
GET /api/v2/integrationsList user integrations
EndpointDescription
GET /api/v2/object-storage/directoriesList directory contents
POST /api/v2/object-storage/directoriesCreate directory
POST /api/v2/object-storage/directories/:id/renameRename directory
POST /api/v2/object-storage/directories/:id/moveMove directory
DELETE /api/v2/object-storage/directories/:idDelete directory
POST /api/v2/object-storage/createUpload file
GET /api/v2/object-storage/objects/:idGet file details
POST /api/v2/object-storage/rename/:idRename file
POST /api/v2/object-storage/objects/:id/moveMove file
DELETE /api/v2/object-storage/objects/:idDelete file
GET /api/v2/object-storage/trashList trash items
POST /api/v2/object-storage/arbitrary/restoreRestore from trash
POST /api/v2/object-storage/arbitrary/deleteDelete from trash
DELETE /api/v2/object-storage/trash/emptyEmpty trash
EndpointDescription
GET /api/v2/workflowsList workflows
POST /api/v2/workflowsCreate workflow
GET /api/v2/workflows/:idGet workflow
PATCH /api/v2/workflows/:idUpdate workflow
GET /api/v2/workflows/:id/runsGet workflow runs
GET /api/v2/workflows/:id/runs/:run_idGet specific run
GET /api/v2/workflows/node-optionsGet available node options
EndpointDescription
GET /api/v2/dashboardsList dashboards
POST /api/v2/dashboardsCreate dashboard
GET /api/v2/dashboards/:idGet dashboard
PATCH /api/v2/dashboards/:idUpdate dashboard
POST /api/v2/dashboards/:id/widgetsAdd widget
DELETE /api/v2/dashboards/:id/widgets/:widget_idRemove widget
EndpointDescription
POST /api/v2/organizations/:id/usersAdd user to organization
PUT /api/v2/organizations/:id/users/rolesUpdate user roles
GET /api/v2/departments/organization/:idGet organization departments
GET /api/v2/organizations/:id/users/treeGet user organization tree
EndpointDescription
GET /api/v2/sharing/:resourceType/:resourceId/sharesList shares
POST /api/v2/sharing/:resourceType/:resourceId/sharesCreate share
GET /api/v2/sharing/:resourceType/:resourceId/permissionGet permission level
EndpointDescription
GET /api/v2/mcp-integrations/servicesList MCP services
GET /api/v2/mcp-integrations/connectionsList user connections
GET /api/v2/mcp-integrations/connect/:serviceSlugConnect to service
DELETE /api/v2/mcp-integrations/connections/:idDisconnect service

Official SDKs are coming soon:

  • JavaScript/TypeScript
  • Python

The full API specification is available as OpenAPI/Swagger:

https://api.futurity.work/swagger.json

Use this to:

  • Generate client code
  • Import into API tools (Postman, Insomnia)
  • Build documentation

A sandbox environment is available for testing without affecting production data.

Use curl or any HTTP client:

Terminal window
# Get your current user
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://api.futurity.work/api/v2/whoami
# List your workflows
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://api.futurity.work/api/v2/workflows

The API is versioned via the URL path:

https://api.futurity.work/api/v2/...
  • v2: Current stable version
  • Breaking changes will result in a new version
  • Old versions are supported for minimum 12 months after deprecation