NRM API
Authentication
Section titled “Authentication”All API requests must include an API key in the header:
X-ApiKey: YOUR_API_KEY_HEREIf the key is missing or invalid, the server will return a 401 Unauthorized response.
Base URL
Section titled “Base URL”https://app.outboundani.com/nrmEndpoints
Section titled “Endpoints”List ANIs
Section titled “List ANIs”Returns a paginated list of ANIs with performance statistics.
- Method:
GET - URL:
/anis.php - Headers:
X-ApiKey: YOUR_API_KEY_HEREContent-Type: application/json
- Query:
page=1page_size=500
Success Response:
{ "result": "success", "count": 25, "total_anis": 500, "can_next_page": true, "can_prev_page": false, "total_pages": 20, "data": [ { "inbound_campaign": "Campaign Name", "added_to_inventory_date": "2025-01-15", "status": "Active and Being Managed", "phone": "2345678901", "areacode": "234", "locality": "City", "state": "ST", "dials_today": 42, "contacts_day": 15, "contact_rate_day": 35.71, "success_rate_day": 66.67, "block_rate_day": 4.76, "noanswer_rate_day": 59.52, "dials_last30": 1250, "contacts_last30": 450, "contact_rate_last30": 36.00, "success_rate_last30": 62.22, "block_rate_last30": 8.00, "noanswer_rate_last30": 56.00 } ]}Example
Section titled “Example”curl -X GET \ 'https://app.outboundani.com/nrm/anis.php?page=1&page_size=100' \ -H 'X-ApiKey: YOUR_API_KEY_HERE'Remediate ANI
Section titled “Remediate ANI”Submits a request for a specific ANI to be remediated.
- Method:
POST - URL:
/remediate.php - Headers:
X-ApiKey: YOUR_API_KEY_HEREContent-Type: application/json
Body Schema:
type Payload = { ani: string; carrier: string; // 6-digit carrier ID note: string;};Body Example:
{ "ani": "1234567890", "carrier": "130077", "note": "Spam tag identified"}Success Response:
{ "status": "recieved request", "ani": "1234567890"}Failure Response:
{ "status": "failed", "reason": "ani not in inventory", "ani": "1234567890"}Example
Section titled “Example”curl -X POST \ https://app.outboundani.com/nrm/remediate.php \ -H 'X-ApiKey: YOUR_API_KEY_HERE' \ -H 'Content-Type: application/json' \ -d '{ "ani": "1234567890", "carrier": "130077", "note": "Spam tag identified" }'Pause ANI
Section titled “Pause ANI”Pauses an ANI by placing it in a cooling off period.
- Method:
POST - URL:
/pause.php - Headers:
X-ApiKey: YOUR_API_KEY_HEREContent-Type: application/json
Body Schema:
type Payload = { ani: string; carrier: string; // 6-digit carrier ID date: string;};Body Example:
{ "ani": "1234567890", "carrier": "130077", "date": "20250126120000"}Success Response:
{ "status": "paused", "ani": "1234567890"}Failure Response:
{ "status": "failed", "reason": "ani not in inventory", "ani": "1234567890"}Example
Section titled “Example”curl -X POST \ https://app.outboundani.com/nrm/pause.php \ -H 'X-ApiKey: YOUR_API_KEY_HERE' \ -H 'Content-Type: application/json' \ -d '{ "ani": "1234567890", "carrier": "130077", "date": "20250126120000" }'Activate ANI
Section titled “Activate ANI”Activates an ANI, returning it to active dialing status.
- Method:
POST - URL:
/activate.php - Headers:
X-ApiKey: YOUR_API_KEY_HEREContent-Type: application/json
Body Schema:
type Payload = { ani: string; carrier: string; // 6-digit carrier ID date: string; // Date in YYYYMMDDHHMMSS format};Body Example:
{ "ani": "1234567890", "carrier": "130077", "date": "20250126120000"}Success Response:
{ "status": "active", "ani": "1234567890"}Failure Response:
{ "status": "failed", "reason": "no date informed", "ani": "1234567890"}Example
Section titled “Example”curl -X POST \ https://app.outboundani.com/nrm/activate.php \ -H 'X-ApiKey: YOUR_API_KEY_HERE' \ -H 'Content-Type: application/json' \ -d '{ "ani": "1234567890", "carrier": "130077", "date": "20250126120000" }'