Skip to main content

Making a call through an API request with an account API key

Trigger a Speed To Lead™ call with one account API key instead of each widget's own key.

You can trigger a Speed To Lead™ call from your own system with an account API key instead of the widget's API key. The request is the same as in Making a call through an API request — only the key changes.

Why use an account key

  • One key for all your widgets. You still choose the widget with widget_key, but you no longer copy each widget's own API key.

  • Only what it needs. The key can be limited to starting calls and nothing else.

  • Easy to replace. Give it an expiry date or revoke it at any time — the widget and its own key stay as they are.

1. Create the key

Open General settings → Api Key in the dashboard. You can also get there from the widget: Integrations → Connect via API → Create an account API key.

Create a key and tick Write for Speed To Lead calls and leads. Copy the key when it appears: it starts with bc_live_ and is shown only once.

Only the account owner can create keys.

2. Send the request

Put the key in the api-key header and leave api_key out.

👇 Example: POST method and minimum required fields

POST https://app.brightcall.ai/rest/v1/ext/add_call_api/
api-key: %ACCOUNT_API_KEY%
Content-Type: application/json

{
"widget_key": "%WIDGET_KEY%",
"lc_number": "+1234567890"
}

👇 Example: GET method — the key still goes in the header

GET https://app.brightcall.ai/rest/v1/ext/add_call_api/?widget_key={WIDGET_KEY}&lc_number={number}
api-key: %ACCOUNT_API_KEY%

If your tool cannot set headers, send a POST request with the account key in api_key of the JSON body, where the widget's API key would go.

⚠️ Never put an account key in the URL. Links end up in logs and browser history. A request with an account key in the URL is refused with 401, and no call is made.

Every optional field — custom parameters, lc_number_2, country, agents, future_unixstamp — works exactly as described in the main article.

3. If a call is refused

Code

Message

What to do

401

api key is not recognized, api key has been revoked or api key has expired

Check that you copied the whole key, or create a new one

401

account API keys are not accepted in the URL

Move the key to the api-key header or to the POST body

403

api key is missing the required scope: s2l.calls:write

Tick Write for Speed To Lead calls and leads on this key, or use a key that has it

403

api key has no access to this widget

The widget belongs to another account: use a key of the account that owns the widget

400

api_key is required

The request carried no key at all

The widget's API key keeps working

Requests with widget_key and the widget's own api_key work exactly as before — you do not have to change an existing integration.

The old account key — the one under Legacy user api key on the same Api Key tab, without bc_live_ — does not start calls. Use the widget's API key or a new account key.

If you have any questions, please email us at [email protected]

Did this answer your question?