API Documentation

Intellia API Documentation

Overview

Intellia provides a comprehensive REST API for managing agents, conversations, knowledge bases, integrations, and more. Authentication is handled via API keys or JWT tokens.


Authentication

API Key Authentication

API keys are the recommended way to authenticate programmatic access to the Intellia API. They can be created in the Organization > API Keys section.

Creating an API Key

  1. Navigate to Organization > API Keys in the UI
  2. Click Create API Key
  3. Provide a Description (required) - e.g., “Production Integration”
  4. Select Permissions (required) - Define what this API key can access
  5. The system will generate an API key (shown only once)

Permissions Model

When creating an API key, you can grant permissions to specific resources. The permission structure follows this pattern:

{
  "resource_name": {
    "read": boolean,
    "write": boolean
  }
}

Available permission scopes include:

  • agents - Read/Write agent configurations
  • conversations - Read/Write conversations
  • knowledge_bases - Read/Write knowledge bases
  • tools - Read/Write tool attachments
  • integrations - Read/Write integrations
  • prompts - Read/Write prompts
  • assume_role - Generate assume-role tokens
  • webhooks - Manage webhooks

Using API Keys in Requests

Include the API key in the Authorization header:

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.intellia.com.au/orgs/{organizationId}/agents

API Key Features

Feature Details
Creation Only organization Admins and Owners can create API keys
Listing Only organization Admins and Owners can view all API keys
Permissions Limited by the specific permissions granted during creation
Restrictions Some sensitive endpoints (like user management) cannot be accessed with API keys, requiring user authentication
Source Tracking The API logs identify requests made with API keys (source: api-key)

Endpoints for Managing API Keys

  • Create API Key POST /orgs/{organizationId}/api-keys

    • Required Role: Admin or Owner
    • Request Body:
      {
        "description": "string",
        "permissions": {
          "agents": { "read": true, "write": true },
          "conversations": { "read": true, "write": false }
        }
      }
    • Response: Returns the OrganizationAccessKey object with the generated key
  • List API Keys GET /orgs/{organizationId}/api-keys

    • Required Role: Admin or Owner
    • Query Parameters:
      • limit (optional): Number of results per page (default: 20)
      • cursor (optional): Pagination cursor
    • Response: Returns a paginated list of API keys
  • Get API Key Details GET /orgs/{organizationId}/api-keys/{tokenId}

    • Required Role: Admin or Owner
    • Response: Returns a single OrganizationAccessKey object
  • Update API Key PUT /orgs/{organizationId}/api-keys/{tokenId}

    • Required Role: Admin or Owner
    • Allows updating permissions or description
  • Delete API Key DELETE /orgs/{organizationId}/api-keys/{tokenId}

    • Required Role: Admin or Owner
    • Permanently revokes the API key

API Key Limitations

The following operations cannot be performed with API keys (these require user authentication):

  • Creating, listing, or managing API keys themselves
  • User management and role assignments
  • Organization member management
  • Billing and subscription operations
  • Assume-role token generation (unless specifically permitted)

Note: The noAPIKey: true flag on an endpoint means API key authentication is blocked for that endpoint.


Base URL

https://api.intellia.com.au

All requests must include:

  • Authorization header with Bearer token or API key
  • Content-Type: application/json for POST/PUT requests

API Endpoints

Agents

Manage AI agents and their attachments.

Agent Management

Method Endpoint Description
GET /orgs/{organizationId}/agents List all agents
POST /orgs/{organizationId}/agents Create a new agent
GET /orgs/{organizationId}/agents/{agentId} Get agent details
PUT /orgs/{organizationId}/agents/{agentId} Update agent
DELETE /orgs/{organizationId}/agents/{agentId} Delete agent
GET /orgs/{organizationId}/tools List available tools

Agent Attachments

