Every API here is available over the APIs.io API and to AI agents over MCP.
{
"openapi": "3.0.3",
"info": {
"title": "Amperity API (Unstable)",
"version": "unstable",
"description": "## Overview\n\nThe Amperity API enables programmatic access to your Amperity tenant through a collection\nof RESTful endpoints that support API-first use cases for integrations, applications, and\ncustom workflows. Use Amperity API endpoints to streamline workflows, enhance marketing\nstrategies, and unlock the value of your brand's customer data.\n\nThis specification includes all stable endpoints plus endpoints that are available for\nearly access. Unstable endpoints may change without notice.\n\n## Versioning\n\nAmperity APIs evolve and change over time. Amperity versions API endpoints to help your\nbrand track changes to the Amperity API and to offer support to developers as these\nendpoints evolve.\n\nYour team of developers can track improvements to the Amperity API from the\n[changelog](https://docs.amperity.com/api/changelog.html). Monitor the changelog to know\nwhen new versions are available or when existing versions are updated or planned for\ndeprecation.\n\n> **Important:** A version identifier is a date string that must be included with each\n> request made to an API endpoint. All endpoints are versioned together. This provides\n> consistency across all endpoints and ensures interoperability. A version identifier is\n> updated only when breaking changes occur.\n\n### Breaking changes\n\nA breaking change occurs when functionality within an API is modified in a way that causes\nintegrations or applications to function abnormally or to stop working.\n\nA breaking change often requires a third-party developer to make changes to their existing\nintegrations or applications to maintain functionality with an API.\n\nExamples of breaking changes include, but are not limited to:\n\n- Removing an endpoint\n- Renaming a URL, request or response field, HTTP header, or query parameter\n- Adding a required request field, HTTP header, or query parameter\n- Requiring a request field, HTTP header, or query parameter that was previously optional\n- Removing a request or response field, HTTP header, or query parameter\n- Modifying a data type or enumeration value\n- Adding pagination to a resource collection response\n\n### Non-breaking changes\n\nA non-breaking change does not cause integrations or applications to function abnormally\nor to stop working. A non-breaking change should not require a third-party developer to\ndo any migration work to maintain existing functionality.\n\nExamples of non-breaking changes include, but are not limited to:\n\n- Adding an endpoint\n- Adding a request or response field, HTTP header, or query parameter\n- Adding an enumeration value\n\n### Version identifiers\n\nA version identifier is a string that identifies a supported version. A version identifier\nmust be included in each request that is made to an API endpoint and may be passed as a\nrequest header or as a query parameter.\n\n```\ncurl -request GET \\\n -url \"https://{tenant}.amperity.com/api/{endpoint}/\" \\\n -H \"Authorization: Bearer ${access-token}\" \\\n -H \"Amperity-Tenant: {tenant}\" \\\n -H \"Content-Type: application/json\" \\\n -H \"api-version: {version}\"\n```\n\n### Supported versions\n\nNew versions of the Amperity API are released periodically. Each version of an endpoint\nwill be supported for at least 1 year.\n\nCurrent versions:\n\n- **2024-04-01** The current version of the Amperity API.\n- **2025-07-31** The current version of the Profile API.\n\n### Unstable versions\n\nDuring development, Amperity may release APIs for testing using the **unstable** version\nidentifier. Unstable versions contain features that are still in progress and may not be\nbackward compatible.\n\nUnstable versions do not guarantee customer support, notification of changes or breaking\nchanges, or availability.\n\n### Deprecated versions\n\nAt least 6 months notice will be given before any supported version is marked as\nunsupported. API calls made to an endpoint using a version identifier that is no longer\nsupported will return a 400 response.\n\nTo warn developers of upcoming deprecations, Amperity uses the following headers:\n\n- [Deprecation Header](https://datatracker.ietf.org/doc/html/draft-ietf-httpapi-deprecation-header).\n When **true**, a deprecation will occur at the date indicated in the header.\n- [Sunset Header](https://datatracker.ietf.org/doc/html/rfc8594).\n When **true**, a deprecated feature stops working and returns a 4xx response at the date\n indicated in the header.\n\nDeprecation and Sunset headers will be added at least 6 months prior to a deprecation.\nA deprecation date will be at least 3 months prior to a sunset date. For example:\n\n```\nDeprecation: Tue, 1 Sep 2024 23:59:59 GMT\nSunset: Wed, 1 Dec 2024 23:59:59 GMT\n```\n\nDeprecation and Sunset headers are informational. Amperity recommends building alerts to\nmonitor for these headers to ensure that your applications and workflows can be migrated.\n\n## Authentication\n\nAll requests that are made to Amperity API endpoints must be authenticated using an API key.\n\nAuthenticate to Amperity APIs by including the following header in each request:\n\n```\n-H \"Authorization: Bearer ${access-token}\"\n```\n\nAfter the token passes validation, the request will look up any access policies attached\nto the API key, and then determine whether the requested operation is permitted.\n\n> **Important:** A user must be assigned the **Allow API key administration** policy before\n> they can manage API keys and access tokens required by Amperity APIs.\n\n### Authentication for sandboxes\n\nAPI keys are tenant-specific and are not pulled to a sandbox or promoted from a sandbox to\nproduction. API keys must be created in a sandbox to use an Amperity API endpoint, stream\ndata using the Streaming Ingest API, or access Profile API indexes.\n\n### API keys\n\nAmperity API keys are synthetic identities that are bound to your tenant and enable\nprogrammatic access to Amperity. Each API key has a unique internal secret that is signed\ninto the claims of all access tokens issued for that API key. This secret is one of the\nvalidation checks that occurs during authentication.\n\nAPI keys are tenant-specific and are not pulled to a sandbox or promoted from a sandbox to\nproduction. API keys must be created directly in a sandbox.\n\n### Access tokens\n\nAccess to the Amperity API requires using [JSON Web Token (JWT)](https://jwt.io/) access\ntokens that are signed by Amperity-managed API keys. Because a JWT access token\nautomatically expires, tokens should be refreshed on a regular basis.\n\nProgrammatic workflows should authenticate to Amperity APIs using JWT access tokens as the\nbearer token within the header of each request.\n\nAccess tokens are managed from the **Settings** page in Amperity. Open **Settings**,\nselect the **Security** tab, find the API key, and select **Get token** from the actions\nmenu.\n\n> **Important:** You are the only person who has access to the newly generated access\n> token. Amperity does not save the access token. Store it in a safe place.\n\n## Base URL\n\nAll requests made to Amperity API endpoints should be directed to the base URL.\n\n### Amazon AWS\n\nTenants hosted in Amazon AWS use the following base URL:\n\n```\nhttps://app.amperity.com/api\n```\n\nUse the `amperity-tenant` header to provide the tenant ID. You can find the tenant ID from\nthe Amperity user interface: open **Settings**, select the **Security** tab, and under\n**API keys** select **Copy tenant ID** from the menu for an API key.\n\n### Microsoft Azure\n\nTenants hosted in Microsoft Azure use the following base URL:\n\n```\nhttps://<tenant-id>.amperity.com/api\n```\n\nThe tenant ID must be in the base URL *and* in the `amperity-tenant` header. For example,\nif the tenant ID is **<tenant-id>** the base URL is `https://<tenant-id>.amperity.com/api` with\n`--header 'amperity-tenant: <tenant-id>'`.\n\n### Australia\n\nTenants hosted in Australia use the following default base URL:\n\n```\nhttps://app-aws-apse2.amperity.com/api\n```\n\nTenants hosted in Australia may also use `https://<tenant-id>.amperity.com/api`.\n\n### Sandboxes\n\nThe base URL for a sandbox is the same as the base URL for production. Use the tenant ID\nfor the sandbox for all requests made to a sandbox. The sandbox tenant ID is unique. For\nexample, if the sandbox tenant ID is **<tenant-id>-sb-12345** the `amperity-tenant` header\nis `--header 'amperity-tenant: <tenant-id>-sb-12345'`.\n\n## Requests\n\nRequests made to Amperity API endpoints require the following headers:\n\n- **Authorization** Required. The bearer authentication header. Use the access token for\n your tenant's API key.\n- **Amperity-Tenant** Required. The ID for the tenant to which the request is sent.\n A sandbox must use the tenant ID for the sandbox.\n- **api-version** Required. A supported version of the Amperity API.\n For example: **2024-04-01** or **unstable**.\n\nIn addition to required headers, specify the HTTP method and append the endpoint path to\nthe base URL.\n\n**Amazon AWS \u2014 production**\n\n```\ncurl -request GET \\\n -url \"https://app.amperity.com/api/{endpoint}/\" \\\n -H \"Authorization: Bearer ${access-token}\" \\\n -H \"Amperity-Tenant: <tenant-id>\" \\\n -H \"api-version: {version}\"\n```\n\n**Amazon AWS \u2014 sandbox**\n\n```\ncurl -request GET \\\n -url \"https://app.amperity.com/api/{endpoint}/\" \\\n -H \"Authorization: Bearer ${access-token}\" \\\n -H \"Amperity-Tenant: {sandbox-tenant-id}\" \\\n -H \"api-version: {version}\"\n```\n\n**Microsoft Azure \u2014 production**\n\n```\ncurl -request GET \\\n -url \"https://<tenant-id>.amperity.com/api/{endpoint}/\" \\\n -H \"Authorization: Bearer ${access-token}\" \\\n -H \"Amperity-Tenant: <tenant-id>\" \\\n -H \"api-version: {version}\"\n```\n\n**Microsoft Azure \u2014 sandbox**\n\n```\ncurl -request GET \\\n -url \"https://<tenant-id>.amperity.com/api/{endpoint}/\" \\\n -H \"Authorization: Bearer ${access-token}\" \\\n -H \"Amperity-Tenant: {sandbox-tenant-id}\" \\\n -H \"api-version: {version}\"\n```\n\n## Responses\n\nAmperity API endpoints use conventional HTTP response status codes to indicate success or\nfailure. Response status codes fall into three categories:\n\n1. **2xx** \u2014 Success.\n2. **4xx** \u2014 Client error. Occurs when information in a request is invalid, such as\n requesting an endpoint that does not exist or including the wrong value for a parameter.\n3. **5xx** \u2014 Server error. Caused when the API or endpoint is unavailable.\n\n### 2xx status codes\n\nThe 2xx class of status codes indicates that a request was successfully received,\nunderstood, and accepted.\n\n| Status code | Description |\n|---|---|\n| **200 OK** | A request completed successfully. |\n| **202 Accepted** | A request has been accepted for processing. |\n\n### 4xx status codes\n\nThe 4xx class of status codes indicates a fatal client error. When a request returns a\n4xx error, the response includes: **status**, **message**, and optionally **request_id**\nand **trace_id**.\n\n| Status code | Description |\n|---|---|\n| **400 Bad Request** | A request did not contain a required parameter or has an invalid parameter. |\n| **401 Authentication Required** | A request contains invalid authentication, an invalid version identifier, or an expired token. |\n| **403 Not Authorized** | A request contains valid authentication, but does not have permission to perform the requested action. |\n| **404 Not Found** | A request was made to a resource that does not exist. |\n| **405 Method not Allowed** | A request used an unsupported HTTP method. |\n| **409 Conflict** | A request conflicts with the current state. |\n| **429 Too Many Requests** | A rate limit has been exceeded. |\n\n> **Tip:** Watch for 429 errors and build a retry mechanism with exponential backoff and\n> some randomness to reduce request volume.\n\n### 5xx status codes\n\nThe 5xx class of status codes indicates a fatal server error. When an integration or\napplication experiences a 5xx error, use an exponential backoff schedule with some\nrandomness to reduce request volume.\n\n| Status code | Description |\n|---|---|\n| **500 Server Error** | An internal error occurred. Simplify the request or retry with exponential backoff. |\n| **503 Service Unavailable** | The server is unavailable. |\n\n> **Tip:** Watch for 503 errors and build a retry mechanism with exponential backoff.\n\n## Pagination\n\nAmperity uses cursor-based pagination to return pages of data for large lists. A cursor\nacts like a pointer and refers to a particular point in the data, marking the boundary\nbetween pages. A paginated endpoint returns responses with a list of results and a\n**next_token** parameter when another page is available. You have reached the last page\nwhen **next_token** is not returned.\n\n### Pagination in requests\n\nAll endpoints that support the **GET** HTTP method use the following parameters to support\npagination.\n\n| Parameter | Description |\n|---|---|\n| **limit** | The maximum number of records to include in a single page of results. |\n| **next_token** | An opaque token used to paginate results. Omit to return the first page. Use the value returned in a prior response to view the next page. Cannot be **NULL**. |\n| **with_total** | Set to **true** to include a total count of all results. Default: **false**. Obtaining the total count can be expensive when there is a high number of pages. |\n\n### Pagination in responses\n\nAll endpoints that support the **GET** HTTP method return the following properties.\n\n| Parameter | Description |\n|---|---|\n| **data** | A JSON array of values for the current page of results. |\n| **next_token** | The cursor value to use in a subsequent request to return the next page. When empty, the last page has been returned. |\n| **total** | The total count of all results. Only returned when **with_total** is **true** in the request. |\n\n## Rate limits\n\nA rate limit is the number of requests that may be made to the Amperity API in a given\ntime period. The Amperity API supports up to 10 requests per second. Response times will\nvary by endpoint and the complexity of data returned. Some requests may take seconds to\ncomplete.\n\nRequests that exceed 10 requests per second may return an HTTP 429 status code.\n",
"contact": {
"url": "https://docs.amperity.com/api/"
}
},
"servers": [
{
"url": "https://app.amperity.com/api",
"description": "Amazon AWS"
},
{
"url": "https://<tenant-id>.amperity.com/api",
"description": "Microsoft Azure",
"variables": {
"tenant-id": {
"default": "your-tenant-id",
"description": "Your Amperity tenant ID."
}
}
}
],
"security": [
{
"BearerAuth": []
}
],
"tags": [
{
"name": "Audit Events",
"description": "Return records for user activity that occurred in your tenant."
},
{
"name": "Campaigns",
"description": "Return information about campaigns and campaign drafts."
},
{
"name": "Segments",
"description": "Return a list of segments available in your tenant."
},
{
"name": "Ingest",
"description": "Return details about ingest jobs."
},
{
"name": "Workflow",
"description": "List, run, and stop workflows."
}
],
"paths": {
"/audit-events": {
"get": {
"tags": [
"Audit Events"
],
"summary": "GET /audit-events",
"operationId": "list-events",
"description": "Amperity maintains records of user activity that occured in your tenant. For example:\n\n- A user makes a configuration change to the Amperity platform\n- A user creates a sandbox\n- A user views personally identifiable information (PII)\n- A workflow was stopped by a user\n- A user configured a destination\n- A user created an API key\n- A user was assigned to a resource group\n\nUse the **GET /audit-events** endpoint to return a log of user activity that occurred with\nyour tenant. Each response may contain up to 1000 audit events.\n\n> **Note:** When requesting events for a production tenant, audit events for sandboxes are\n> included in the response. When requesting events from a sandbox, only events from that\n> sandbox are included in the response.\n\n## Common event types\n\nThe following table lists the most common event types, grouped by the component or area\nwithin Amperity that is most associated with the event type.\n\n> **Note:** Many events are prefixed with a dot-delimited string that typically starts with\n> \"amperity\". The specific event is located after a slash (\"/\"). For example, the event\n> **:amperity.plugin.destination/created** is shown in this table as\n> **destination/created**. If your tenant shows an event that is not listed here, its\n> purpose can often be inferred from the string and the event after the trailing slash.\n\n**AI Assistant**\n\nThe following events are associated with the AI Assistant:\n\n- `assistant/send-user-message` \u2014 A user sent a question to the AI Assistant. The audit event may include the response from the AI assistant.\n- `query.exec/sampled` \u2014 A set of sample data was provided to the AI Assistant.\n\n**API keys**\n\nThe following events are associated with API keys:\n\n- `api-key/created` \u2014 An API key was created.\n- `api-key/deleted` \u2014 An API key was deleted.\n- `api-key/issue` \u2014 An API token issuer was created.\n- `api-key/updated` \u2014 An API key was updated.\n\n**BI Connect**\n\nThe following events are associated with BI Connect:\n\n- `warehouse/user-added` \u2014 A user was added to BI Connect.\n- `warehouse/user-removed` \u2014 A user was removed from BI Connect.\n- `warehouse/user-renewed` \u2014 A user was allowed to continue accessing BI Connect.\n\n**Credentials**\n\nThe following events are associated with credentials:\n\n- `credential/created` \u2014 A credential was created.\n- `credential/deleted` \u2014 A credential was deleted.\n- `credential/updated` \u2014 A credential was updated.\n\n**Destinations**\n\nThe following events are associated with destinations:\n\n- `destination/cloned` \u2014 A user created a destination by copying an existing destination.\n- `destination/created` \u2014 A user created a destination.\n- `destination/deleted` \u2014 A user deleted a destination.\n- `destination/updated` \u2014 A user updated a destination.\n\n**Domain tables**\n\nThe following events are associated with domain tables:\n\n- `workflow/domain-data-records-deletion-started` \u2014 A user deleted records from a domain table.\n\n**Orchestrations**\n\nThe following events are associated with orchestrations and orchestration groups:\n\n- `orchestration/run` \u2014 A user initiated a manual run for an orchestration.\n- `orchestration.group/run` \u2014 A user initiated a manual run for an orchestration group.\n\n**Policies**\n\nThe following events are associated with policies:\n\n- `policy/attached` and `policy/attached-to` \u2014 A policy was attached to an object that was created within Amperity.\n- `policy/created` \u2014 A policy was created.\n- `policy/deleted` \u2014 A policy was deleted.\n- `policy/detached` and `policy/detached-from` \u2014 A policy was detached from an object that exists within Amperity.\n- `policy/updated` \u2014 A policy was updated.\n\n**Privacy rights**\n\nThe following events are associated with privacy rights workflows:\n\n- `workflow/domain-ccpa-deletion-started` \u2014 The CCPA delete workflow has started.\n\n**Queries**\n\nThe following events are associated with the **Queries** page:\n\n- `query/activated` \u2014 A query was activated.\n- `query/created` \u2014 A query was created.\n- `query/deleted` \u2014 A query was deleted.\n- `query/moved` \u2014 A query was moved from one folder into another.\n- `query.draft/discarded` \u2014 A query in a draft state was discarded.\n- `query.folder/created` \u2014 A folder on the **Queries** page was created.\n- `query.folder/deleted` \u2014 A folder on the **Queries** page was deleted.\n\n**Resource groups**\n\nThe following events are associated with resource groups:\n\n- `resource-group/assigned` \u2014 A user was assigned to a resource group.\n- `resource-group/created` \u2014 A resource group was created.\n- `resource-group/deleted` \u2014 A resource group was deleted.\n- `resource-group/updated` \u2014 A resource group was updated.\n\n**Sandboxes**\n\nThe following events are associated with sandboxes:\n\n- `tenant/created` \u2014 A sandbox was created.\n- `tenant/deleted` \u2014 A sandbox was deleted.\n- `tenant/updated` \u2014 A sandbox was updated.\n\n**Single Sign-on**\n\nThe following events are associated with single sign-on (SSO):\n\n- `group-mapping/created` \u2014 An SSO group mapping was created.\n- `group-mapping/deleted` \u2014 An SSO group mapping was deleted.\n- `group-mapping/updated` \u2014 An SSO group mapping was updated.\n\n**User activity**\n\nThe following events are associated with the **Users** section within the **Users and Activity** page:\n\n- `audit.user-activity/download` \u2014 A user downloaded user activity into a CSV file to view offline.\n\n**Users**\n\nThe following events are associated with Amperity user accounts managed from the **Users and Activity** page:\n\n- `user/created` \u2014 A user was created.\n- `user/deleted` \u2014 A user was deleted.\n- `user/sent-password-reset-email` \u2014 A user was sent an email so they can reset their password.\n\n**Workflow alerts**\n\nThe following events are associated with workflow alerts:\n\n- `audience/created` \u2014 An audience for a workflow alert was created.\n- `audience/updated` \u2014 The membership of an audience for a workflow alert was updated.\n\n**Workflows**\n\nThe following events are associated with workflows:\n\n- `workflow/cancel` \u2014 A workflow resolution was stopped by a user.\n- `workflow/retry` \u2014 A workflow resolution was opened, a specific resolution option was selected, and then the workflow was retried.\n- `workflow/skip` \u2014 A user opened a workflow resolution, and then skipped the task that caused the workflow failure.\n",
"parameters": [
{
"$ref": "#/components/parameters/ApiVersionHeader"
},
{
"$ref": "#/components/parameters/AmperityTenant"
},
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/NextToken"
},
{
"$ref": "#/components/parameters/WithTotal"
},
{
"name": "happened_from",
"in": "query",
"required": false,
"description": "The start date (inclusive) that defines the beginning of the time range for which audit\nevents are returned. For example: \"2026-04-01T11:11:11Z\".\n\nThe start date must be a string, should be in ISO-8601 format, and should be in UTC.\n",
"schema": {
"type": "string",
"format": "date-time",
"default": "2026-04-01T11:11:11Z",
"example": "2026-04-01T11:11:11Z"
}
},
{
"name": "happened_to",
"in": "query",
"required": false,
"description": "The end date (exclusive) that defines the end of the time range for which audit events\nare returned. For example: \"2026-03-01T11:11:11Z\".\n\nThe values for the end date must be a string, should be in ISO-8601 format, and should be in UTC.\n",
"schema": {
"type": "string",
"format": "date-time",
"default": "2026-04-10T11:11:11Z",
"example": "2026-04-10T11:11:11Z"
}
}
],
"responses": {
"200": {
"description": "A successful request returns a response with up to 1000 audit events.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditEventList"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}
},
"/campaign-drafts": {
"get": {
"tags": [
"Campaigns"
],
"summary": "GET /campaign-drafts",
"operationId": "list-campaign-draft",
"description": "Use the **GET /campaign-drafts** endpoint to return a list of draft campaigns from your\ntenant. You may restrict the list of draft campaigns to those associated with a specific\ndata template.\n\n> **Note:** This endpoint is only available from the **unstable** version of the Amperity\n> API and may change without notice.\n",
"parameters": [
{
"$ref": "#/components/parameters/ApiVersionHeader"
},
{
"$ref": "#/components/parameters/AmperityTenant"
},
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/NextToken"
},
{
"$ref": "#/components/parameters/WithTotal"
},
{
"name": "destination_data_template_id",
"in": "query",
"required": false,
"description": "Use this parameter to restrict the list of campaign drafts that are returned to only\ncampaign drafts that are configured to use a specific data template.\n\n> **Tip:** You can find the ID for the data template from the Amperity user interface. From the Destinations page, open the menu in the same row as the data template for which the ID is to be copied, and then select Copy ID.\n",
"schema": {
"type": "string",
"default": "ptg-2QLLqXBEq",
"example": "ptg-2QLLqXBEq"
}
}
],
"responses": {
"200": {
"description": "The **200** response returns a set of draft campaigns.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CampaignDraftList"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}
},
"/campaigns": {
"get": {
"tags": [
"Campaigns"
],
"summary": "GET /campaigns",
"operationId": "list-campaign",
"description": "Use the **GET /campaigns** endpoint to return a list of campaigns from your tenant. You may\nrestrict the list of campaigns to those associated with a specific data template.\n",
"parameters": [
{
"$ref": "#/components/parameters/ApiVersionHeader"
},
{
"$ref": "#/components/parameters/AmperityTenant"
},
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/NextToken"
},
{
"$ref": "#/components/parameters/WithTotal"
},
{
"name": "destination_data_template_id",
"in": "query",
"required": false,
"description": "Use this parameter to restrict the list of campaigns that are returned to only\ncampaigns that are configured to use a specific data template.\n\n> **Tip:** You can find the ID for the data template from the Amperity user interface. From the Destinations page, open the menu in the same row as the data template for which the ID is to be copied, and then select Copy ID.\n",
"schema": {
"type": "string",
"default": "ptg-2QLLqXBEq",
"example": "ptg-2QLLqXBEq"
}
}
],
"responses": {
"200": {
"description": "The **200** response returns a set of campaigns.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CampaignList"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}
},
"/segments": {
"get": {
"tags": [
"Segments"
],
"summary": "GET /segments",
"operationId": "list-segment",
"description": "Use the **GET /segments** endpoint to return a list of segments from your tenant.\n",
"parameters": [
{
"$ref": "#/components/parameters/ApiVersionHeader"
},
{
"$ref": "#/components/parameters/AmperityTenant"
},
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/NextToken"
},
{
"$ref": "#/components/parameters/WithTotal"
}
],
"responses": {
"200": {
"description": "The **200** response returns a set of segments.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SegmentList"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}
},
"/ingest/jobs": {
"get": {
"tags": [
"Ingest"
],
"summary": "GET /ingest/jobs",
"operationId": "list-ingest-jobs",
"description": "Use the **GET /ingest/jobs** endpoint to return a list of jobs from your tenant that\noccurred within the previous 7 days.\n",
"parameters": [
{
"$ref": "#/components/parameters/ApiVersionHeader"
},
{
"$ref": "#/components/parameters/AmperityTenant"
},
{
"$ref": "#/components/parameters/WithTotal"
},
{
"name": "created_from",
"in": "query",
"required": true,
"description": "A timestamp that defines the start (inclusive) of a 7-day time window in which one or\nmore ingest jobs started. See the **created_to** request parameter.\n\nThis timestamp may be a partial timestamp, such as YYYY-MM-DD. The timestamp must be in ISO-8601 format and is in Coordinated Universal Time (UTC).\n\n> **Important:** Only ingest jobs that have a **started_at** value that falls within this time window is returned. See the **created_at** response property for the GET /ingest/jobs/{id} endpoint.\n",
"schema": {
"type": "string",
"format": "date-time",
"default": "2026-10-01T00:00:00Z",
"example": "2026-10-01T00:00:00Z"
}
},
{
"name": "created_to",
"in": "query",
"required": true,
"description": "A timestamp that defines the end (exclusive) of a 7-day time window in which one or\nmore ingest jobs started. See the **created_from** request parameter.\n\nThis timestamp may be a partial timestamp, such as YYYY-MM-DD. The timestamp must be in ISO-8601 format and is in Coordinated Universal Time (UTC).\n\n>
# --- truncated at 32 KB (80 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amperity/refs/heads/main/openapi/amperity-control-plane-unstable-openapi.json