All integrations

CallPage

MESSAGING · MESSAGING

Call-back widgets, their managers, business hours, and templates in that account.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

callpage_get_api_v1_external_managers_allREAD

Get All Managers. GET /api/v1/external/managers/all. Get managers for widget. `widget_id` is REQUIRED: without it CallPage answers 404 `model-not-found`, not a 400 (measured 2026-09-16), so a missing argument looks like a missing endpoint. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

managers.viewwidgets.view
callpage_get_api_v1_external_managers_getREAD

Get Manager. GET /api/v1/external/managers/get. Get manager by user_id and widget_id. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

managers.viewwidgets.view
callpage_get_api_v1_external_sms_allREAD

Get All SMSs. GET /api/v1/external/sms/all. `widget_id` is REQUIRED: without it CallPage answers 404 `model-not-found` rather than a 400 (measured 2026-09-16). Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

sms.viewwidgets.view
callpage_get_api_v1_external_users_allREAD

Get All Users. GET /api/v1/external/users/all. Get users. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

api
callpage_get_api_v1_external_users_getREAD

Get User. GET /api/v1/external/users/get. Get user by id. One of `id` or `email` must be given. With neither, CallPage answers 403 `user-access` -- a third shape again, and not a 400 (measured 2026-09-16). Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

api
callpage_get_api_v1_external_voice_allREAD

Get All Voice Messages. GET /api/v1/external/voice/all. Get voice messages. If no custom voice messages are created this method will return the default ones. `widget_id` is REQUIRED: without it CallPage answers 404 `model-not-found` rather than a 400 (measured 2026-09-16). Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

voice.viewwidgets.view
callpage_get_api_v1_external_widgets_allREAD

Get All Widgets. GET /api/v1/external/widgets/all. Get widgets for given user. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

widgets.view
callpage_get_api_v1_external_widgets_getREAD

Get Widget. GET /api/v1/external/widgets/get. Get widget by id. `widget_id` is REQUIRED: without it CallPage answers 404 `model-not-found` rather than a 400 (measured 2026-09-16). Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

widgets.view
callpage_get_api_v3_external_calls_by_call_idREAD

Get Single Call. GET /api/v3/external/calls/{call_id}. Get single call details. `call_id` is NUMERIC. A non-numeric value answers 404 with an empty body, which is CallPage's unmounted-route signature and reads as though the endpoint did not exist (measured 2026-09-16). Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

calls.view
callpage_get_api_v3_external_calls_historyREAD

Get History. GET /api/v3/external/calls/history. The array filters are sent to CallPage in its own `name[]=value` form; pass them here as ordinary lists. `tel` and `widget_id` are CallPage's own deprecated spellings of `phone_number` and `widget_ids`. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

calls.view
callpage_patch_api_v1_external_calls_by_call_fields_by_fieldWRITE

Update Field. PATCH /api/v1/external/calls/{call}/fields/{field}. Example request: Response: Updates or sets a field value. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

api
callpage_post_api_v1_external_managers_createWRITE

Create Manager. POST /api/v1/external/managers/create. Create manager. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

managers.editwidgets.edit
callpage_post_api_v1_external_managers_deleteWRITE

Delete Manager. POST /api/v1/external/managers/delete. Delete manager. IRREVERSIBLE: this removes a manager from a widget permanently, along with that manager's business-hours schedule for it. CallPage spells it as a POST to a `/delete` path rather than an HTTP DELETE. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

managers.editwidgets.edit
callpage_post_api_v1_external_managers_updateWRITE

Update Manager. POST /api/v1/external/managers/update. Update manager. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

managers.editwidgets.edit
callpage_post_api_v1_external_sms_createWRITE

Create SMS. POST /api/v1/external/sms/create. Create custom SMS. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

sms.editwidgets.edit
callpage_post_api_v1_external_sms_resetWRITE

Reset SMS. POST /api/v1/external/sms/reset. Reset SMS. If no message_id is provided this method will reset all SMSs to default ones. Omitting `message_id` resets EVERY SMS template on the widget to its default, not just one. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

sms.editwidgets.edit
callpage_post_api_v1_external_sms_updateWRITE

