Skip to main content
Welcome to the Answering Agent Partner API! This documentation will help you integrate AI-powered phone answering capabilities into your platform, allowing you to offer 24/7 customer support to your customers.

What You Can Build

The Partner API enables you to:
  • Provision Customer Organizations - Create and manage organizations for your customers
  • Onboard Users - Add users to organizations with appropriate roles and permissions
  • Setup Phone Numbers - Provision phone numbers (locations) with AI answering agents
  • Embed Dashboards - Give customers access to their data through embedded dashboards
  • Automate Workflows - Programmatically manage customers at scale

How It Works

The Partner API uses a simple, hierarchical structure:
Your Partner Account

  ├─ Customer Organization (e.g., "Acme Corp")
  │   ├─ Owner User ([email protected])
  │   ├─ Additional Users (team members)
  │   └─ Locations (phone numbers)
  │       └─ AI Agents (handle calls)

  ├─ Customer Organization (e.g., "Pizza Palace")
  │   ├─ Owner User ([email protected])
  │   └─ Locations (phone numbers)

  └─ More Organizations...

Key Concepts

Your account in Answering Agent. You authenticate with an API Key to manage all your customer organizations through the API.
Your customers’ businesses. Each organization has an owner, users, and locations (phone numbers). Organizations are the top-level container for your customers.
People who belong to organizations. Each organization has an owner (created with the org) and can have additional users. Users are identified by your system’s ID (external_id).
Phone numbers with AI answering agents. Each location belongs to an organization and has its own phone number, settings, and AI agent configuration.
Your unique identifier for users in your system. This allows you to maintain a mapping between your users and Answering Agent users without exposing internal IDs.
Secure tokens that allow you to embed the Answering Agent dashboard in your application, giving customers access to calls, tasks, and analytics.

Quick Start

Get started in 5 minutes:
1

Get Your API Key

Sign in to your partner dashboard and navigate to Settings → API Keys to generate your API key.
2

Create Your First Organization

Use the API to create a customer organization with an owner user in a single call.
3

Add a Location

Provision a phone number for the organization to start receiving calls.
4

Embed the Dashboard

Get an embed token and integrate the dashboard into your app.
See the Quickstart Guide for a complete walkthrough with code examples.

API Structure

All Partner API endpoints follow this structure:
Base URL: https://answeringagent.com/api/v1

Authentication: X-API-KEY header

Core Resources

Advanced Features


Typical Integration Flow

Here’s how most partners integrate with Answering Agent:
1

Customer Signs Up

A customer creates an account in your platform.
2

Create Organization

Your backend calls POST /api/v1/organizations to create the organization and owner user.
3

Setup Phone Number

Call POST /api/v1/locations to provision a phone number for the customer.
4

Get Embed Token

Call GET /api/v1/users/{external_id}/embed-token to get a token for embedding.
5

Show Dashboard

Embed the Answering Agent dashboard in your app using the embed token, giving customers access to their calls, tasks, and analytics.

Authentication Overview

The Partner API uses API keys for authentication:
  1. Generate an API key from your partner dashboard
  2. Include the key in the X-API-KEY header for every request
  3. That’s it! No complex signing or HMAC required
curl -X GET "https://answeringagent.com/api/v1/organizations" \
  -H "X-API-KEY: sk_live_AbCdEfGhIjKlMnOpQrSt"

Authentication Guide

Complete authentication documentation with examples in multiple languages

Code Examples

All documentation includes code examples in multiple languages:
  • cURL (for testing)
  • JavaScript/Node.js
  • Python
  • PHP
Each endpoint shows complete request and response examples with real-world use cases.

Example: Complete Onboarding

Here’s a complete example of onboarding a new customer:
const API_KEY = process.env.ANSWERING_AGENT_API_KEY;
const BASE_URL = 'https://answeringagent.com/api/v1';

async function onboardCustomer(customerData) {
  // 1. Create organization with owner
  const orgResponse = await fetch(`${BASE_URL}/organizations`, {
    method: 'POST',
    headers: {
      'X-API-KEY': API_KEY,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      name: customerData.businessName,
      description: customerData.businessDescription,
      owner: {
        external_id: customerData.userId, // Your system's user ID
        email: customerData.email,
        name: customerData.name
      }
    })
  });

  const { organization, owner } = await orgResponse.json();
  console.log('✓ Organization created:', organization.id);

  // 2. Add a phone number location
  const locationResponse = await fetch(`${BASE_URL}/locations`, {
    method: 'POST',
    headers: {
      'X-API-KEY': API_KEY,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      organization_id: organization.id,
      name: 'Main Office',
      address: customerData.address,
      area_code: customerData.areaCode
    })
  });

  const { location } = await locationResponse.json();
  console.log('✓ Phone number provisioned:', location.phone_number);

  // 3. Get embed token for dashboard access
  const tokenResponse = await fetch(
    `${BASE_URL}/users/${customerData.userId}/embed-token`,
    {
      headers: { 'X-API-KEY': API_KEY }
    }
  );

  const { embed_token } = await tokenResponse.json();
  console.log('✓ Embed token generated');

  // Return data for your system
  return {
    organizationId: organization.id,
    phoneNumber: location.phone_number,
    embedToken: embed_token
  };
}

// Usage
const result = await onboardCustomer({
  userId: 'user_123',
  email: '[email protected]',
  name: 'John Doe',
  businessName: 'Acme Corporation',
  businessDescription: 'Technology consulting firm',
  address: '123 Main St, Denver, CO',
  areaCode: '303'
});

console.log('Customer onboarded successfully:', result);

Resources & Support


Need Help?

We’re here to support your integration: Let’s build something amazing together! 🚀