Skip to content

AI Dialer Integration

All API requests must include an API key in the header:

X-ApiKey: YOUR_API_KEY_HERE

If the key is missing or invalid, the server will return a 401 Unauthorized response.

https://app.outboundani.com/dialer
  • Method: POST
  • URL: /campaigns
  • Headers:
    • X-ApiKey: YOUR_API_KEY_HERE
    • Content-Type: application/json

Body Schema:

type Campaign = {
// Your internal identifier
id: string;
// Campaign name
name: string;
// Call direction
type: "Inbound" | "Outbound" | "Blended";
};

Body Example:

{ "id": "c123", "name": "Sales 2025", "type": "Outbound" }
  • Method: PUT
  • URL: /campaigns

Body Schema:

type Campaign = {
// Your internal identifier
id: string;
// Campaign name
name?: string;
// Call direction
type?: "Inbound" | "Outbound" | "Blended";
};

Body Example:

{ "id": "c123", "name": "Something Else" }
  • Method: GET
  • URL: /campaigns

Body Schema:

type Campaign = {
// Your internal identifier
id: string;
};

Body Example:

{ "id": "c123" }
  • Method: DELETE
  • URL: /campaigns

Body Schema:

type Campaign = {
// Your internal identifier
id: string;
};

Body Example:

{ "id": "c123" }
  • Method: POST
  • URL: /dispos
  • Headers:
    • X-ApiKey: YOUR_API_KEY_HERE
    • Content-Type: application/json

Body Schema:

type Dispo = {
// Your internal identifier
id: string;
// Disposition name
name: string;
// Disposition Trigger
type: "System" | "Agent";
// Disposition is a contact with the prospect (or not)
contact: boolean;
// Disposition is a success (or partial success on a qualification stage, ie: App Set)
success: boolean;
};

Body Example:

{
"id": "d1",
"name": "Sale Closed",
"type": "Agent",
"contact": true,
"success": true
}
  • Method: PUT
  • URL: /dispos

Body Schema:

type Dispo = {
// Your internal identifier
id: string;
// Disposition name
name?: string;
// Disposition Trigger
type?: "System" | "Agent";
// Disposition is a contact with the prospect (or not)
contact?: boolean;
// Disposition is a success (or partial success on a qualification stage, ie: App Set)
success?: boolean;
};

Body Example:

{ "id": "d1", "contact": false }
  • Method: GET
  • URL: /dispos

Body Schema:

type Dispo = {
// Your internal identifier
id: string;
};

Body Example:

{ "id": "d1" }
  • Method: DELETE
  • URL: /dispos

Body Schema:

type Dispo = {
// Your internal identifier
id: string;
};

Body Example:

{ "id": "d1" }
  • Method: POST
  • URL: /anis
  • Headers:
    • X-ApiKey: YOUR_API_KEY_HERE
    • Content-Type: application/json

Body Schema:

type ANI = {
// USA/Canada or UK are the covered regions
country_code: "+1" | "+44";
// Phone Number (without country code)
number: string;
// The Inbound Group Identifier that the number belongs to
inbound_group_id: string;
// Number is been managed by a Number Reputation Company
is_branded?: boolean;
// Reputation Brand Name
brand_name?: string;
// Carrier Code
carrier_id?: string;
};

Body Example:

{
"country_code": "+1",
"number": "5611234567",
"inbound_group_id": "ing1",
"is_branded": true,
"brand_name": "BrandX",
"carrier_id": "carr1"
}
  • Method: PUT
  • URL: /anis

Body Schema:

type ANI = {
// Phone Number (without country code)
number: string;
// USA/Canada or UK are the covered regions
country_code?: "+1" | "+44";
// The Inbound Group Identifier that the number belongs to
inbound_group_id?: string;
// Number is been managed by a Number Reputation Company
is_branded?: boolean;
// Reputation Brand Name
brand_name?: string;
// Carrier Code
carrier_id?: string;
};

Body Example:

{ "number": "5611234567", "is_branded": false }
  • Method: GET
  • URL: /anis

Body Schema:

type ANI = {
// Phone Number (without country code)
number: string;
};

Body Example:

{"number": "5611234567"}
  • Method: DELETE
  • URL: /anis

Body Schema:

type ANI = {
// Phone Number (without country code)
number: string;
};

Body Example:

{"number": "5611234567"}

Selects the next available ANI for an outbound call.

  • Method: POST
  • URL: /next

Body Schema:

type NextAniRequest = {
outbound_campaign: string;
inventory_group_ids?: string[];
prospect_phone: string;
prospect_zip?: string;
use_branded?: boolean;
assignment_type?:
| "zip"
| "area_code"
| "state"
| "tfn"
| "random"
| "highest_contact_rate"
| null;
};

Body Example:

{
"outbound_campaign": "c123",
"prospect_phone": "5617778888",
"prospect_zip": "33432",
"use_branded": true,
"assignment_type": "zip"
}

Success Response:

{
"prospect_phone": "5617778888",
"ani": "5611234567",
"assignment_type": "zip"
}

Selects the next available ANI for an outbound call.

  • Method: POST
  • URL: https://io.outboundani.com/api/595F21A2-84D1-4984-818E-3758A8485CC8.php

Query Params:

FIELDS NAMES and VALUES
REQUIRED PARAMETERS
-----------------------
0504bd2b-f9eb-4a72-b497-7c8cac8692a0=[COMPANY GUID PROVIDED BY OUTBOUDANI (not your api key)]
ec4e634b-aa92-4859-9d16-46aece2b780b[campaign]
1eb3164f-2157-43d9-9aa8-ed1e20e97fa7=[agentid]
0be372ee-d1bf-42a4-8891-dbc5ee547a7c=[ani]
ddb195b9-1f3d-4775-a9b7-fcf9d7c46583=[callid]
e8ca4a68-d96e-4be8-8ac1-1114fec52cde=[dispo]
12929e99-3266-4350-b2c8-592119ffd558=[phone]
9a1f5867-157f-4620-ae43-b824bc4d81ee=[call_date_time - YYYY-MM-DD HH:MM:SS]
COMPLEMENTARY PARAMETERS
-----------------------
6be80ae8-72b5-4ac6-8871-c54fdce3ebbf=[Inbound/Outbound/SMS/Treview/Transfer/Manual/etc]
82d8779e-ce8f-4e8c-928f-280a45fe1c02=[zip]
6be80ae8-72b5-4ac6-8871-c54fdce3ebbf=[call_duration]
514167c4-1011-4cc8-bbed-3708e0a4b772=[sys_created_dates]
1ac05504-659d-4e8c-ad1d-c4d2da3ab1be=[total_dial_attempts]
b6fd9680-7f93-44e0-a534-a3b9e717b7c7=[skill_name]
ea9aec00-4170-47c6-a187-b0c0f71b4400=[lead_source]
ADDITIONAL PARAMETERS
-----------------------
&KPI1_Name=[KPI1 Value]
&KPI2_Name=[KPI2 Value]
&KPI3_Name=[KPI3 Value]
&KPI4_Name=[KPI4 Value]
&KPI5_Name=[KPI5 Value]

Responses:

{"result": "SUCCESS"}
{"result": "FAIL", "reason": "Not Good"}