Method Endpoint Description
GET /orgs/{organizationId}/agents/{agentId}/knowledgebases List knowledge base attachments
POST /orgs/{organizationId}/agents/{agentId}/knowledgebases Attach knowledge base
DELETE /orgs/{organizationId}/agents/{agentId}/knowledgebases/{knowledgeBaseId} Detach knowledge base
GET /orgs/{organizationId}/agents/{agentId}/tools List tool attachments
POST /orgs/{organizationId}/agents/{agentId}/tools Attach tool
PUT /orgs/{organizationId}/agents/{agentId}/tools/{toolCode} Update tool attachment
DELETE /orgs/{organizationId}/agents/{agentId}/tools/{toolCode} Detach tool
GET /orgs/{organizationId}/agents/{agentId}/agent-attachments List agent-to-agent attachments
POST /orgs/{organizationId}/agents/{agentId}/agent-attachments Attach another agent
PUT /orgs/{organizationId}/agents/{agentId}/agent-attachments/{targetAgentId} Update agent attachment
DELETE /orgs/{organizationId}/agents/{agentId}/agent-attachments/{targetAgentId} Detach agent
GET /orgs/{organizationId}/agents/{agentId}/chains List action chain attachments
POST /orgs/{organizationId}/agents/{agentId}/chains Attach action chain
DELETE /orgs/{organizationId}/agents/{agentId}/chains/{chainId} Detach action chain

Conversations

Manage conversations, messages, and task plans.

Method Endpoint Description
GET /orgs/{organizationId}/conversations List conversations
POST /orgs/{organizationId}/conversations Create conversation or send message
GET /orgs/{organizationId}/conversations/{conversationId} Get conversation details
PUT /orgs/{organizationId}/conversations/{conversationId} Update conversation (e.g., title)
DELETE /orgs/{organizationId}/conversations/{conversationId} Delete conversation
GET /orgs/{organizationId}/conversations/{conversationId}/task-plans List active task plans
GET /orgs/{organizationId}/conversations/{conversationId}/task-plans/{planId} Get task plan details
POST /orgs/{organizationId}/conversations/{conversationId}/task-plans/{planId}/cancel Cancel task plan
POST /task-executor Execute task plan (internal)

Data Analysis

Method Endpoint Description
POST /orgs/{organizationId}/conversations/{conversationId}/analysis Create data analysis
GET /orgs/{organizationId}/conversations/{conversationId}/analysis List analyses
GET /orgs/{organizationId}/conversations/{conversationId}/analysis/{analysisId} Get analysis details
PUT /orgs/{organizationId}/conversations/{conversationId}/analysis/{analysisId} Update analysis
DELETE /orgs/{organizationId}/conversations/{conversationId}/analysis/{analysisId} Delete analysis

Browser Sessions

Method Endpoint Description
POST /orgs/{organizationId}/conversations/{conversationId}/browser-sessions Create browser session
GET /orgs/{organizationId}/conversations/{conversationId}/browser-sessions List browser sessions
POST /orgs/{organizationId}/conversations/{conversationId}/browser-sessions/{sessionId}/stop Stop browser session

Action Chains

Manage action chains (workflows) and their steps.

Method Endpoint Description
GET /orgs/{organizationId}/chains List action chains
POST /orgs/{organizationId}/chains Create action chain
GET /orgs/{organizationId}/chains/{chainId} Get chain details
PUT /orgs/{organizationId}/chains/{chainId} Update chain
DELETE /orgs/{organizationId}/chains/{chainId} Delete chain
POST /orgs/{organizationId}/chains/{chainId}/run Execute chain
GET /orgs/{organizationId}/chains/{chainId}/runs List chain execution runs
POST /orgs/{organizationId}/chains/from-prompt Generate chain from prompt

Chain Steps

Method Endpoint Description
GET /orgs/{organizationId}/chains/{chainId}/steps List steps
POST /orgs/{organizationId}/chains/{chainId}/steps Create step
GET /orgs/{organizationId}/chains/{chainId}/steps/{stepId} Get step details
PUT /orgs/{organizationId}/chains/{chainId}/steps/{stepId} Update step
DELETE /orgs/{organizationId}/chains/{chainId}/steps/{stepId} Delete step

Chain Step Attachments

