Terri.ai Terri Developer docs
API docs

Build on the Terri operations layer.

Terri exposes customers, conversations, orders, refunds, verifications, automations, integrations, and audit activity through a developer-first API surface.

Quick start

Authenticate, fetch customers, act on orders.

Current install

Local control-plane endpoints continue under /api/panel/* while the public /v1 surface stabilizes.

Quick start

Get a working integration online quickly.

  1. Create or reuse a Terri workspace.
  2. Generate an API key from the Developer area inside the dashboard.
  3. Make authenticated requests to the /v1 endpoints.
  4. Subscribe to webhooks for async events such as order updates or verification changes.
Authentication

Bearer tokens for service access.

Terri uses bearer token authentication for public API access. Include your token in the Authorization header.

curl https://api.terri.ai/v1/customers \
  -H "Authorization: Bearer tr_live_xxxxx" \
  -H "Accept: application/json"
const response = await fetch("https://api.terri.ai/v1/customers", {
  headers: {
    Authorization: "Bearer tr_live_xxxxx",
    Accept: "application/json",
  },
});
import requests

response = requests.get(
    "https://api.terri.ai/v1/customers",
    headers={"Authorization": "Bearer tr_live_xxxxx"},
)
print(response.json())
Rate limits

Predictable limits for support workflows.

Resource Limit
Verification startsWorkspace-configurable
Verification checksWorkspace-configurable
Chat messagesWorkspace-configurable
Order mutationsWorkspace-configurable

Responses include standard limit metadata so clients can back off before hitting enforcement.

Examples

Common API flows.

List customers

GET /v1/customers

Update an order

PATCH /v1/orders/:id

Refund an order

POST /v1/orders/:id/refund

Create a verification

POST /v1/verifications

Customers

Customer profiles and timelines.

Customers aggregate contact details, trust indicators, conversation history, verification state, and order context.

GET /v1/customers
GET /v1/customers/:id
Conversations

Inbox threads with linked operational context.

Conversations unify chat, email, and escalations with linked orders, customer records, macros, and internal notes.

GET /v1/conversations
GET /v1/conversations/:id
POST /v1/conversations/:id/assign
Orders

Read and act on commerce records.

Terri supports address updates, status changes, cancellation flows, invoice resends, metadata edits, and guarded refund operations.

curl -X PATCH https://api.terri.ai/v1/orders/ord_4821 \
  -H "Authorization: Bearer tr_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "shipping_address": {
      "line1": "412 Mercer St",
      "city": "Chicago",
      "state": "IL",
      "postal_code": "60607"
    }
  }'
await fetch("https://api.terri.ai/v1/orders/ord_4821", {
  method: "PATCH",
  headers: {
    Authorization: "Bearer tr_live_xxxxx",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    shipping_address: {
      line1: "412 Mercer St",
      city: "Chicago",
      state: "IL",
      postal_code: "60607",
    },
  }),
});
requests.patch(
    "https://api.terri.ai/v1/orders/ord_4821",
    headers={"Authorization": "Bearer tr_live_xxxxx"},
    json={
        "shipping_address": {
            "line1": "412 Mercer St",
            "city": "Chicago",
            "state": "IL",
            "postal_code": "60607",
        }
    },
)
Refunds

Partial and full refunds with policy enforcement.

Refund requests are validated against remaining refundable balance and workspace rules before submission.

POST /v1/orders/:id/refund
{
  "amount": 42,
  "reason": "Customer received the wrong item"
}
Age verifications

Verification workflows as first-class records.

Track pending, verified, failed, and manual-review states, along with flags, notes, and associated orders.

POST /v1/verifications
GET /v1/verifications/:id
POST /v1/verifications/:id/review
Automations

Trigger-condition-action workflows.

Automations cover VIP routing, verification-required holds, refund threshold approvals, and internal tagging logic.

GET /v1/automations
POST /v1/automations
PATCH /v1/automations/:id
Integrations

Connector health, configuration, and sync status.

Manage WooCommerce, Google Workspace, Fraud Shield, and extension settings from the dashboard or API.

GET /v1/integrations
GET /v1/integrations/:id
PATCH /v1/integrations/:id
Audit logs

Operational visibility for risky actions.

Terri logs workspace actions, fraud decisions, verification changes, and operator interventions in a single event stream.

GET /v1/audit_logs
GET /v1/audit_logs/:id
Webhooks

Subscribe to system events.

Use outbound webhooks for conversation handoffs, order updates, verification transitions, and audit-worthy actions.

POST /v1/webhooks
{
  "target_url": "https://example.com/terri/webhooks",
  "events": ["order.updated", "verification.updated", "conversation.escalated"]
}
Extension framework

Terri is extensible by default.

Terri currently surfaces three first-party extensions in the product UI: WooCommerce, Google Workspace, and Fraud Shield. Additional connector work stays hidden until it is ready.

Commerce

WooCommerce

Inbox

Google Workspace

Security

Fraud Shield policy, abuse handling, and order protection

Current control plane

Local admin APIs available today.

The current Terri build already exposes authenticated operator routes for workspace data, extension settings, team management, fraud review, and runtime configuration.

GET /api/auth/session
GET /api/panel/workspace-data
GET /api/panel/extensions
GET /api/panel/extensions/:extensionId
PUT /api/panel/extensions/:extensionId/config
GET /api/panel/team
GET /api/panel/logs
GET /api/settings