Update SMS. POST /api/v1/external/sms/update. Update custom SMS. It is impossible to update default SMS - if you did not create custom SMS yet use this endpoint. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

sms.editwidgets.edit
callpage_post_api_v1_external_users_createWRITE

Create User. POST /api/v1/external/users/create. Create user. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

api
callpage_post_api_v1_external_users_deleteWRITE

Delete User. POST /api/v1/external/users/delete. Delete user by id. IRREVERSIBLE: this removes a CallPage user permanently; the account, its manager assignments and its caller id go with it. CallPage spells it as a POST to a `/delete` path rather than an HTTP DELETE. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

api
callpage_post_api_v1_external_users_updateWRITE

Update User. POST /api/v1/external/users/update. Update user by id. This operation can override parent user, depending on who makes the request! Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

api
callpage_post_api_v1_external_voice_createWRITE

Create Voice Message. POST /api/v1/external/voice/create. Create custom voice message. The file parameter should contain the valid URL with file. This file should meet the following conditions: Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

voice.editwidgets.edit
callpage_post_api_v1_external_voice_resetWRITE

Reset Voice Message. POST /api/v1/external/voice/reset. Reset custom voice message. If no message_id is provided this method will reset all voice messages to default ones. Omitting `message_id` resets EVERY voice message on the widget to its default, not just one. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

voice.editwidgets.edit
callpage_post_api_v1_external_voice_updateWRITE

Update Voice Message. POST /api/v1/external/voice/update. Update existing custom voice message. It is impossible to update default message - if you did not create custom message yet use this endpoint. The file parameter should contain the valid URL with file. This file should meet the following conditions: Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

voice.editwidgets.edit
callpage_post_api_v1_external_widgets_add_usersWRITE

Add Users. POST /api/v1/external/widgets/add-users. Add users to widget. This method will create a manager for each provided user_id. For user_id array there should be business_times array equal in size (in case when there is no business_times parameter provided, default value will be used instead). If the pair of user_id and widget_id returns existing manager, this manager will be updated instead. Users must already exist; create them first. `business_times` is an array of per-user schedules, one for each id in `user_id`. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

widgets.edit
callpage_post_api_v1_external_widgets_callWRITE

Simple Call. POST /api/v1/external/widgets/call. Make a call to all available managers in the system. If no managers are available at the moment a scheduled call will be made. You will be able to see the call information in dashboard. IRREVERSIBLE: this places a REAL TELEPHONE CALL to the number given and bills the CallPage account for it. Nothing is deleted, and nothing can be undone either: the phone has already rung. It is not idempotent -- a retry dials the number a second time. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

widgets.call
callpage_post_api_v1_external_widgets_call_or_scheduleWRITE

Call or Schedule. POST /api/v1/external/widgets/call-or-schedule. Make a call to all available managers in the system. If no managers are available at the moment a scheduled call on the first available slot will be made. You will be able to see the call information in dashboard. Falls back to SCHEDULING the call when no manager is available, and CallPage sends the visitor an SMS saying to expect it; the simple-call tool fails in that situation instead. IRREVERSIBLE: this places a REAL TELEPHONE CALL, or schedules one for later, and bills the CallPage account for it. Nothing is deleted, and nothing can be undone: the phone has already rung, or an SMS has told the visitor to expect it. It is not idempotent -- a retry dials the number a second time. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

widgets.call
callpage_post_api_v1_external_widgets_createWRITE

Create Widget. POST /api/v1/external/widgets/create. Create a widget, add manager and return new widget's id. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

widgets.edit
callpage_post_api_v1_external_widgets_deleteWRITE

Delete Widget. POST /api/v1/external/widgets/delete. Delete widget by id. IRREVERSIBLE: this removes a widget permanently, taking its managers, voice messages, SMS templates and installation with it; the snippet on the customer's website stops working. CallPage spells it as a POST to a `/delete` path rather than an HTTP DELETE. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

widgets.edit
callpage_post_api_v1_external_widgets_updateWRITE

Update Widget. POST /api/v1/external/widgets/update. Update a widget. This method allows to edit widget's settings as well. Returns CallPage's `data` payload. A CallPage failure can arrive with HTTP 200 and `hasError: true`; this integration raises on it rather than reporting a success.

widgets.edit

Put CallPage behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.