Method Endpoint Description
GET /orgs/{organizationId}/chains/{chainId}/steps/{stepId}/agents List agents
POST /orgs/{organizationId}/chains/{chainId}/steps/{stepId}/agents Attach agent
DELETE /orgs/{organizationId}/chains/{chainId}/steps/{stepId}/agents/{agentId} Detach agent
GET /orgs/{organizationId}/chains/{chainId}/steps/{stepId}/knowledge-bases List KBs
POST /orgs/{organizationId}/chains/{chainId}/steps/{stepId}/knowledge-bases Attach KB
DELETE /orgs/{organizationId}/chains/{chainId}/steps/{stepId}/knowledge-bases/{kbId} Detach KB
GET /orgs/{organizationId}/chains/{chainId}/steps/{stepId}/tools List tools
POST /orgs/{organizationId}/chains/{chainId}/steps/{stepId}/tools Attach tool
DELETE /orgs/{organizationId}/chains/{chainId}/steps/{stepId}/tools/{toolCode} Detach tool

Knowledge Bases

Manage knowledge bases and documents.

Method Endpoint Description
GET /orgs/{organizationId}/knowledgebases List knowledge bases
POST /orgs/{organizationId}/knowledgebases Create knowledge base
GET /orgs/{organizationId}/knowledgebases/{kbId} Get KB details
PUT /orgs/{organizationId}/knowledgebases/{kbId} Update KB
DELETE /orgs/{organizationId}/knowledgebases/{kbId} Delete KB
POST /orgs/{organizationId}/knowledgebases/{kbId}/copy-to Copy knowledge base

Knowledge Base Files

Method Endpoint Description
GET /orgs/{organizationId}/knowledgebases/{kbId}/files List files
POST /orgs/{organizationId}/knowledgebases/{kbId}/files/upload-url Get file upload URL
POST /orgs/{organizationId}/knowledgebases/{kbId}/files/{fileId}/s3-ingest Ingest file from S3
DELETE /orgs/{organizationId}/knowledgebases/{kbId}/files/{fileId} Delete file
POST /orgs/{organizationId}/knowledgebases/{kbId}/files/{fileId}/reindex Reindex file
POST /orgs/{organizationId}/knowledgebases/{kbId}/files/{fileId}/download-link Get file download link
POST /orgs/{organizationId}/knowledgebases/{kbId}/file/{fileId}/copy-to Copy file to another KB
POST /orgs/{organizationId}/knowledgebases/{kbId}/search Search KB

Knowledge Base ETL

Method Endpoint Description
GET /orgs/{organizationId}/knowledgebases/{kbId}/etls List ETL configs
POST /orgs/{organizationId}/knowledgebases/{kbId}/etls Create ETL config
GET /orgs/{organizationId}/knowledgebases/{kbId}/etls/{etlId} Get ETL config
PUT /orgs/{organizationId}/knowledgebases/{kbId}/etls/{etlId} Update ETL config
DELETE /orgs/{organizationId}/knowledgebases/{kbId}/etls/{etlId} Delete ETL config

SharePoint Integration

Method Endpoint Description
GET /orgs/{organizationId}/knowledgebases/{kbId}/sharepoint-authorizations List authorizations
GET /orgs/{organizationId}/knowledgebases/{kbId}/sharepoint-authorizations/{authorizationId} Get authorization
PUT /orgs/{organizationId}/knowledgebases/{kbId}/sharepoint-authorizations/{authorizationId}/paths Update paths
POST /sharepoint-authorize-callback SharePoint callback URL
POST /orgs/{organizationId}/link/{linkId} Share KB link

Prompts

Manage system prompts for agents.

Method Endpoint Description
GET /orgs/{organizationId}/prompts List prompts
POST /orgs/{organizationId}/prompts Create prompt
GET /orgs/{organizationId}/prompts/{promptId} Get prompt details
PUT /orgs/{organizationId}/prompts/{promptId} Update prompt
DELETE /orgs/{organizationId}/prompts/{promptId} Delete prompt
GET /orgs/{organizationId}/prompts/search Search prompts

Integrations & Webhooks

Manage third-party integrations and webhooks.

Integrations

Method Endpoint Description
GET /orgs/{organizationId}/integrations List integrations
POST /orgs/{organizationId}/integrations Create integration
GET /orgs/{organizationId}/integrations/{integrationId} Get integration
PUT /orgs/{organizationId}/integrations/{integrationId} Update integration
DELETE /orgs/{organizationId}/integrations/{integrationId} Delete integration
GET /orgs/{organizationId}/integration-types List integration types
POST /orgs/{organizationId}/integrations/{integrationId}/authorization-url Get OAuth authorization URL
POST /orgs/{organizationId}/integrations/{integrationId}/finalize Complete OAuth flow

