# Getsitecontrol Developer Documentation > REST API and MCP server for Getsitecontrol: sites, widgets (popups and forms), form responses, contacts, segments, emails, broadcasts, automations, integrations and statistics. Rules for agents: - Base URL: https://api.getsitecontrol.com/v1. The OpenAPI document https://api.getsitecontrol.com/v1/openapi.json (98 operations) is the contract for paths, parameters, fields and enums; read it instead of guessing. It is about 1 MB: fetch it once and query it, for example with jq. - Authenticate with `Authorization: Bearer gsc_...`, an API key the account owner or an admin creates in the Getsitecontrol admin under API keys. Apps connected through OAuth send their `gscu_...` token the same way. Never put a key into code, logs or a chat. - Send `GSC-Version: 2026-10-01` on every request. Without it the latest version is used, and it changes when a new version ships. - A list response with `next_cursor` is paginated: pass it as `cursor` until it is `null`. Some short lists return all `items` at once. - Send an `Idempotency-Key` header on POST requests you may retry. - Errors are `application/problem+json`: branch on `reason`, follow `next`, and quote the `X-Request-Id` response header to support. On `429`, wait `Retry-After` seconds. - To let an AI assistant work in a user's account, connect it to the MCP server instead of writing API calls: https://api.getsitecontrol.com/v1/mcp. It signs in with OAuth and acts with the user's permissions, including changes. API keys are not accepted there. ## Guides - [Make your first API call](https://developers.getsitecontrol.com/guides/quickstart/): Create an API key, find your Getsitecontrol site, and list its widgets with three small steps. - [Authentication & access](https://developers.getsitecontrol.com/guides/authentication/): Authenticate REST API requests with a Getsitecontrol API key. - [Choose your integration](https://developers.getsitecontrol.com/guides/integrations/): Send leads to your CRM, sync contacts, build reports, and investigate integration errors with the Getsitecontrol API. ## Working with the API - [Authentication contract](https://developers.getsitecontrol.com/basics/authentication-contract/): Credentials, how to send them, and authentication errors. - [Versions & compatibility](https://developers.getsitecontrol.com/basics/versions/): The GSC-Version header and what may change within a version. - [Pagination & filtering](https://developers.getsitecontrol.com/basics/pagination/): Cursor pagination, field selection, time filters and folders. - [Contact conditions](https://developers.getsitecontrol.com/basics/contact-conditions/): The condition tree that selects contacts in segments, broadcast audiences and automation entry conditions: operators, variables and limits. - [Requests & idempotency](https://developers.getsitecontrol.com/basics/requests/): Request ids, the body size limit and Idempotency-Key for retries and its limits. - [Errors & rate limits](https://developers.getsitecontrol.com/basics/errors/): Rate limit buckets and the problem+json error format with every reason code. ## AI assistants (MCP) - [Connect your assistant](https://developers.getsitecontrol.com/ai/connect/): Connect Claude, ChatGPT, Claude Code, or another MCP-compatible AI assistant to your Getsitecontrol account. - [Connect Claude](https://developers.getsitecontrol.com/ai/claude/): Add Getsitecontrol as a custom connector in Claude on the web or in the desktop app. - [Connect ChatGPT](https://developers.getsitecontrol.com/ai/chatgpt/): Add Getsitecontrol as a custom MCP server in ChatGPT on the web. - [Connect Claude Code](https://developers.getsitecontrol.com/ai/claude-code/): Add the Getsitecontrol MCP server to Claude Code from your terminal. - [Things to try](https://developers.getsitecontrol.com/ai/examples/): Practical prompts for exploring Getsitecontrol with an AI assistant. - [Disconnect & troubleshooting](https://developers.getsitecontrol.com/ai/troubleshooting/): Stop using an AI connection, revoke access, and resolve common MCP connection problems. ## API reference One page per operation, generated from the OpenAPI document. Paths are relative to https://api.getsitecontrol.com. ### Auth - [Describe the token](https://developers.getsitecontrol.com/api/operations/get_token/): GET /v1/auth/me - [Revoke the token](https://developers.getsitecontrol.com/api/operations/revoke_token/): DELETE /v1/auth/token ### Sites - [List sites](https://developers.getsitecontrol.com/api/operations/list_sites/): GET /v1/sites - [Get a site](https://developers.getsitecontrol.com/api/operations/get_site/): GET /v1/sites/{site_id} ### Widgets - [List A/B tests](https://developers.getsitecontrol.com/api/operations/list_widget_ab_tests/): GET /v1/sites/{site_id}/widgets/ab-tests - [Get an A/B test](https://developers.getsitecontrol.com/api/operations/get_widget_ab_test/): GET /v1/sites/{site_id}/widgets/ab-tests/{test_id} - [Reset an A/B test](https://developers.getsitecontrol.com/api/operations/reset_widget_ab_test/): POST /v1/sites/{site_id}/widgets/ab-tests/{test_id}/reset - [Stop an A/B test](https://developers.getsitecontrol.com/api/operations/stop_widget_ab_test/): POST /v1/sites/{site_id}/widgets/ab-tests/{test_id}/stop - [List widgets](https://developers.getsitecontrol.com/api/operations/list_widgets/): GET /v1/sites/{site_id}/widgets - [Update widgets](https://developers.getsitecontrol.com/api/operations/update_widgets/): PATCH /v1/sites/{site_id}/widgets - [Delete widgets](https://developers.getsitecontrol.com/api/operations/delete_widgets/): POST /v1/sites/{site_id}/widgets/delete - [Restore widgets](https://developers.getsitecontrol.com/api/operations/restore_widgets/): POST /v1/sites/{site_id}/widgets/restore - [Site widget statistics](https://developers.getsitecontrol.com/api/operations/get_widgets_stats/): GET /v1/sites/{site_id}/widgets/stats - [Site widget statistics over time](https://developers.getsitecontrol.com/api/operations/get_widgets_stats_timeline/): GET /v1/sites/{site_id}/widgets/stats/timeline - [Widget statistics per widget](https://developers.getsitecontrol.com/api/operations/get_widgets_stats_by_widget/): GET /v1/sites/{site_id}/widgets/stats/by-widget - [Diagnose widgets](https://developers.getsitecontrol.com/api/operations/diagnose_widgets/): GET /v1/sites/{site_id}/widgets/diagnostics - [Get a widget](https://developers.getsitecontrol.com/api/operations/get_widget/): GET /v1/sites/{site_id}/widgets/{widget_id} - [Widget on/off history](https://developers.getsitecontrol.com/api/operations/list_widget_history/): GET /v1/sites/{site_id}/widgets/{widget_id}/history - [Add a widget to an A/B test](https://developers.getsitecontrol.com/api/operations/set_widget_ab_test/): POST /v1/sites/{site_id}/widgets/{widget_id}/ab-test - [Remove a widget from its A/B test](https://developers.getsitecontrol.com/api/operations/remove_widget_ab_test/): DELETE /v1/sites/{site_id}/widgets/{widget_id}/ab-test - [Widget statistics](https://developers.getsitecontrol.com/api/operations/get_widget_stats/): GET /v1/sites/{site_id}/widgets/{widget_id}/stats - [Widget statistics over time](https://developers.getsitecontrol.com/api/operations/get_widget_stats_timeline/): GET /v1/sites/{site_id}/widgets/{widget_id}/stats/timeline ### Responses - [List responses of one widget](https://developers.getsitecontrol.com/api/operations/list_widget_responses/): GET /v1/sites/{site_id}/widgets/{widget_id}/responses - [List responses of all widgets](https://developers.getsitecontrol.com/api/operations/list_responses/): GET /v1/sites/{site_id}/responses - [Get a response](https://developers.getsitecontrol.com/api/operations/get_response/): GET /v1/sites/{site_id}/responses/{response_id} ### Images - [List the site's uploaded images](https://developers.getsitecontrol.com/api/operations/list_images/): GET /v1/sites/{site_id}/images - [Upload an image to the site's image library](https://developers.getsitecontrol.com/api/operations/upload_image/): POST /v1/sites/{site_id}/images - [Get a link to upload files from your disk](https://developers.getsitecontrol.com/api/operations/create_image_upload_link/): POST /v1/sites/{site_id}/images/upload-link ### Folders - [List folders](https://developers.getsitecontrol.com/api/operations/list_folders/): GET /v1/sites/{site_id}/folders - [Create a folder](https://developers.getsitecontrol.com/api/operations/create_folder/): POST /v1/sites/{site_id}/folders - [Update a folder](https://developers.getsitecontrol.com/api/operations/update_folder/): PATCH /v1/sites/{site_id}/folders/{folder_id} ### Contacts - [List contacts](https://developers.getsitecontrol.com/api/operations/list_contacts/): GET /v1/sites/{site_id}/contacts - [Create or update a contact by e-mail](https://developers.getsitecontrol.com/api/operations/upsert_contact/): POST /v1/sites/{site_id}/contacts - [Update contacts](https://developers.getsitecontrol.com/api/operations/update_contacts/): PATCH /v1/sites/{site_id}/contacts - [Create or update contacts by e-mail](https://developers.getsitecontrol.com/api/operations/upsert_contacts/): POST /v1/sites/{site_id}/contacts/upsert - [Delete contacts](https://developers.getsitecontrol.com/api/operations/delete_contacts/): POST /v1/sites/{site_id}/contacts/delete - [Contact statistics](https://developers.getsitecontrol.com/api/operations/get_contacts_stats/): GET /v1/sites/{site_id}/contacts/stats - [Contacts added over time](https://developers.getsitecontrol.com/api/operations/get_contacts_stats_timeline/): GET /v1/sites/{site_id}/contacts/stats/timeline - [Get a contact](https://developers.getsitecontrol.com/api/operations/get_contact/): GET /v1/sites/{site_id}/contacts/{contact_id} - [Contact activity](https://developers.getsitecontrol.com/api/operations/list_contact_activity/): GET /v1/sites/{site_id}/contacts/{contact_id}/activity ### Contact fields - [List contact fields](https://developers.getsitecontrol.com/api/operations/list_contact_fields/): GET /v1/sites/{site_id}/contact-fields - [Create a contact field](https://developers.getsitecontrol.com/api/operations/create_contact_field/): POST /v1/sites/{site_id}/contact-fields - [Get a contact field](https://developers.getsitecontrol.com/api/operations/get_contact_field/): GET /v1/sites/{site_id}/contact-fields/{field_id} - [Delete a contact field](https://developers.getsitecontrol.com/api/operations/delete_contact_field/): DELETE /v1/sites/{site_id}/contact-fields/{field_id} - [Update a contact field](https://developers.getsitecontrol.com/api/operations/update_contact_field/): PATCH /v1/sites/{site_id}/contact-fields/{field_id} ### Tags - [List tags](https://developers.getsitecontrol.com/api/operations/list_tags/): GET /v1/sites/{site_id}/tags - [Create a tag](https://developers.getsitecontrol.com/api/operations/create_tag/): POST /v1/sites/{site_id}/tags - [Get a tag](https://developers.getsitecontrol.com/api/operations/get_tag/): GET /v1/sites/{site_id}/tags/{tag_id} - [Delete a tag](https://developers.getsitecontrol.com/api/operations/delete_tag/): DELETE /v1/sites/{site_id}/tags/{tag_id} - [Update a tag](https://developers.getsitecontrol.com/api/operations/update_tag/): PATCH /v1/sites/{site_id}/tags/{tag_id} ### Segments - [List segments](https://developers.getsitecontrol.com/api/operations/list_segments/): GET /v1/sites/{site_id}/segments - [Create a segment](https://developers.getsitecontrol.com/api/operations/create_segment/): POST /v1/sites/{site_id}/segments - [Get a segment](https://developers.getsitecontrol.com/api/operations/get_segment/): GET /v1/sites/{site_id}/segments/{segment_id} - [Delete a segment](https://developers.getsitecontrol.com/api/operations/delete_segment/): DELETE /v1/sites/{site_id}/segments/{segment_id} - [Update a segment](https://developers.getsitecontrol.com/api/operations/update_segment/): PATCH /v1/sites/{site_id}/segments/{segment_id} ### Emails - [Diagnose e-mail sending](https://developers.getsitecontrol.com/api/operations/diagnose_email_sending/): GET /v1/sites/{site_id}/emails/diagnostics - [Get an e-mail](https://developers.getsitecontrol.com/api/operations/get_email/): GET /v1/sites/{site_id}/emails/{email_id} ### Broadcasts - [List broadcasts](https://developers.getsitecontrol.com/api/operations/list_broadcasts/): GET /v1/sites/{site_id}/broadcasts - [Site broadcast statistics](https://developers.getsitecontrol.com/api/operations/get_broadcasts_stats/): GET /v1/sites/{site_id}/broadcasts/stats - [Site broadcast statistics over time](https://developers.getsitecontrol.com/api/operations/get_broadcasts_stats_timeline/): GET /v1/sites/{site_id}/broadcasts/stats/timeline - [Broadcast statistics per broadcast](https://developers.getsitecontrol.com/api/operations/get_broadcasts_stats_by_broadcast/): GET /v1/sites/{site_id}/broadcasts/stats/by-broadcast - [Broadcast status history](https://developers.getsitecontrol.com/api/operations/list_broadcast_history/): GET /v1/sites/{site_id}/broadcasts/history - [Get a broadcast](https://developers.getsitecontrol.com/api/operations/get_broadcast/): GET /v1/sites/{site_id}/broadcasts/{broadcast_id} - [Broadcast recipients](https://developers.getsitecontrol.com/api/operations/get_broadcast_recipients/): GET /v1/sites/{site_id}/broadcasts/{broadcast_id}/recipients - [Broadcast statistics](https://developers.getsitecontrol.com/api/operations/get_broadcast_stats/): GET /v1/sites/{site_id}/broadcasts/{broadcast_id}/stats - [Broadcast clicks by link](https://developers.getsitecontrol.com/api/operations/get_broadcast_clicks/): GET /v1/sites/{site_id}/broadcasts/{broadcast_id}/stats/clicks ### Automations - [List automations](https://developers.getsitecontrol.com/api/operations/list_automations/): GET /v1/sites/{site_id}/automations - [Site automation statistics](https://developers.getsitecontrol.com/api/operations/get_automations_stats/): GET /v1/sites/{site_id}/automations/stats - [Site automation statistics over time](https://developers.getsitecontrol.com/api/operations/get_automations_stats_timeline/): GET /v1/sites/{site_id}/automations/stats/timeline - [Automation statistics per automation](https://developers.getsitecontrol.com/api/operations/get_automations_stats_by_automation/): GET /v1/sites/{site_id}/automations/stats/by-automation - [Get an automation](https://developers.getsitecontrol.com/api/operations/get_automation/): GET /v1/sites/{site_id}/automations/{automation_id} - [Automation on/off history](https://developers.getsitecontrol.com/api/operations/list_automation_history/): GET /v1/sites/{site_id}/automations/{automation_id}/history - [Enable an automation](https://developers.getsitecontrol.com/api/operations/enable_automation/): POST /v1/sites/{site_id}/automations/{automation_id}/enable - [Disable an automation](https://developers.getsitecontrol.com/api/operations/disable_automation/): POST /v1/sites/{site_id}/automations/{automation_id}/disable - [List automation runs](https://developers.getsitecontrol.com/api/operations/list_automation_runs/): GET /v1/sites/{site_id}/automations/{automation_id}/runs - [Run an automation for a contact](https://developers.getsitecontrol.com/api/operations/run_automation/): POST /v1/sites/{site_id}/automations/{automation_id}/runs - [Automation statistics](https://developers.getsitecontrol.com/api/operations/get_automation_stats/): GET /v1/sites/{site_id}/automations/{automation_id}/stats - [Automation clicks by link](https://developers.getsitecontrol.com/api/operations/get_automation_clicks/): GET /v1/sites/{site_id}/automations/{automation_id}/stats/clicks ### Email domains - [List sending domains](https://developers.getsitecontrol.com/api/operations/list_email_domains/): GET /v1/sites/{site_id}/email-domains - [Verify a sending domain](https://developers.getsitecontrol.com/api/operations/verify_email_domain/): POST /v1/sites/{site_id}/email-domains/{domain_id}/verify ### Integrations - [List integrations](https://developers.getsitecontrol.com/api/operations/list_integrations/): GET /v1/sites/{site_id}/integrations - [Get an integration](https://developers.getsitecontrol.com/api/operations/get_integration/): GET /v1/sites/{site_id}/integrations/{integration_id} - [Integration delivery statistics](https://developers.getsitecontrol.com/api/operations/get_integration_stats/): GET /v1/sites/{site_id}/integrations/{integration_id}/stats - [Integration delivery timeline](https://developers.getsitecontrol.com/api/operations/get_integration_stats_timeline/): GET /v1/sites/{site_id}/integrations/{integration_id}/stats/timeline - [List integration deliveries](https://developers.getsitecontrol.com/api/operations/list_integration_deliveries/): GET /v1/sites/{site_id}/integrations/{integration_id}/deliveries - [Get an integration delivery](https://developers.getsitecontrol.com/api/operations/get_integration_delivery/): GET /v1/sites/{site_id}/integrations/{integration_id}/deliveries/{delivery_id} ### Event subscriptions - [List event subscriptions](https://developers.getsitecontrol.com/api/operations/list_event_subscriptions/): GET /v1/sites/{site_id}/event-subscriptions - [Create an event subscription](https://developers.getsitecontrol.com/api/operations/create_event_subscription/): POST /v1/sites/{site_id}/event-subscriptions - [Preview an unsaved event subscription](https://developers.getsitecontrol.com/api/operations/preview_new_event_subscription/): POST /v1/sites/{site_id}/event-subscriptions/preview - [Get an event subscription](https://developers.getsitecontrol.com/api/operations/get_event_subscription/): GET /v1/sites/{site_id}/event-subscriptions/{event_subscription_id} - [Delete an event subscription](https://developers.getsitecontrol.com/api/operations/delete_event_subscription/): DELETE /v1/sites/{site_id}/event-subscriptions/{event_subscription_id} - [Update an event subscription](https://developers.getsitecontrol.com/api/operations/update_event_subscription/): PATCH /v1/sites/{site_id}/event-subscriptions/{event_subscription_id} - [Preview an event subscription](https://developers.getsitecontrol.com/api/operations/preview_event_subscription/): POST /v1/sites/{site_id}/event-subscriptions/{event_subscription_id}/preview - [Test an event subscription](https://developers.getsitecontrol.com/api/operations/test_event_subscription/): POST /v1/sites/{site_id}/event-subscriptions/{event_subscription_id}/test - [List event subscription deliveries](https://developers.getsitecontrol.com/api/operations/list_event_subscription_deliveries/): GET /v1/sites/{site_id}/event-subscriptions/{event_subscription_id}/deliveries - [Get an event subscription delivery](https://developers.getsitecontrol.com/api/operations/get_event_subscription_delivery/): GET /v1/sites/{site_id}/event-subscriptions/{event_subscription_id}/deliveries/{delivery_id} - [Redeliver an event subscription delivery](https://developers.getsitecontrol.com/api/operations/redeliver_event_subscription_delivery/): POST /v1/sites/{site_id}/event-subscriptions/{event_subscription_id}/deliveries/{delivery_id}/redeliver - [List event types](https://developers.getsitecontrol.com/api/operations/list_event_types/): GET /v1/event-types