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_allREADGet 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.
callpage_get_api_v1_external_managers_getREADGet 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.
callpage_get_api_v1_external_sms_allREADGet 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.
callpage_get_api_v1_external_users_allREADGet 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.
callpage_get_api_v1_external_users_getREADGet 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.
callpage_get_api_v1_external_voice_allREADGet 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.
callpage_get_api_v1_external_widgets_allREADGet 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.
callpage_get_api_v1_external_widgets_getREADGet 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.
callpage_get_api_v3_external_calls_by_call_idREADGet 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.
callpage_get_api_v3_external_calls_historyREADGet 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.
callpage_patch_api_v1_external_calls_by_call_fields_by_fieldWRITEUpdate 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.
callpage_post_api_v1_external_managers_createWRITECreate 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.
callpage_post_api_v1_external_managers_deleteWRITEDelete 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.
callpage_post_api_v1_external_managers_updateWRITEUpdate 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.
callpage_post_api_v1_external_sms_createWRITECreate 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.
callpage_post_api_v1_external_sms_resetWRITEReset 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.
callpage_post_api_v1_external_sms_updateWRITEUpdate 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.
callpage_post_api_v1_external_users_createWRITECreate 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.
callpage_post_api_v1_external_users_deleteWRITEDelete 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.
callpage_post_api_v1_external_users_updateWRITEUpdate 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.
callpage_post_api_v1_external_voice_createWRITECreate 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.
callpage_post_api_v1_external_voice_resetWRITEReset 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.
callpage_post_api_v1_external_voice_updateWRITEUpdate 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.
callpage_post_api_v1_external_widgets_add_usersWRITEAdd 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.
callpage_post_api_v1_external_widgets_callWRITESimple 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.
callpage_post_api_v1_external_widgets_call_or_scheduleWRITECall 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.
callpage_post_api_v1_external_widgets_createWRITECreate 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.
callpage_post_api_v1_external_widgets_deleteWRITEDelete 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.
callpage_post_api_v1_external_widgets_updateWRITEUpdate 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.
Often connected alongside
Put CallPage behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.