Webhooks

Method Endpoint Description
GET /orgs/{organizationId}/webhooks List webhooks
POST /orgs/{organizationId}/webhooks Create webhook
GET /orgs/{organizationId}/webhooks/{webhookId} Get webhook
PUT /orgs/{organizationId}/webhooks/{webhookId} Update webhook
DELETE /orgs/{organizationId}/webhooks/{webhookId} Delete webhook
POST /orgs/{organizationId}/webhooks/{webhookId}/execute Execute webhook

Webhook Handlers

Method Endpoint Description
GET /orgs/{organizationId}/webhooks/{webhookId}/handlers List handlers
POST /orgs/{organizationId}/webhooks/{webhookId}/handlers Create handler
GET /orgs/{organizationId}/webhooks/{webhookId}/handlers/{handlerId} Get handler
PUT /orgs/{organizationId}/webhooks/{webhookId}/handlers/{handlerId} Update handler
DELETE /orgs/{organizationId}/webhooks/{webhookId}/handlers/{handlerId} Delete handler

Slack Integration

Method Endpoint Description
POST /orgs/{organizationId}/integrations/slack/start-authorization Start Slack OAuth
POST /orgs/{organizationId}/integrations/slack/complete-authorization/{id} Complete Slack OAuth
GET /orgs/{organizationId}/integrations/slack Get Slack integration status
POST /orgs/{organizationId}/integrations/slack/sync-users Sync users from Slack
POST /integrations/slack/events Slack webhook events

ETL Pipelines

Manage data ETL pipelines.

Method Endpoint Description
GET /orgs/{organizationId}/etl-pipelines List ETL pipelines
POST /orgs/{organizationId}/etl-pipelines Create pipeline
GET /orgs/{organizationId}/etl-pipelines/{pipelineId} Get pipeline
PUT /orgs/{organizationId}/etl-pipelines/{pipelineId} Update pipeline
DELETE /orgs/{organizationId}/etl-pipelines/{pipelineId} Delete pipeline

Pipeline Files

Method Endpoint Description
GET /orgs/{organizationId}/etl-pipelines/{pipelineId}/files List files
POST /orgs/{organizationId}/etl-pipelines/{pipelineId}/files/upload-url Get upload URL
DELETE /orgs/{organizationId}/etl-pipelines/{pipelineId}/files/{fileId} Delete file

Transformations

Manage file transformations.

Method Endpoint Description
GET /orgs/{organizationId}/transformations List transformations
POST /orgs/{organizationId}/transformations Create transformation
GET /orgs/{organizationId}/transformations/{transformationId} Get transformation
PUT /orgs/{organizationId}/transformations/{transformationId} Update transformation
DELETE /orgs/{organizationId}/transformations/{transformationId} Delete transformation

Transformation Files

Method Endpoint Description
GET /orgs/{organizationId}/transformations/{transformationId}/files List files
POST /orgs/{organizationId}/transformations/{transformationId}/files/upload-url Get upload URL
DELETE /orgs/{organizationId}/transformations/{transformationId}/files/{fileId} Delete file
POST /orgs/{organizationId}/transformations/{transformationId}/files/{fileId}/transform Transform file
POST /orgs/{organizationId}/transformations/{transformationId}/files/{fileId}/download-url Get download URL

Tables

Manage custom data tables.

Method Endpoint Description
GET /orgs/{organizationId}/tables List tables
POST /orgs/{organizationId}/tables Create table
GET /orgs/{organizationId}/tables/{tableName} Get table
PUT /orgs/{organizationId}/tables/{tableName} Update table
DELETE /orgs/{organizationId}/tables/{tableName} Delete table

Table Data

Method Endpoint Description
GET /orgs/{organizationId}/tables/{tableName}/data List table rows
POST /orgs/{organizationId}/tables/{tableName}/data Create row
PUT /orgs/{organizationId}/tables/{tableName}/data/{rowId} Update row
DELETE /orgs/{organizationId}/tables/{tableName}/data/{rowId} Delete row

