API REFERENCE

Campaign Records

Campaign orders represents an association between a campaign and a record (contact). Each order tracks the status of a specific record within the campaign lifecycle.

Record order statuses

Each order in a campaign has a status that dictates its position in the calling lifecycle.

Registered

Contact is created and assigned in campaign, no action is planned.

Planned

Contact will be contacted based on campaign scheduling options.

Scheduled

Contact is planned to be contacted on specific scheduled date/time.

Busy

We were unable to reach, will contact again based on scheduling options.

Contacted

Contact is contacted and there is outcome, no actions will be done.

Canceled

User cancelled any calls, contact is kept in campaign for history purpose.

Do Not Call

Contact specifically requested DNC, any calling is forbidden.

List campaign orders (records)

GEThttp://callcamp.ai/api/campaigns/{uuid}/orders

Returns a paginated list of all orders assigned to a specific campaign. Each record (contact) in the campaign is added via a call order, which allows setting specific properties and tracking the status of the record within the campaign.

Query Parameters

ParameterTypeDescription
search stringSearch records by name or phone number.
status enumFilter by status: registered, planned, calling, completed, failed, busy, no-answer.
page numberThe page number for pagination.
limit numberNumber of items per page (max 100).

Responses

JSON
{
  "orders": [
    {
      "uuid": "order_9z8y7x6w5v4u3t2s1r0q",
      "campaignUuid": "campaign_12345",
      "status": "planned",
      "scheduledTime": "2026-05-10T14:30:00Z",
      "scheduledTimeTimezone": "UTC",
      "scheduledDurationSeconds": 600,
      "price": 10.5,
      "currencyCode": "USD",
      "instructions": "Mention the early bird discount.",
      "record": {
        "uuid": "record_12345",
        "name": "John Doe",
        "phoneNumber": "+1234567890"
      }
    }
  ],
  "total": 1,
  "page": 1,
  "limit": 10,
  "totalPages": 1
}

Create campaign order

POSThttp://callcamp.ai/api/campaigns/{uuid}/orders

Creates a new record and automatically assigns it to the specified campaign. The recordTypeUuid is automatically inherited from the campaign configuration.

Body Parameters

FieldTypeDescription
status enumInitial status for the call order.
record *objectThe contact record details.

Record Fields

FieldTypeDescription
name stringFull name (auto-generated if not provided).
firstName stringFirst name.
lastName stringLast name.
email stringEmail address.
phoneNumber *stringPhone number in E.164 format.
country stringISO country code.
parameters objectCustom field values matching the record type.

Note: The record.parameters structure must match the schema defined by the campaign's associated Record Type.

Responses

JSON
{
  "uuid": "order_9z8y7x6w5v4u3t2s1r0q",
  "status": "planned",
  "record": {
    "uuid": "record_12345",
    "name": "John Doe",
    "email": "john@doe.com",
    "phoneNumber": "+1234567890",
    "parameters": {
      "company": "Acme Corp"
    }
  }
}

Update campaign order

PATCHhttp://callcamp.ai/api/campaigns/{uuid}/orders/{orderUuid}

Updates the properties and configuration of a specific campaign order. This is used to schedule calls, update status, or provide specific instructions for the AI assistant.

Body Parameters

FieldTypeDescription
status enumNew status for the order.
scheduledTime datetimeISO 8601 date-time string.
scheduledTimeTimezone stringTimezone identifier (e.g., "UTC").
scheduledDurationSeconds numberCall duration in seconds.
price numberCost or price.
currencyCode stringThree-letter currency code.
instructions stringAI assistant instructions.

Responses

JSON
{
  "uuid": "order_9z8y7x6w5v4u3t2s1r0q",
  "campaignUuid": "campaign_12345",
  "status": "planned",
  "scheduledTime": "2026-05-10T14:30:00Z",
  "scheduledTimeTimezone": "UTC",
  "scheduledDurationSeconds": 600,
  "price": 10.5,
  "currencyCode": "USD",
  "instructions": "Mention the early bird discount.",
  "record": {
    "uuid": "record_12345",
    "name": "John Doe",
    "phoneNumber": "+1234567890"
  }
}

Associate existing records

POSThttp://callcamp.ai/api/campaigns/{uuid}/orders/associate

Links existing records to the campaign. Only records matching the campaign's recordTypeUuid can be associated.

Body Parameters

FieldTypeDescription
recordUuids *uuid[]Array of record UUIDs to associate.
JSON
{
  "recordUuids": [
    "7d4f10a2-b91c-4d5e-6f7a-8b9c0d1e2f3a",
    "a1b2c3d4-e5f6-4a8b-9c0d-1e2f3a4b5c6d"
  ]
}

Responses

JSON
{
  "success": true
}

Remove record from campaign

DELETEhttp://callcamp.ai/api/campaigns/{uuid}/orders/{orderUuid}

Removes a record from the campaign by deleting the call order. This action does not delete the actual contact record, only its association with this campaign.

Responses

JSON
{
  "success": true,
  "message": "Record removed from campaign successfully"
}