Only this pageAll pages
Powered by GitBook
1 of 25

Verified Business APIs

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Getting Started

Welcome to the API Documentation for our Verified Business Caller ID Solution!

In this you'll find everything you need to seamlessly integrate our APIs into your systems. Our clear, step-by-step guides and detailed references are designed to help you streamline your processes, enhance customer interactions, and drive operational efficiency. Explore the documentation and unlock the full potential of our solution today.

API URLs to be used

Base URL :

Note: The above URL is for API requests only. The corresponding frontend web application URL where you can log in and verify the data is

https://enterprise-portal-noneu.truecaller.com
https://business.truecaller.com/signin

Authentication

This page provides the steps to generate the Key ID and Secret API Key.

Generate API Keys

API keys are used to ensure the authenticity of interactions between your application and Truecaller for Business APIs.A maximum of 10 tokens can be created every 30 minutes.

  1. Truecaller for Business uses API keys for authenticating API requests.

  2. You can view and manage your API keys from the True caller for Business console.

  3. Click on “Manage API Keys” from the overflow menu beside the account name in the left hand side panel of the console.

  4. Click on the “Create API Key” button.

  5. Enter the Key Name and Description (optional). You can see the access level underneath the description box for all available features.

  6. Click on “Generate”. This will take you to the screen which has the option to copy/save the Key ID and Secret API Key. This file should be downloaded and kept securely.

A total of 5 API Keys can be configured under a customer account at a given point in time.

Customers will not be able to see the secret key and key ID once generated. It is advised that you should copy the secret key and key ID and save it in a safe and secure folder. In case if you have failed to secure the secret key and key ID ,there is an option to regenerate the secret key and key ID using the regenerate option on the Manage API Keys Page

Call Reason Errors

You can find explanations for errors related to Call Reason in this section.

  1. Invalid input: The issue is with the request payload. Please check if the request body is well-formed, the key names and values are as per the API documentation. Special characters, if any, are not allowed in the call reason. For more details on special characters, refer to this link.

  2. Not a Truecaller user: The receiver is not a Truecaller user, or they might have uninstalled the app or switched to a new device that does not have Truecaller installed.

  3. OS not supported: User is on an operating system other than Android. Please note that personalized call reason is only available for Android devices.

  4. App version not supported: User is on a very old version of Android which is not supported now.

  5. Failed to push: This is returned when system is unable to establish a connection with user's device. Reasons can include but are not limited to:

    1. Out of network zone

    2. Bad internet

    3. Airplane mode

Error scenarios for Webhooks

This page list the errors which we can encounter while using the webhooks.

There are 3 error scenarios for webhooks:

  1. Webhook not found :For each webhook event triggered, we fetch the latest configuration of webhook ( this is needed in case if the webhook url is updated or the config is deleted). If config is deleted, we get webhook_not_found .

  2. Events:

    • Rescheduled error: This state of the event occurs when we are unable to send webhook request ( i.e. we didnt get 200 OK response ) in first attempt, retry logic kicks in.

    • Webhook Deleted: Webhook config is deleted.

  3. Webhook Failed: We retry webhook events 7 times, if none of the attempts are successful, admins receive failure email.

Call Personalization Batch v2 Status

Each record indicates whether the record was successfully pushed or not.

Replace the {{BaseURL}} with the one mentioned

GET {{BaseURL}}/v2/clients/{clientAccountId}/dynamic_call_records

Generate Access Token

This API is used to generate an access token using the Key ID and Secret API Key created from the Manage API Keys page

Validity of the auth token is 60min ,post that we need to recall the API for fresh auth token value.

Replace the {{BaseURL}} with the one mentioned

Number Management

Businesses can efficiently automate the management of their Truecaller business numbers using our comprehensive Number Management APIs.