Vault

Manage secure vault items.

Method Endpoint Description
GET /orgs/{organizationId}/vault List vault items
POST /orgs/{organizationId}/vault Create vault item
GET /orgs/{organizationId}/vault/{vaultItemId} Get vault item
PUT /orgs/{organizationId}/vault/{vaultItemId} Update vault item
DELETE /orgs/{organizationId}/vault/{vaultItemId} Delete vault item
GET /vault/get-items-for-user Get vault items for current user

SMS

Send and manage SMS messages.

Method Endpoint Description
POST /orgs/{organizationId}/sms/send Send SMS
GET /orgs/{organizationId}/sms/{smsId} Get SMS details

TOTP (Two-Factor Authentication)

Manage TOTP/2FA setup.

Method Endpoint Description
POST /orgs/{organizationId}/totp/scan-session Create TOTP scan session
GET /totp/scan-session/{sessionId}/secret Get TOTP secret
POST /totp/scan-session/{sessionId}/save Save TOTP verification

Schedules

Manage scheduled tasks and handlers.

Method Endpoint Description
GET /orgs/{organizationId}/schedules List schedules
POST /orgs/{organizationId}/schedules Create schedule
GET /orgs/{organizationId}/schedules/{scheduleId} Get schedule
PUT /orgs/{organizationId}/schedules/{scheduleId} Update schedule
DELETE /orgs/{organizationId}/schedules/{scheduleId} Delete schedule

Schedule Handlers

Method Endpoint Description
GET /orgs/{organizationId}/schedules/{scheduleId}/handlers List handlers
POST /orgs/{organizationId}/schedules/{scheduleId}/handlers Create handler
GET /orgs/{organizationId}/schedules/{scheduleId}/handlers/{handlerId} Get handler
PUT /orgs/{organizationId}/schedules/{scheduleId}/handlers/{handlerId} Update handler

Forms

Manage forms and form templates.

Method Endpoint Description
GET /orgs/{organizationId}/forms/templates Get form templates
POST /orgs/{organizationId}/forms Create form
GET /orgs/{organizationId}/forms/overview Get forms overview
POST /orgs/{organizationId}/forms/search-address Search address (integration)

Authentication

Handle SSO and authentication flows.

Method Endpoint Description
POST /orgs/{organizationId}/auth/sso/exchange Exchange SSO token
POST /orgs/{organizationId}/auth/sso/validate Validate SSO token

Browser Sessions

Manage browser automation sessions.

Method Endpoint Description
GET /orgs/{organizationId}/conversations/{conversationId}/browser-sessions/{sessionId}/downloads Get session downloads
GET /orgs/{organizationId}/conversations/{conversationId}/browser-sessions/{sessionId}/video-url Get session video URL

Organization & User Management

Manage organization settings, users, and roles.

Organization

Method Endpoint Description
POST /orgs Create new organization
GET /orgs/{organizationId} Get organization details
PUT /orgs/{organizationId} Update organization
GET /my-organizations List user’s organizations

Users & Roles

Method Endpoint Description
GET /orgs/{organizationId}/users List users
POST /orgs/{organizationId}/users Create user
GET /orgs/{organizationId}/users/{userId} Get user
PUT /orgs/{organizationId}/users/{userId} Update user
DELETE /orgs/{organizationId}/users/{userId} Delete user
PUT /orgs/{organizationId}/users/{userId}/metadata Update user metadata

User Groups

Method Endpoint Description
GET /orgs/{organizationId}/groups List user groups
POST /orgs/{organizationId}/groups Create group
GET /orgs/{organizationId}/groups/{groupId} Get group
PUT /orgs/{organizationId}/groups/{groupId} Update group
DELETE /orgs/{organizationId}/groups/{groupId} Delete group
GET /orgs/{organizationId}/groups/{groupId}/agents List group’s agents
POST /orgs/{organizationId}/groups/{groupId}/agents Map agent to group
DELETE /orgs/{organizationId}/groups/{groupId}/agents/{agentId} Remove agent from group
POST /orgs/{organizationId}/groups/{groupId}/users Add user to group

Billing

Method Endpoint Description
GET /orgs/{organizationId}/stripe/status Get billing status
POST /orgs/{organizationId}/stripe/billing-portal Get Stripe billing portal URL
POST /orgs/{organizationId}/stripe/subscription Create subscription
DELETE /orgs/{organizationId}/stripe/subscription Cancel subscription
POST /orgs/{organizationId}/stripe/purchase-token-bundle Purchase token credits
GET /orgs/{organizationId}/tokens Get token usage

Assume Role

Method Endpoint Description
POST /orgs/{organizationId}/assume-role Generate assume-role token
POST /orgs/{organizationId}/assume-role/verify Verify assume-role token

Admin Endpoints

Administrative operations (typically restricted to super-admins).

Method Endpoint Description
GET /admin/organizations List all organizations
PUT /admin/organizations/{organizationId} Update organization
GET /admin/organizations/{organizationId}/users List org users
POST /admin/organizations/{organizationId}/users Add user to org
PUT /admin/organizations/{organizationId}/users/{userId} Update user in org
PUT /admin/organizations/{organizationId}/users/{userId}/role Update user role
DELETE /admin/organizations/{organizationId}/users/{userId} Remove user from org
POST /admin/vicforms/create-account Create Vicforms account
POST /admin/update-vicforms-membership-role Update Vicforms membership role
POST /admin/migrate-vicforms-users Migrate Vicforms users

BuddyBee (Third-party) Endpoints

Endpoints for BuddyBee and Vicforms integrations.

Method Endpoint Description
POST /buddybee/orgs Create new org via BuddyBee
POST /buddybee/platform/auth Platform authentication
POST /buddybee/vicforms/auth Vicforms authentication
POST /buddybee/user/metadata Update user metadata
GET /buddybee/user/metadata Get user metadata
POST /buddybee/public-token Get public token
POST /buddybee/hutly-accounts-invitation Hutly accounts invitation
POST /buddybee/hutly-accounts-update-user-role Update Hutly user role
POST /orgs/{organizationId}/buddybee/platform/auth Org-scoped platform auth
POST /orgs/{organizationId}/buddybee/vicforms/auth Org-scoped Vicforms auth
PUT /orgs/{organizationId}/buddybee/user/metadata Org-scoped user metadata
GET /orgs/{organizationId}/buddybee/user/metadata Org-scoped get metadata

Error Handling

The API returns standard HTTP status codes:

Code Meaning
200 Success
201 Created
400 Bad Request
401 Unauthorized (authentication failed)
403 Forbidden (insufficient permissions)
404 Not Found
500 Internal Server Error

Error responses follow this format:

{
  "message": "Error description"
}

Rate Limiting

The API rate limit is based on your token credits usage. Contact support for rate limit details specific to your organization.


Pagination

Endpoints that return lists support pagination via query parameters:

  • limit - Number of results per page (default: 20, max: 100)
  • cursor - Pagination cursor for retrieving next page

Example:

GET /orgs/{organizationId}/conversations?limit=50&cursor=0

Response includes pagination metadata:

{
  "items": [...],
  "nextToken": 50,
  "limit": 50
}

Webhooks

Webhooks allow you to receive real-time notifications for certain events. Set up webhooks in the Integrations section.

Supported Events

  • conversation.created
  • conversation.updated
  • conversation.deleted
  • message.created
  • agent.executed

Webhook Payload

{
  "event": "event-type",
  "timestamp": "2024-01-01T00:00:00Z",
  "organizationId": "org-id",
  "data": {
    // Event-specific data
  }
}

Best Practices

  1. API Key Security

    • Never commit API keys to version control
    • Rotate API keys periodically
    • Use environment variables to store keys
    • Create separate keys for different environments (dev, staging, prod)
  2. Error Handling

    • Always check HTTP status codes
    • Implement exponential backoff for rate limiting
    • Log errors for debugging
  3. Performance

    • Use pagination for list endpoints
    • Cache responses where appropriate
    • Batch requests when possible
  4. Permissions

    • Grant only necessary permissions to API keys
    • Review API key usage regularly
    • Delete unused API keys

Support

For API support, contact: support@intellia.com.au

Additional resources:


Last Updated: November 2024