These APIs offer a robust set of features to streamline various tasks, including:

  • Listing Verified Numbers: Register and display your business numbers as verified on the Truecaller platform.

  • Delisting Numbers: Easily remove numbers that are no longer in use, ensuring accuracy and relevance.

  • Retrieving Verified Number Information: Access detailed information about your verified numbers.

  • Managing Feature Sets: Obtain Feature Set IDs to organise and control numbers within specific feature sets.

  • By leveraging these APIs, businesses can significantly simplify and automate their number ownership and management processes, ensuring that their Truecaller profiles are always accurate and up-to-date.

    When you use our APIs to list or delist a number, these operations are asynchronous. This means they don't happen instantly; there's a processing period.

    It's important to know that if you try to delist a number and then immediately list the same number while the delisting is still being processed (i.e., it hasn't been fully delisted or failed), your subsequent listing request for that number will be ignored. It won't be picked up for processing until the initial delisting action is complete.

    Webhooks

    To help you stay informed about events related to the features in your enterprise plan, you can easily configure Webhooks (also known as HTTP callbacks) directly on our Self-serve platform. This ensures your systems are automatically notified, keeping you seamlessly updated.

    Webhooks are currently available for two key features: Call Me Back and User Feedback.

    Should you wish to learn more about how webhooks can benefit your operations, please don't hesitate to contact us at: [email protected]. We'd be happy to assist you!

    Deprecated API's

    This Page lists all the Deprecated API which should not be used for new customers.

    {clientAccountId} : This can be taken directly from the self serve portal under the Manage API Keys Page

    For Authorization Token kindly refer the Authentication section followed by Generate Access Token API

    Headers

    Name
    Value

    Content-Type

    Required

    application/json

    Authorization

    Required

    Bearer <token>

    Query Parameter

    Name
    Value
    Type

    batchId

    Required

    This is received from the Create Dynamic Call Records API response

    string

    Response

    here
    POST {{BaseURL}/clients/{clientAccountId}/token

    {clientAccountId} : This can be taken directly from the self serve portal under the Manage API Keys Page

    Headers

    Name
    Value
    Description

    X-Public-Access

    allow

    Required

    Body

    Name
    Type
    Description

    api_key

    string

    Required API key from the Manage API Keys Page

    key_id

    string

    Required Key ID from the Manage API Keys Page

    Request

    Response

    here

    Call Personalisation

    Build secure and personalized calling experiences with end to end authentication of every call. Deliver personalized context and identity with APIs that seamlessly integrate into your existing calling infrastructure.

    Here are some use cases for Call Personalisation APIs:

    • Enhance your Verified Business identity by making every call secure with call-by-call assurance through an automated signing process.

    • Calling operations done through non-company owned numbers where a permanent identity cannot be listed.

    • Scheduled calling operations that are run daily, where your business wants to add a clean identity and personalized call context for optimal performance.

    • Calls often made from one business number to multiple users.

    • Refreshing your identity on Truecaller easily, if your business has limited calling numbers.

    Pre-requisites for using Call Personalisation APIs:

    • : Only “Dynamic Label IDs” can be used in the API request for placing calls. These dynamic label IDs need to be created in the Truecaller for Business console, after which the dynamic label ID can be copied from the Caller ID page in the console

    • A subscription to a package that includes Call Personalisation APIs.

    Integration steps:

    • .

    If your business is interested in knowing more about Call Personalisation APIs, please reach out to -> [email protected]

    Details of Dynamic Label

    This API is used to get the details of the Dynamic Labels created on the Truecaller

    Replace the {{BaseURL}} with the one mentioned here

    GET {{BaseURL}}/clients/{clientAccountId}/labels

    {clientAccountId} This can be taken directly from the self serve portal under the Manage API Keys Page

    For Authorization Token kindly refer the section followed by API

    Headers

    Name
    Value

    Response

    Webhook Timeouts

    Truecaller for Business implements three distinct timeouts for webhooks to ensure reliable and efficient delivery of notifications:

    • Connection Timeout: This timeout governs the duration allowed for establishing the initial connection to your webhook URL's HTTP server.

    • Read Timeout: Once the connection is successfully established, this timeout sets the maximum waiting period for reading data from the HTTP server at any point during the process.

    • Total Webhook Timeout: Beyond the connection and read timeouts, Truecaller for Business also enforces a comprehensive timeout that limits the total execution time for any single webhook call.

    The values for each timeout are as follows:

    Timeout
    Duration

    Webhook execution can fail due to timeouts or errors. For each event where webhook call fails, the calls are retried up to 7 times based on the following schedules:

    Retry
    Time

    These details are mentioned in the webhook event page.

    User Feedback

    The User Feedback API helps you to download logs for User Feedback campaigns running on the numbers where this feature has been enabled

    Replace the {{BaseURL}} with the one mentioned here

    GET /clients/{clientAccountId}/openapi/feedback_stack/{surveyId}/export_report

    {clientAccountId} : This can be taken directly from the self serve portal under the Manage API Keys Page

    Headers

    Name
    Value

    Query Parameter

    Name
    Type
    Description

    Response

    Webhook Configuration

    A total of 5 webhooks can be configured under a customer account at a given point in time.

    To configure your webhooks, simply follow these steps:

    1. Access Webhook Management: Click on the overflow menu (usually represented by three dots or lines) and select "Manage Webhooks."

    2. Create a New Webhook: Click on the "Create webhook" button to begin adding a new webhook.

    3. Enter Webhook Details:

      • Webhook Name: Provide a descriptive name for your webhook in the designated field. This name will be used to identify the webhook within the Truecaller for Business console. Please ensure the name is unique at any given time and does not exceed 50 characters.

      • Webhook URL: Enter the endpoint to which Truecaller should send the webhook notifications. For enhanced security, you might consider including a self-generated key as part of your URL (e.g., https://server.yourcompany.com/tcbiz-webhook?key=<yourkey>).

    4. Select Event Type: Choose the specific type of webhook event you wish to receive notifications for. Currently, webhooks are available for Call Me Back and User Feedback events. Whenever a response occurs for these enabled features, we will capture it as an event and send it to your configured URL.

      You can review event logs for your webhooks on both the "Manage Webhooks" page and the dedicated "Webhook events" page. Detailed information for each event is available on its respective event details page, with logs retained for the last 30 days.

    5. Finalize Creation: Once all the required details are filled, click "Create." Your webhook will now be successfully set up.

    6. Test Your Webhook : After creation, you can test your webhook to ensure it's functioning correctly.

      • Click on "Test Webhook" next to an existing webhook.

      • Select the event you wish to test (the default is "Call Me Back").

      • Click "Test URL" to send a test notification.

    Update or Delete Webhook

    Batch Status

    Fetch status of records for Batch-ID returned in the Bulk Call Personalisation API.

    Replace the {{BaseURL}} with the one mentioned

    GET {{BaseURL}}/clients/{clientAccountId}/dynamic_call_records

    Call Me Back

    The Call Me Back API helps you to download Call Me Back requests for the numbers for which this feature has been enabled.

    Replace the {{BaseURL}} with the one mentioned

    GET /clients/{clientAccountId}/openapi/callback-logs/summary

    {
        "client_account_id": "91c173bb-28d8-4030-9722-8663ff9589f3",
        "batch_id": "0ca10281-11a0-4f86-bb27-7452da543cb6",
        "data": [
            {
                "id": "c458227a-a730-4ced-81b4-19c21ea8d97c",
                "caller_number": "************",
                "receiver_number": "************",
                "label_id": "c6d86658-008d-4c08-98fb-2bf2649d59a5",
                "dynamic_label_name": "Centro Bank KYC Department",
                "dynamic_call_reason": "Calling you for KYC Verification",
                "starts_at": 1753246858000,
                "ends_at": 1753362058000,
                "status_info": {
                    "status": "success"
                },
                "created_at": "2025-07-23T09:07:32.21Z"
            }
        ]
    }
    {
        "slug": "authorization-error",
        "message": "please login again"
    }
    {
        "key_id": "aaaee1b1-7a2f-4c0b-8271-4e2b41c1bf01",
        "api_key": "caf1694e-b8a4-4082-82fc-105a0a63eafe"
    }
    {
        "token": "a4p0pZ2x3aEk9TYGxPZldm0qvWQknTXTINPZxNpIZ32yWmiOFtGqv2mEU7nJlQO6",
        "created_at": "2025-07-10T06:59:05.72Z"
    }
    {
        "slug": "invalid-input",
        "message": "api_key is required"
    }

    {clientAccountId} : This can be taken directly from the self serve portal under the Manage API Keys Page

    Headers

    Name
    Value

    Authorization

    Required

    Bearer <token>

    Query Parameter

    Name
    Type
    Description

    from

    string

    Required Start time in milliseconds

    to

    string

    Required End time in milliseconds

    Response

    API NOT WORKING
    {
        "message": "No CMB found for client Id"
    }
    here
    Generate Access Token.
  • Create a dynamic label on Truecaller for Business console:

    • Log in to the Truecaller for Business console.

    • Navigate to Business Identity in the left hand side panel.

    • Click on "Identity" and then go to the Caller ID Details section.

    • Click on "Create a Label".

    • Select the caller ID type as Dynamic Caller ID.

    • Add a logo for your dynamic caller ID. The logo should be a PNG file, with dimensions 200x200 and file size less than 2 MB.

    • Add a label name of less than 40 characters for your Dynamic Caller ID.

    • Choose the category for your business from the dropdown after creating a label name.

    • Click on "Create Caller ID' to finish creating your dynamic caller ID.

  • Check the status of pushed records.

  • Hit the dialer and place the call.

  • Dynamic Label ID
    Create an API Key

    Authorization

    Required

    Bearer <token>

    from_date

    string

    Required

    API NOT WORKING
    {
        "message": "No CMB found for client Id"
    }

    2 days after the previous retry

    Connection Timeout

    20,000 ms

    Read Timeout

    20,000 ms

    Webhook Execution Timeout

    60,000 ms

    1

    2 minutes after the failure

    2

    6 minutes after the previous retry

    3

    30 minutes after the previous retry

    4

    1 hour after the previous retry

    5

    5 hours after the previous retry

    6

    1 day after the previous retry

    7

    Authorization

    Required

    Bearer <token>

    Authentication
    Generate Access Token
    [
        {
            "id": "255297eb-7f13-44f9-967a-f287ff0f5025",
            "name": "FlowerEra",
            "logo_url": "https://business-priority-media-noneu.truecaller.com/staging/logos/06930f35-4b9c-4144-b748-9ace309c70d2-1751871235271177747.png",
            "category": 10,
            "sub_category": 142,
            "created_by_email": "[email protected]",
            "created_at": "2025-07-07T06:53:55.402122Z",
            "label_type": "dynamic"
        },
        {
            "id": "d3c2ff94-beb4-412f-a7d5-daebf9596cfa",
            "name": "test-label-priority",
            "logo_url": "https://business-priority-media-noneu.truecaller.com/staging/logos/06930f35-4b9c-4144-b748-9ace309c70d2-1739786448319894688.png",
            "category": 1,
            "sub_category": 16,
            "created_by_email": "[email protected]",
            "created_at": "2025-02-17T10:00:48.506685Z",
            "label_type": "dynamic"
        }
    ]
    {
        "slug": "forbidden-error",
        "message": "not authorized. please contact your admin."
    }
    {clientAccountId} This can be taken directly from the self serve portal under the Manage API Keys Page

    Query Parameter

    Name
    Value

    batchId

    Required

    This is received from the Create Dynamic Call Records API response

    Headers

    Name
    Value

    Authorization

    Required

    Bearer <token>

    Response

    [
        {
            "id": "3ce1e19f-182d-4f04-ae28-422ca9f0bcd4",
            "client_account_id": "91c173bb-28d8-4030-9722-8663ff9589f3",
            "batch_id": "c951e498-abf3-4e50-ba94-a8065ca743f4",
            "caller": "************",
            
    
    {
        "slug": "internal-server-error",
        "message": "500/50011 - Failed to parse token"
    }
    here

    Event Types

    We support Call Me Back and User Feedback events for webhooks. Each event has its resources that can be referred from the resource column.

    Event
    Event Trigger
    Resources

    Call me back

    When a user requests a call me back from the Truecaller App in the scenario of a missed / rejected call

    • Type - Feature for which the webhook is being used.

    • Created At - Event creation time.

    • JSON content - Structure of payload data that is sent to the Business Client.

    User Feedback

    When a user responds to a campaign based on the type of call, answered or missed / rejected. This response is from the campaign on the Truecaller app.

    • Type: Feature for which the webhook is being used.

    • Created at: event creation time.

    • JSON content: structure of payload data that is sent to the business client.

    Configure your systems to consume webhook response by assigning appropriate fields to the below scenarios :

    Payload - Call Me Back

    #For Customers with Slot Picker

    #For Customers without Slot Picker

    Payload - User Feedback

    List Number

    This API is used to list the business numbers on the Truecaller Portal

    Replace the {{BaseURL}} with the one mentioned here

    The maximum limit to list is 10,000 numbers per feature set.

    POST{{BaseURL}}/clients/{clientAccountId}/number_management/feature_sets/{featureSetId}/numbers/publish

    {clientAccountId} : This can be taken directly from the self serve portal under the Manage API Keys Page

    {featureSetId}: This can be taken directly from the feature set configuration page on the self serve portal

    For Authorization Token kindly refer the section followed by API

    Headers

    Name
    Value

    Body

    Name
    Type
    Validations
    Description

    Request

    Response

    Feature-set ID

    This API is used to get feature-set ID to list and delist numbers.

    Replace the {{BaseURL}} with the one mentioned

    GET{{BaseURL}}/clients/{clientAccountId}/number_management/feature_sets

    DeList Number

    This API is used to delist and remove business numbers from the client account and its feature-set.

    Replace the {{BaseURL}} with the one mentioned

    POST{{BaseURL}}/clients/{clientAccountId}/number_management/feature_sets/{featureSetId}/numbers/delist

    Call Personalisation (Bulk)

    Async API to send call personalisation data for a Caller-Receiver combination

    Replace the {{BaseURL}} with the one mentioned

    POST {{BaseURL}}/clients/{clientAccountId}/dynamic_call_records

    Call Personalisation Real-time v2

    Real-time synchronous API to personalize calls for a given Caller-Receiver combination

    Replace the {{BaseURL}} with the one mentioned

    POST {{BaseURL}}/v2/clients/{clientAccountId}/dynamic_call_record

    "receiver"
    :
    "************"
    ,
    "label_id": "c6d86658-008d-4c08-98fb-2bf2649d59a5",
    "label_name": "Flower",
    "call_reason": "Flower Delivery",
    "starts_at": 1752760800000,
    "ends_at": 1752868800000,
    "status": "success",
    "created_at": "2025-07-17T08:52:55.383Z"
    }
    ]

    Content-Type

    Required

    application/json

    Authorization

    Required

    Bearer <token>

    phone_numbers

    string

    NA

    Additionally, there’s a separate maximum limit associated with the client account ID.numbers to be added to feature set

    Authentication
    Generate Access Token
    // For Customers with Slot Picker - Scenario 1
    // Happy Flow
    
    {
      "event_id": "860a7f4c-6545-40f1-85be-3655edde650f",
      "client_account_id": "91c173bb-28d8-4030-9722-8663ff9589f3",
      "event_type": "cmb",
      "created_at": "1753945760",
      "cmb_payload": {
        "business_number": "910987654321",
        "feature_set": "Fresh Flower Delivery",
        "client_number": "911234567890",
        "requested_at": "1753945760",
        "requested_date": "2025-08-02",
        "requested_slot": "Saturday",
        "preferred_from_time": "1754116200",
        "preferred_to_time": "1754118000",
        "is_interested": true,
        "alternate_number": ""
      }
    }
    // For Customers with Slot Picker - Scenario 2
    // SIMinfo related issues on device
    
    {
      "event_id": "119be0c3-d23f-4728-8e42-d936c2e8dad6",
      "client_account_id": "91c173bb-28d8-4030-9722-8663ff9589f3",
      "event_type": "cmb",
      "created_at": "1753945773",
      "cmb_payload": {
        "business_number": "910987654321",
        "feature_set": "Testfeature",
        "client_number": "Phone number not available",
        "requested_at": "1753945773",
        "requested_date": "2025-08-02",
        "requested_slot": "Friday",
        "preferred_from_time": "1754031600",
        "preferred_to_time": "1754033400",
        "is_interested": true,
        "alternate_number": "911234567898"
      }
    }
    // For Customers with Slot Picker - Scenario 3 
    // Customers who are Not Interested 
    
    {
      "event_id": "17c023e6-444c-4938-b09f-69b31aa2e55a",
      "client_account_id": "91c173bb-28d8-4030-9722-8663ff9589f3",
      "event_type": "cmb",
      "created_at": "1761719222",
      "cmb_payload": {
        "business_number": "911234567897",
        "feature_set": "New Feature Set-12",
        "client_number": "918765432198",
        "requested_at": "1761719222",
        "requested_date": "NA",
        "requested_slot": "NA",
        "preferred_from_time": null,
        "preferred_to_time": null,
        "is_interested": false,
        "alternate_number": ""
      }
    }
    // For Customers without Slot Picker
    
    {
      "event_id": "bbd5d02c-363a-4661-a948-2bcb073f09dd",
      "client_account_id": "91c173bb-28d8-4030-9722-8663ff9589f3",
      "event_type": "cmb",
      "created_at": "1762500813",
      "cmb_payload": {
        "business_number": "918069510075",
        "feature_set": "cmb",
        "client_number": "Phone number not available",
        "requested_at": "1762500813",
        "requested_date": "7 November 2025",
        "requested_slot": "Saturday",
        "preferred_from_time": "1762585200",
        "preferred_to_time": "1762587000",
        "is_interested": true,
        "alternate_number": "918047360788"
      }
    }
    {
      "event_id": "7719f451-5436-470a-98ba-422b997582f8",
      "client_account_id": "91c173bb-28d8-4030-9722-8663ff9589f3",
      "event_type": "user_feedback",
      "created_at": "1753946877",
      "survey_payload": {
        "name": "Flower Quality Check",
        "business_number": "+910987654321",
        "feature_set": "Fresh Flower Delivery",
        "client_number": "911234567890",
        "requested_at": "1753946877",
        "user_responses": [
          {
            "question": "How was the delivery experience?",
            "response": "5"
          },
          {
            "question": "Flower Quality?",
            "response": "Good"
          }
        ]
      }
    }
    {
      "phone_numbers": [
        "911234567891"
      ]
    }
    {
        "client_account_id": "91c173bb-28d8-4030-9722-8663ff9589f3",
        "created_by_email": "[email protected]",
        "phone_type": "verified",
        "new_numbers": [
            "911234567891"
        ],
        "other_phonetype_numbers": [],
        "existing_numbers": [],
        "others_numbers": [],
        "invalid_numbers": [],
        "other_feature_set_numbers": [],
        "status": "pending",
        "migrated_numbers": [],
        "delisted_numbers": [],
        "updated_numbers": []
    }
    {
        "slug": "forbidden-error",
        "message": "not authorized. please contact your admin."
    }

    {clientAccountId} : This can be taken directly from the self serve portal under the Manage API Keys Page

    For Authorization Token kindly refer the Authentication section followed by Generate Access Token API

    Query Parameters

    Name
    Value
    Type

    department_id

    optional, to filter by department

    string

    operation_id

    optional, to filter by operation

    string

    process_id

    optional, to filter by process or subprocess

    string

    limit

    optional, Limit per page

    integer

    Header

    Name
    Value

    Authorization

    Required

    Bearer <token>

    Response

    {
        "feature_sets": [
            {
                "id": "069d2e3a-41e6-41f9-a768-157d7e3bd6b9",
                "name": "prio1",
                "description": "",
                "status": 
    
    here

    {clientAccountId} : This can be taken directly from the self serve portal under the Manage API Keys Page

    {featureSetId}: This can be taken directly from the feature set configuration page on the self serve portal

    For Authorization Token kindly refer the Authentication section followed by Generate Access Token API

    Headers

    Name
    Value

    Content-Type

    Required

    application/json

    Authorization

    Required

    Bearer <token>

    Body

    Name
    Type
    Validations
    Description

    phone_numbers

    string

    minLength: 1 maxLength: 10000

    Required.

    List of phone numbers to be added to feature set

    Request

    Response

    here
    {clientAccountId} : This can be taken directly from the self serve portal under the Manage API Keys Page

    Headers

    Name
    Value

    Content-Type

    Required

    application/json

    Authorization

    Required

    Bearer <token>

    Body

    Name
    Type
    Validations
    Description

    call_records

    object

    NA

    Call Record object

    call_reason

    string

    minLength: 3 maxLength: 10

    Optional

    The call reason to be displayed.

    caller

    string

    Format Supported:"91**********"

    Caller number should be without the “+” character.

    Request

    {
        "call_records": [
            {
                "call_reason": "Flower Delivery",
                "caller": "**********",
                "ends_at": 2,
                "label_id": 
    

    Response

    API Rate Limits

    • Truecaller for Business restricts API requests when you exceed the limits entitled to your business.

    • Each token can handle 100 requests per second

    • Maximum of 10 tokens can be created in every 30 minutes

    here
    {clientAccountId} : This can be taken directly from the self serve portal under the Manage API Keys Page

    This API can handle 100 requests per second per token.

    For Authorization Token kindly refer the Authentication section followed by Generate Access Token API

    Headers

    Name
    Value

    Content-Type

    Required

    application/json

    Authorization

    Required

    Bearer <token>

    Body

    Name
    Type
    Validations
    Description

    dynamic_call_reason

    string

    minLength: 10 maxLength: 100

    Optional.

    The call reason to be displayed.

    caller_number

    string

    Format Supported:"91**********"

    Required The phone no. of the caller

    ends_at

    integer (int64)

    Epoch timestamp in milliseconds

    Request

    Response

    here

    Call Personalisation Real-time API

    Sync API to send call personalisation data for a Caller-Receiver combination. This is a real-time API

    Replace the {{BaseURL}} with the one mentioned here

    POST {{BaseURL}}/clients/{clientAccountId}/dynamic_call_record

    {clientAccountId} : This can be taken directly from the self serve portal under the Manage API Keys Page

    Headers

    Name
    Value

    Body

    Name
    Type
    Validations
    Description

    Request

    Response

    API Rate Limits

    • Truecaller for Business restricts API requests when you exceed the limits entitled to your business.

    • Each token can handle 100 requests per second

    • Maximum of 10 tokens can be created in every 30 minutes

    Call Personalisation Batch v2

    This endpoint pushes the dynamic caller ID details to the respective TC users.

    Replace the {{BaseURL}} with the one mentioned

    POST {{BaseURL}}/v2/clients/{clientAccountId}/dynamic_call_records

    Number details

    This API is used to get meta-data of listed business numbers.

    Replace the {{BaseURL}} with the one mentioned

    GET{{BaseURL}}/clients/{clientAccountId}/number_management/numbers

    {
        "slug": "forbidden-error",
        "message": "not authorized. please contact your admin."
    }
    {
      "phone_numbers": [
        "911234567891"
      ]
    }
    {
        "client_account_id": "91c173bb-28d8-4030-9722-8663ff9589f3",
        "phone_type": "",
        "processing_numbers": [],
        "new_numbers": [],
        "other_phonetype_numbers": [],
        "existing_numbers": [
            "911234567891"
        ],
        "others_numbers": [],
        "invalid_numbers": [],
        "other_feature_set_numbers": [],
        "status": "pending"
    }
    {
        "client_account_id": "91c173bb-28d8-4030-9722-8663ff9589f3",
        "phone_type": "",
        "processing_numbers": [],
        "new_numbers": [
            "911234567891"
        ],
        "other_phonetype_numbers": [],
        "existing_numbers": [],
        "others_numbers": [],
        "invalid_numbers": [],
        "other_feature_set_numbers": [],
        "status": "failed"
    }
    {
        "status": "success",
        "message": "Records Uploaded Successfully. BatchID: 6dabe53b-14a5-44bf-9bab-3dda8b0fee54"
    }
    {
        "status": "failure",
        "message": "ends_at cannot be older than current time. BatchID: d30ca8f7-ae64-4c30-8700-d63f6b2f1dd6"
    }
    {
        "slug": "authorization-error",
        "message": "please login again"
    }
    {
        "label_id": "c6d86658-008d-4c08-98fb-2bf2649d59a5",
        "dynamic_label_name": "Flower rasm",
        "dynamic_call_reason": "Flower Delivery",
        "caller_number": "918861277591", 
        "receiver_number": "919035712806",
        "starts_at": 1753088751000,
        "ends_at": 1753103151000
    }
    {
        "status_info": {
            "status": "success",
            "message": "Record processed successfully"
        }
    
    {
        "status_info": {
            "status": "error",
            "field": "ends_at",
            "message": "Request body is invalid: ends_at cannot be older than current time"
        }
    }
    "draft"
    ,
    "process_id": "318d5ae4-d2ad-4dc6-898a-861347ce279d",
    "client_account_id": "91c173bb-28d8-4030-9722-8663ff9589f3",
    "label_id": "7c7ec202-96cc-4c5f-8b24-23cbc07a2a8a",
    "call_reason_id": "689f6ce5-c03d-4d96-8af8-c8fb9b52510d",
    "video_caller_id": null,
    "business_profile_id": null,
    "call_me_back": false,
    "survey": false,
    "department_id": "8e16b0d3-0953-40d0-9079-2a412363063e",
    "department_name": "QA Test new flow edit",
    "operation_id": "14349208-1e61-4f88-81c5-2f55dfc755db",
    "calling_operation_id": "690aa251-122e-4cbc-87a8-8d270fffb218",
    "calling_operation_name": "Delivery",
    "process_name": "newProcess",
    "sub_process_name": "subPro",
    "created_at": "2025-07-16T10:15:04.800203Z",
    "updated_at": "2025-07-16T10:15:04.800203Z"
    },
    {
    "id": "684de058-3d09-4b05-ba65-3612b5cf616b",
    "name": "New Feature Set-7",
    "description": "",
    "status": "draft",
    "process_id": "510ab615-1dda-4cac-97f3-7975e10a4cd5",
    "client_account_id": "91c173bb-28d8-4030-9722-8663ff9589f3",
    "label_id": "7c7ec202-96cc-4c5f-8b24-23cbc07a2a8a",
    "call_reason_id": "f435f291-6508-4362-84bb-00100f008544",
    "video_caller_id": null,
    "business_profile_id": null,
    "call_me_back": false,
    "survey": false,
    "department_id": "85c87025-35e2-4e68-9257-0517609cfd3d",
    "department_name": "Listingdelisting",
    "operation_id": "358328f9-d99e-49ec-927e-28029efb0dde",
    "calling_operation_id": "0cb2cb40-8c23-44ce-b546-6d9b6b66af88",
    "calling_operation_name": "Sales",
    "process_name": "Listingdelisting",
    "sub_process_name": "",
    "created_at": "2025-07-16T10:12:24.561896Z",
    "updated_at": "2025-07-16T10:12:24.561896Z"
    }
    ],
    "pagination_info": {
    "total_page_count": 2,
    "current_page": 1,
    "page_limit": 50
    }
    }

    page

    optional, Current page number

    integer

    "255297eb-7f13-44f9-967a-f287ff0f5025"
    ,
    "label_name": "Flower",
    "receiver": "**********",
    "starts_at": 1
    }
    ]
    }

    Required The phone no. of the caller

    ends_at

    integer (int64)

    NA

    Required The timestamp in milliseconds at which dynamic caller ID should expire. Should not be before the current timestamp. starts_at and ends_at cannot be more than 24 hrs apart

    label_id

    string

    NA

    Optional The label ID of the dynamic label to be used as caller id

    label_name

    string

    minLength: 3 maxLength: 40

    Required The caller ID name to be displayed. If not present it will default to the label name of the label ID provided.

    receiver

    string

    Format Supported:"91**********" Receiver number should be without the “+” character.

    Required The phone no. of the receiver

    starts_at

    integer (int64)

    NA

    Required The timestamp in milliseconds at which dynamic caller ID should start reflecting.

    starts_at and ends_at cannot be more than 24 hrs apart

    Required The timestamp in milliseconds at which dynamic caller ID should expire. Should not be before the current timestamp. starts_at and ends_at cannot be more than 24 hrs apart

    label_id

    string

    NA

    Optional The label ID of the dynamic label to be used as caller id

    dynamic_label_name

    string

    minLength: 3 maxLength: 40

    Required The caller ID name to be displayed. If not present it will default to the label name of the label ID provided.

    receiver_number

    string

    NA

    Required The phone no. of the receiver

    starts_at

    integer (int64)

    Epoch timestamp in milliseconds

    Required The timestamp in milliseconds at which dynamic caller ID should start reflecting.

    starts_at and ends_at cannot be more than 24 hrs apart

    label_id

    string

    NA

    Optional The label ID of the dynamic label to be used as caller id

    label_name

    string

    minLength: 3 maxLength: 40

    Required The caller ID name to be displayed. If not present it will default to the label name of the label ID provided.

    receiver

    string

    Format Supported:"91**********" Receiver number should be without the “+” character.

    Required The phone no. of the receiver

    starts_at

    integer (int64)

    NA

    Required The timestamp in milliseconds at which dynamic caller ID should start reflecting.

    starts_at and ends_at cannot be more than 24 hrs apart

    Content-Type

    Required

    application/json

    Authorization

    Required

    Bearer <token>

    call_reason

    string

    minLength: 3 maxLength: 10

    Optional.

    The call reason to be displayed.

    caller

    string

    Format Supported:"91**********"

    Caller number should be without the “+” character.

    Required The phone no. of the caller

    ends_at

    integer (int64)

    NA

    {
      "call_reason": "Flower Delivery",
      "caller": "91**********",
      "ends_at":1751886000000,
      "label_id": "255297eb-7f13-44f9-967a-f287ff0f5025",
      "label_name": "Delivery",
      "receiver": "91**********",
      "starts_at": 1751879424883
    }

    Required The timestamp in milliseconds at which dynamic caller ID should expire. Should not be before the current timestamp. starts_at and ends_at cannot be more than 24 hrs apart

    {
        "status": "success",
        "message": "Records Uploaded Successfully. BatchID: 6dabe53b-14a5-44bf-9bab-3dda8b0fee54"
    }
    {
        "status": "failure",
        "message": "ends_at cannot be older than current time. BatchID: d30ca8f7-ae64-4c30-8700-d63f6b2f1dd6"
    }
    {
        "slug": "authorization-error",
        "message": "Missing authorization header"
    }
    {clientAccountId} : This can be taken directly from the self serve portal under the Manage API Keys Page

    This API can handle 60 requests per minute per token.

    For Authorization Token kindly refer the Authentication section followed by Generate Access Token API

    Headers

    Name
    Value

    Content-Type

    Required

    application/json

    Authorization

    Required

    Bearer <token>

    Body

    Name
    Type
    Validations
    Description

    call_records

    array of object

    min:1 max: 500

    Required Call record object Maximum batch size is 500 per API Call

    dynamic_call_reason

    string

    minLength: 3 maxLength: 10

    Optional

    The call reason to be displayed.

    caller_number

    string

    NA

    Request

    Response

    here

    {clientAccountId} : This can be taken directly from the self serve portal under the Manage API Keys Page

    Query Parameters

    Name
    Value
    Type

    department_id

    optional, to filter by department

    string

    operation_id

    optional, to filter by operation

    string

    process_id

    optional, to filter by process or subprocess

    string

    feature_set_id

    optional, to filter by feature set

    string

    For Authorization Token kindly refer the Authentication section followed by Generate Access Token API

    Header

    Name
    Value

    Authorization

    Required

    Bearer <token>

    Response

    here
    {
      "call_records":[
            {
              "label_id": "c6d86658-008d-4c08-98fb-2bf2649d59a5",
              "dynamic_label_name": "Centro Bank KYC Department",
              "dynamic_call_reason":  "Calling you for KYC Verification",
              "caller_number": "+91**********",
              "receiver_number": "91**********",
              "starts_at": 1753246858000,
              "ends_at": 1753362058000
            }
          ]
    }
    {
        "batch_id": "b72f7a40-ec3a-462f-b528-da0e8dc87e79"
    }
    {
        "slug": "authorization-error",
        "message": "please login again"
    }
    {
        "numbers": [
            {
                "phone_number": "918848628575230",
                "phone_type": "verified",
                "status": "listed",
                "client_account_id": "91c173bb-28d8-4030-9722-8663ff9589f3",
                "created_by_email": "[email protected]",
                "department": "TestingSanity",
                "operation": "Collections",
                "process": "SanityProcess",
                "subprocess": "",
                "feature_set_name": "New Feature set",
                "call_me_back": "enabled",
                "created_at": "2025-07-28T09:25:19.557139Z",
                "updated_at": "2025-07-28T09:25:23.644159Z",
                "label_name": "testLabel from fs page"
            },
            {
                "phone_number": "918735783247237",
                "phone_type": "verified",
                "status": "listed",
                "client_account_id": "91c173bb-28d8-4030-9722-8663ff9589f3",
                "created_by_email": "[email protected]",
                "department": "TestingSanity",
                "operation": "Collections",
                "process": "SanityProcess",
                "subprocess": "",
                "feature_set_name": "New Feature set",
                "call_me_back": "enabled",
                "created_at": "2025-07-28T09:25:19.557139Z",
                "updated_at": "2025-07-28T09:25:23.671083Z",
                "label_name": "testLabel from fs page"
            }
        ],
        "pagination_information": {
            "total_page_count": 8
        }
    }
    {
        "client_account_id": "91c173bb-28d8-4030-9722-8663ff9589f3",
        "phone_type": "",
        "processing_numbers": [],
        "new_numbers": [
            "911234567891"
        ],
        "other_phonetype_numbers": [],
        "existing_numbers": [],
        "others_numbers": [],
        "invalid_numbers": [],
        "other_feature_set_numbers": [],
        "status": "failed"
    }

    Required The phone no. of the caller

    ends_at

    integer (int64)

    Epoch timestamp in milliseconds

    Required The timestamp in milliseconds at which dynamic caller ID should expire. Should not be before the current timestamp. starts_at and ends_at cannot be more than 24 hrs apart

    label_id

    string

    NA

    Optional The label ID of the dynamic label to be used as caller id

    dynamic_label_name

    string

    minLength: 3 maxLength: 40

    Required The caller ID name to be displayed. If not present it will default to the label name of the label ID provided.

    receiver_number

    string

    NA

    Required The phone no. of the receiver

    starts_at

    integer (int64)

    Epoch timestamp in milliseconds

    Required The timestamp in milliseconds at which dynamic caller ID should start reflecting.

    starts_at and ends_at cannot be more than 24 hrs apart

    limit

    optional, Limit per page

    integer

    page

    optional, Current page number

    integer