{
  "swagger": "2.0",
  "info": {
    "description": "API Documentation to help customers interact with the Integrate platform programmatically.\n\n## Authentication\n\nThis API supports multiple authentication methods:\n\n### 1. Bearer Token Authentication - Support ends 31st December 2025\n- Use the `Authorization` header with format: `Bearer <token>`\n- Supported by all endpoints\n- \u26a0\ufe0f This method will be deprecated in future versions\n\n### 2. API Key Authentication - Support ends 31st December 2025\n- Use the `X-API-Key` header only\n- Only available for lead submission endpoints\n- \u26a0\ufe0f This method will be deprecated in future versions\n\n### 3. API Key & Secret Authentication - RECOMMENDED\n- Use both `X-API-Key` and `X-API-Key-Secret` headers\n- Supported by all endpoints\n- Recommended for new integrations",
    "version": "1.0.0",
    "title": "Integrate API Documentation",
    "termsOfService": "http://integrate.com/privacy",
    "contact": {
      "email": "support@integrate.com"
    }
  },
  "basePath": "/api",
  "tags": [
    {
      "name": "Reports",
      "description": "Programmatically create, retrieve and edit Reports"
    },
    {
      "name": "Lead Submission",
      "description": "Programmatically submit new leads to campaigns"
    },
    {
      "name": "Lead Disposition",
      "description": "Programmatically update and dispute Lead dispositions - Only available with a Paid license"
    },
    {
      "name": "Lists",
      "description": "Programmatically create, update and retrieve Lists - Only available with a Paid license"
    }
  ],
  "schemes": [
    "https"
  ],
  "securityDefinitions": {
    "API_Key": {
      "type": "apiKey",
      "in": "header",
      "name": "X-API-Key",
      "description": "API Key Authentication (limited endpoints)"
    },
    "API_Key_Secret": {
      "type": "apiKey",
      "in": "header",
      "name": "X-API-Key-Secret",
      "description": "API Key Secret Authentication (used with X-API-Key)"
    },
    "Bearer_Token": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "description": "Bearer Token Authentication. Format: 'Bearer <token>' - \u26a0\ufe0f Support ends 31st December 2025"
    }
  },
  "paths": {
    "/organizations/{organizationId}/reports": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Get all reports for an Organization",
        "operationId": "Get All Reports",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the Organization who owns the reports being requested.",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - \u26a0\ufe0f Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "skip",
            "in": "query",
            "description": "The number of results you want to skip before returning.",
            "required": false,
            "type": "number",
            "x-is-map": false
          },
          {
            "name": "take",
            "in": "query",
            "description": "The number of results you want to have returned to you.",
            "required": false,
            "type": "number",
            "x-is-map": false
          },
          {
            "name": "type",
            "in": "query",
            "description": "The type of reports you want returned to you, can choose multiple by comma separating types.",
            "enum": [
              "leads",
              "campaigns",
              "postOutLogs",
              "payoutDetail",
              "payoutSummary",
              "api"
            ],
            "required": false,
            "type": "string",
            "x-is-map": false
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "How you would like the results sorted by that are returned to you.",
            "enum": [
              "name",
              "type"
            ],
            "required": false,
            "type": "string",
            "x-is-map": false
          },
          {
            "name": "isAscending",
            "in": "query",
            "description": "If you would like your results to return in ascending or descending order.",
            "required": false,
            "type": "boolean",
            "x-is-map": false
          },
          {
            "name": "query",
            "in": "query",
            "description": "Query you would like to filter your results by.",
            "required": false,
            "type": "string",
            "x-is-map": false
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response from a GET to all reports.",
            "schema": {
              "$ref": "#/definitions/get_reports_response_200"
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      }
    },
    "/organizations/{organizationId}/reports/generate/{reportId}": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Generate a report to be sent to a target email address or callback url.",
        "operationId": "Generate Report",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the Organization who owns the report being requested.",
            "required": true,
            "type": "string"
          },
          {
            "name": "reportId",
            "in": "path",
            "description": "The ID of the report you are requesting to generate.",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - \u26a0\ufe0f Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "The start date for the range of data you want in your report. Ex: 2018-01-14T00:00:00-07:00",
            "required": false,
            "type": "string",
            "x-is-map": false
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "The end date for the range of data you want in your report. Ex: 2018-02-13T23:59:59-07",
            "required": false,
            "type": "string",
            "x-is-map": false
          },
          {
            "name": "targets",
            "in": "query",
            "description": "Comma separated list of email who the report should be sent to. Ex: joe@foo.com,sue@foo.com",
            "required": false,
            "type": "string",
            "x-is-map": false
          },
          {
            "name": "callback",
            "in": "query",
            "description": "URL to which the download link will be sent when report is generated.",
            "required": false,
            "type": "string",
            "x-is-map": false
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response send back the targets who will receive the generated email.",
            "schema": {
              "$ref": "#/definitions/generate_report_200"
            }
          },
          "201": {
            "description": "IF callback is specified in query parameters, the following request body will be sent to the callback URL via a POST request",
            "schema": {
              "$ref": "#/definitions/generate_report_201"
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      }
    },
    "/datawarehouse/reports/reportFile/{auth_token}": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Get leads from report file",
        "operationId": "Get Leads From Report",
        "produces": [
          "application/json",
          "text/plain"
        ],
        "parameters": [
          {
            "name": "auth_token",
            "in": "path",
            "description": "The authentication token for the report file to retrieve leads from.",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - \u26a0\ufe0f Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Accept header for response format.",
            "required": false,
            "type": "string",
            "default": "application/json, text/plain, */*"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response containing report file details.",
            "schema": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Unique identifier for the report file"
                },
                "ownerId": {
                  "type": "string",
                  "description": "ID of the owner of the report file"
                },
                "reportId": {
                  "type": "string",
                  "description": "ID of the associated report"
                },
                "scheduleId": {
                  "type": "string",
                  "description": "ID of the schedule (if applicable)"
                },
                "reportName": {
                  "type": "string",
                  "description": "Name of the report"
                },
                "type": {
                  "type": "string",
                  "description": "Type of report (e.g., 'leads')"
                },
                "path": {
                  "type": "string",
                  "description": "Path identifier for the report file"
                },
                "name": {
                  "type": "string",
                  "description": "Name of the report file"
                },
                "size": {
                  "type": "integer",
                  "description": "Size of the report file in bytes"
                },
                "processingAttempts": {
                  "type": "integer",
                  "description": "Number of processing attempts"
                },
                "awsS3FileDeleted": {
                  "type": "boolean",
                  "description": "Whether the AWS S3 file has been deleted"
                },
                "url": {
                  "type": "string",
                  "description": "URL to download the report file"
                },
                "awsS3Url": {
                  "type": "string",
                  "description": "AWS S3 base URL"
                },
                "awsS3Responses": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "timestamp": {
                        "type": "string",
                        "description": "Timestamp of the S3 operation"
                      },
                      "methodName": {
                        "type": "string",
                        "description": "Name of the S3 method called"
                      },
                      "httpStatusCode": {
                        "type": "string",
                        "description": "HTTP status code of the S3 response"
                      },
                      "metadata": {
                        "type": "object",
                        "description": "S3 response metadata"
                      },
                      "requestId": {
                        "type": "string",
                        "description": "S3 request ID"
                      }
                    }
                  },
                  "description": "Array of AWS S3 operation responses"
                },
                "events": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "timestamp": {
                        "type": "string",
                        "description": "Timestamp of the event"
                      },
                      "description": {
                        "type": "string",
                        "description": "Description of the event"
                      }
                    }
                  },
                  "description": "Array of report processing events"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Array of error messages (if any)"
                },
                "emailAccess": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Array of email access permissions"
                },
                "created": {
                  "type": "string",
                  "description": "Timestamp when the report file was created"
                },
                "modified": {
                  "type": "string",
                  "description": "Timestamp when the report file was last modified"
                },
                "hasSensitiveColumns": {
                  "type": "boolean",
                  "description": "Whether the report contains sensitive columns"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      }
    },
    "/organizations/{organizationId}/dispositions": {
      "post": {
        "tags": [
          "Lead Disposition"
        ],
        "summary": "Upload lead disposition to update the status and disposition code of a single lead.",
        "operationId": "Upload Lead Disposition",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the Organization who owns the report being requested.",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - \u26a0\ufe0f Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "Content type of the request that will be sent.",
            "required": true,
            "type": "string",
            "example": "application/json",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "body",
            "in": "body",
            "description": "Disposition object that will be sent to server.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/disposition_body"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response from disposition upload contains no data.",
            "schema": {
              "$ref": "#/definitions/empty_200"
            }
          },
          "400": {
            "description": "Bad data in the request object will throw a 400 error.",
            "schema": {
              "$ref": "#/definitions/disposition_upload_400"
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      }
    },
    "/organizations/{organizationId}/lists": {
      "post": {
        "tags": [
          "Lists"
        ],
        "summary": "Create a new List to use with Sources",
        "description": "\n**Supported Types:**\n- **Domain List**\n- **General List**\n- **Suppression List**\n- **Target List**\n",
        "operationId": "Create New List",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the Organization who owns the report being requested.",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - \u26a0\ufe0f Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "Content type of the request that will be sent.",
            "required": true,
            "type": "string",
            "example": "application/json",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "body",
            "in": "body",
            "description": "List object that will be sent to server.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/create_list_body"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response from a list creation POST.",
            "schema": {
              "$ref": "#/definitions/create_list_response_200"
            }
          },
          "400": {
            "description": "Bad request. Common causes:\n- Bad data in the request object\n- List with the given name already exists\n- Missing required fields\n- Invalid list type",
            "schema": {
              "type": "object",
              "properties": {
                "result": {
                  "type": "object"
                },
                "errors": {
                  "type": "string",
                  "example": "List with the given name already exists"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      },
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Get all lists for an Organization",
        "operationId": "Get All Lists",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the Organization who owns the report being requested.",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - \u26a0\ufe0f Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "skip",
            "in": "query",
            "description": "The number of results you want to skip before returning.",
            "required": false,
            "type": "number",
            "x-is-map": false
          },
          {
            "name": "take",
            "in": "query",
            "description": "The number of results you want to have returned to you.",
            "required": false,
            "type": "number",
            "x-is-map": false
          },
          {
            "name": "type",
            "in": "query",
            "description": "The type of lists you want returned to you, can choose multiple by comma separating types.",
            "enum": [
              "suppression",
              "general",
              "domain"
            ],
            "required": false,
            "type": "string",
            "x-is-map": false
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "How you would like the results sorted by that are returned to you.",
            "enum": [
              "name",
              "associations",
              "type",
              "source",
              "created",
              "updated",
              "entries"
            ],
            "required": false,
            "type": "string",
            "x-is-map": false
          },
          {
            "name": "isAscending",
            "in": "query",
            "description": "If you would like your results to returnn in ascending or descending order.",
            "required": false,
            "type": "boolean",
            "x-is-map": false
          },
          {
            "name": "query",
            "in": "query",
            "description": "Query you would like to filter your results by.",
            "required": false,
            "type": "string",
            "x-is-map": false
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response from a GET to all lists.",
            "schema": {
              "$ref": "#/definitions/get_lists_response_200"
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      }
    },
    "/organizations/{organizationId}/lists/{listId}": {
      "put": {
        "tags": [
          "Lists"
        ],
        "summary": "Edit an existing list.",
        "operationId": "Edit A List",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the Organization who owns the report being requested.",
            "required": true,
            "type": "string"
          },
          {
            "name": "listId",
            "in": "path",
            "description": "The ID of the List you would like to edit.",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - \u26a0\ufe0f Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "Content type of the request that will be sent.",
            "required": true,
            "type": "string",
            "example": "application/json",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "body",
            "in": "body",
            "description": "List object that will be sent to server.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/edit_list_body"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response from a list edit PUT.",
            "schema": {
              "$ref": "#/definitions/create_list_response_200"
            }
          },
          "400": {
            "description": "Bad data in the request object will throw a 400 error.",
            "schema": {
              "$ref": "#/definitions/generic_400"
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      }
    },
    "/organizations/{organizationId}/lists/{listId}/values": {
      "put": {
        "tags": [
          "Lists"
        ],
        "summary": "Edit, add, or replace list values.",
        "operationId": "Edit A Lists Values",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the Organization who owns the report being requested.",
            "required": true,
            "type": "string"
          },
          {
            "name": "listId",
            "in": "path",
            "description": "The ID of the List you would like to edit.",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - \u26a0\ufe0f Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "Content type of the request that will be sent.",
            "required": true,
            "type": "string",
            "example": "application/json",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "mode",
            "in": "query",
            "description": "Write mode. `append` (default) adds the supplied values and updates any that include an `id`, without removing values that are absent from the request. `replace` atomically replaces the entire list with exactly the supplied values, removing any not present, and returns counts of added, removed, and unchanged values. Use `replace` only for small lists (under ~5,000 values); for larger lists use the chunked sync endpoints.",
            "required": false,
            "type": "string",
            "default": "append",
            "enum": [
              "append",
              "replace"
            ]
          },
          {
            "name": "body",
            "in": "body",
            "description": "List values object. You can update existing values by including the value ID, or add new values by omitting the ID.\n\n**Example 1 - Update existing value:**\n```json\n{\n  \"values\": [\n    {\n      \"id\": \"cdd03cfa-66ba-49e6-8078-a4ab24d40c46\",\n      \"value\": \"updated-value.com\"\n    }\n  ]\n}\n```\n\n**Example 2 - Add new value:**\n```json\n{\n  \"values\": [\n    {\n      \"value\": \"new-value.com\"\n    }\n  ]\n}\n```",
            "required": true,
            "schema": {
              "$ref": "#/definitions/edit_list_values_body"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response. In `append` mode (the default) the response contains the resulting list values, matching the schema below. In `replace` mode the response instead contains counts of added, removed, and unchanged values, for example:\n\n```json\n{\n  \"result\": {\n    \"added\": 12,\n    \"removed\": 5,\n    \"unchanged\": 4988\n  },\n  \"errors\": []\n}\n```\n\nNote: because Swagger 2.0 allows only one schema per status code, the `200` schema below reflects the `append`-mode shape; client code generators will produce that shape even for `replace` mode.",
            "schema": {
              "$ref": "#/definitions/edit_list_values_response_200"
            }
          },
          "400": {
            "description": "Bad data in the request object will throw a 400 error. An empty `values` array is rejected with a 400 in both `append` and `replace` modes.",
            "schema": {
              "$ref": "#/definitions/generic_400"
            }
          },
          "404": {
            "description": "The target list does not exist.",
            "schema": {
              "$ref": "#/definitions/generic_400"
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      },
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Get all values for a single list.",
        "operationId": "Get All List Values",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the Organization who owns the report being requested.",
            "required": true,
            "type": "string"
          },
          {
            "name": "listId",
            "in": "path",
            "description": "The ID of the List you would like to edit.",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - ⚠️ Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response from a GET to all list values.",
            "schema": {
              "$ref": "#/definitions/get_list_values_response_200"
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      }
    },
    "/organizations/{organizationId}/lists/{listId}/sync": {
      "post": {
        "tags": [
          "Lists"
        ],
        "summary": "Begin a chunked sync session for a large list.",
        "operationId": "Begin List Sync",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the Organization that owns the list.",
            "required": true,
            "type": "string"
          },
          {
            "name": "listId",
            "in": "path",
            "description": "The ID of the List to sync.",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - ⚠️ Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "Content type of the request that will be sent. Required only when a request body is provided.",
            "required": false,
            "type": "string",
            "example": "application/json",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "body",
            "in": "body",
            "description": "Optional. Provide the total number of values you expect to upload across all batches.",
            "required": false,
            "schema": {
              "$ref": "#/definitions/begin_sync_body"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sync session created. Use the returned `syncId` for subsequent batch, complete, and cancel calls.",
            "schema": {
              "$ref": "#/definitions/begin_sync_response_200"
            }
          },
          "400": {
            "description": "The list does not exist, its type does not support sync (only domain, suppression, and target lists are supported), or `expectedCount` is negative or exceeds the maximum allowed list size.",
            "schema": {
              "$ref": "#/definitions/generic_400"
            }
          },
          "409": {
            "description": "A sync session is already in progress for this list.",
            "schema": {
              "$ref": "#/definitions/generic_400"
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      },
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Get the active sync session for a list.",
        "operationId": "Get Active List Sync Session",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the Organization that owns the list.",
            "required": true,
            "type": "string"
          },
          {
            "name": "listId",
            "in": "path",
            "description": "The ID of the List.",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - ⚠️ Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The active sync session for the list.",
            "schema": {
              "$ref": "#/definitions/begin_sync_response_200"
            }
          },
          "404": {
            "description": "No active sync session exists for this list.",
            "schema": {
              "$ref": "#/definitions/generic_400"
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      }
    },
    "/organizations/{organizationId}/lists/{listId}/sync/{syncId}/values": {
      "put": {
        "tags": [
          "Lists"
        ],
        "summary": "Upload a batch of values to a sync session.",
        "operationId": "Upload List Sync Batch",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the Organization that owns the list.",
            "required": true,
            "type": "string"
          },
          {
            "name": "listId",
            "in": "path",
            "description": "The ID of the List being synced.",
            "required": true,
            "type": "string"
          },
          {
            "name": "syncId",
            "in": "path",
            "description": "The sync session ID returned from the begin-sync call.",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - ⚠️ Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "Content type of the request that will be sent.",
            "required": true,
            "type": "string",
            "example": "application/json",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "body",
            "in": "body",
            "description": "A batch of values to add to the sync session. Maximum 10,000 values per batch.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/sync_values_body"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Batch accepted.",
            "schema": {
              "$ref": "#/definitions/sync_batch_response_200"
            }
          },
          "400": {
            "description": "Invalid batch — for example, an empty batch, exceeding the maximum batch size, exceeding the maximum list size, or a `syncId` whose list/organization does not match the path.",
            "schema": {
              "$ref": "#/definitions/generic_400"
            }
          },
          "404": {
            "description": "The `syncId` does not exist (unknown or already cancelled).",
            "schema": {
              "$ref": "#/definitions/generic_400"
            }
          },
          "410": {
            "description": "The sync session has expired.",
            "schema": {
              "$ref": "#/definitions/generic_400"
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      }
    },
    "/organizations/{organizationId}/lists/{listId}/sync/{syncId}/complete": {
      "post": {
        "tags": [
          "Lists"
        ],
        "summary": "Complete a sync session and atomically replace the list.",
        "operationId": "Complete List Sync",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the Organization that owns the list.",
            "required": true,
            "type": "string"
          },
          {
            "name": "listId",
            "in": "path",
            "description": "The ID of the List being synced.",
            "required": true,
            "type": "string"
          },
          {
            "name": "syncId",
            "in": "path",
            "description": "The sync session ID returned from the begin-sync call.",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - ⚠️ Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Swap completed. The list now points to the newly synced version.",
            "schema": {
              "$ref": "#/definitions/sync_complete_response_200"
            }
          },
          "400": {
            "description": "The session cannot be completed — for example, completing a session before any batches were uploaded, or a `syncId` whose list/organization does not match the path.",
            "schema": {
              "$ref": "#/definitions/generic_400"
            }
          },
          "404": {
            "description": "The `syncId` does not exist (unknown or already cancelled).",
            "schema": {
              "$ref": "#/definitions/generic_400"
            }
          },
          "410": {
            "description": "The sync session is no longer active (expired or already completed).",
            "schema": {
              "$ref": "#/definitions/generic_400"
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      }
    },
    "/organizations/{organizationId}/lists/{listId}/sync/{syncId}": {
      "delete": {
        "tags": [
          "Lists"
        ],
        "summary": "Cancel a sync session.",
        "operationId": "Cancel List Sync",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the Organization that owns the list.",
            "required": true,
            "type": "string"
          },
          {
            "name": "listId",
            "in": "path",
            "description": "The ID of the List being synced.",
            "required": true,
            "type": "string"
          },
          {
            "name": "syncId",
            "in": "path",
            "description": "The sync session ID returned from the begin-sync call.",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - ⚠️ Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Sync session cancelled and staged data removed. Cancelling an already-cancelled or completed session is idempotent and also returns 204."
          },
          "400": {
            "description": "The `syncId`'s list or organization does not match the path.",
            "schema": {
              "$ref": "#/definitions/generic_400"
            }
          },
          "404": {
            "description": "The `syncId` does not exist.",
            "schema": {
              "$ref": "#/definitions/generic_400"
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      }
    },
    "/organizations/{organizationId}/contracts": {
      "get": {
        "tags": [
          "Lead Submission"
        ],
        "summary": "Get all sources for an Organization",
        "operationId": "Get All Sources",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the Organization who owns the sources being requested.",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - \u26a0\ufe0f Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "skip",
            "in": "query",
            "description": "The number of results you want to skip before returning.",
            "required": false,
            "type": "number",
            "x-is-map": false
          },
          {
            "name": "take",
            "in": "query",
            "description": "The number of results you want to have returned to you.",
            "required": false,
            "type": "number",
            "x-is-map": false
          },
          {
            "name": "status",
            "in": "query",
            "description": "The status of sources you want returned to you, can choose multiple by comma separating types.",
            "enum": [
              "live",
              "pending",
              "accepted",
              "proofs-required",
              "proofs-submitted",
              "draft"
            ],
            "required": false,
            "type": "string",
            "x-is-map": false
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "How you would like the results sorted by that are returned to you.",
            "enum": [
              "shortId",
              "alias",
              "campaignName",
              "publisherName",
              "tagName",
              "payOut",
              "accepted",
              "rejected",
              "allocated",
              "percentToGoal",
              "startDate",
              "endDate"
            ],
            "required": false,
            "type": "string",
            "x-is-map": false
          },
          {
            "name": "tags",
            "in": "query",
            "description": "Only return sources which have specific tags associated with them. Use comma separated list to specify more than one.",
            "required": false,
            "type": "string",
            "x-is-map": false
          },
          {
            "name": "isAscending",
            "in": "query",
            "description": "If you would like your results to return in ascending or descending order.",
            "required": false,
            "type": "boolean",
            "x-is-map": false
          },
          {
            "name": "query",
            "in": "query",
            "description": "Query you would like to filter your results by.",
            "required": false,
            "type": "string",
            "x-is-map": false
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response from a GET to all sources.",
            "schema": {
              "$ref": "#/definitions/get_sources_response_200"
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      }
    },
    "/organizations/{organizationId}/contracts/{contractId}": {
      "get": {
        "tags": [
          "Lead Submission"
        ],
        "summary": "Get contract by ID",
        "operationId": "Get Contract By ID",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the Organization who owns the contract.",
            "required": true,
            "type": "string"
          },
          {
            "name": "contractId",
            "in": "path",
            "description": "The ID of the contract to retrieve.",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - \u26a0\ufe0f Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "accept",
            "in": "header",
            "description": "Accept header for response format.",
            "required": false,
            "type": "string",
            "default": "*/*"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response containing contract details.",
            "schema": {
              "type": "object",
              "properties": {
                "result": {
                  "type": "object",
                  "properties": {
                    "changesRequireApproval": {
                      "type": "boolean",
                      "description": "Whether changes require approval"
                    },
                    "id": {
                      "type": "string",
                      "description": "Unique identifier for the contract"
                    },
                    "accepted": {
                      "type": "integer",
                      "description": "Number of accepted leads"
                    },
                    "rejected": {
                      "type": "integer",
                      "description": "Number of rejected leads"
                    },
                    "acceptedWithExceptions": {
                      "type": "integer",
                      "description": "Number of leads accepted with exceptions"
                    },
                    "acceptedLeadCount": {
                      "type": "integer",
                      "description": "Count of accepted leads"
                    },
                    "acceptedLeadCost": {
                      "type": "number",
                      "description": "Cost of accepted leads"
                    },
                    "rejectedLeadCount": {
                      "type": "integer",
                      "description": "Count of rejected leads"
                    },
                    "rejectedLeadCost": {
                      "type": "number",
                      "description": "Cost of rejected leads"
                    },
                    "assetCount": {
                      "type": "integer",
                      "description": "Number of assets"
                    },
                    "fieldCount": {
                      "type": "integer",
                      "description": "Number of fields"
                    },
                    "percentToEndDate": {
                      "type": "string",
                      "description": "Percentage to end date"
                    },
                    "percentToGoal": {
                      "type": "string",
                      "description": "Percentage to goal"
                    },
                    "name": {
                      "type": "string",
                      "description": "Name of the contract"
                    },
                    "description": {
                      "type": "string",
                      "description": "Description of the contract"
                    },
                    "modified": {
                      "type": "string",
                      "description": "Last modified timestamp"
                    },
                    "created": {
                      "type": "string",
                      "description": "Creation timestamp"
                    },
                    "startDate": {
                      "type": "string",
                      "description": "Start date of the contract"
                    },
                    "endDate": {
                      "type": "string",
                      "description": "End date of the contract"
                    },
                    "approvedDate": {
                      "type": "string",
                      "description": "Approval date"
                    },
                    "publisherId": {
                      "type": "string",
                      "description": "Publisher ID"
                    },
                    "buyerId": {
                      "type": "string",
                      "description": "Buyer ID"
                    },
                    "status": {
                      "type": "string",
                      "description": "Status of the contract"
                    },
                    "campaignId": {
                      "type": "string",
                      "description": "Associated campaign ID"
                    },
                    "allocated": {
                      "type": "integer",
                      "description": "Allocated amount"
                    },
                    "goal": {
                      "type": "integer",
                      "description": "Goal amount"
                    },
                    "payOut": {
                      "type": "number",
                      "description": "Payout amount"
                    },
                    "currencyCode": {
                      "type": "string",
                      "description": "Currency code"
                    },
                    "overDeliveryPrice": {
                      "type": "number",
                      "description": "Over delivery price"
                    },
                    "dedupeRule": {
                      "type": "string",
                      "description": "Deduplication rule"
                    },
                    "tag": {
                      "type": "string",
                      "description": "Contract tag"
                    },
                    "purchaseOrder": {
                      "type": "string",
                      "description": "Purchase order number"
                    },
                    "insertionOrder": {
                      "type": "string",
                      "description": "Insertion order number"
                    },
                    "isNotifyChanges": {
                      "type": "boolean",
                      "description": "Whether to notify on changes"
                    },
                    "alias": {
                      "type": "string",
                      "description": "Contract alias"
                    },
                    "buyerSourceAliasName": {
                      "type": "string",
                      "description": "Buyer source alias name"
                    },
                    "proofsRequired": {
                      "type": "boolean",
                      "description": "Whether proofs are required"
                    },
                    "agreementsRequired": {
                      "type": "boolean",
                      "description": "Whether agreements are required"
                    },
                    "hasPendingChanges": {
                      "type": "boolean",
                      "description": "Whether there are pending changes"
                    },
                    "agreementsAccepted": {
                      "type": "boolean",
                      "description": "Whether agreements are accepted"
                    },
                    "areLeadsProcessing": {
                      "type": "boolean",
                      "description": "Whether leads are processing"
                    },
                    "originalCampaignId": {
                      "type": "string",
                      "description": "Original campaign ID"
                    },
                    "originalSourceId": {
                      "type": "string",
                      "description": "Original source ID"
                    },
                    "latestLeadActivity": {
                      "type": "string",
                      "description": "Latest lead activity timestamp"
                    },
                    "integrations": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      },
                      "description": "Array of integrations"
                    },
                    "products": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      },
                      "description": "Array of products"
                    },
                    "marketplaceType": {
                      "type": "string",
                      "description": "Marketplace type"
                    },
                    "version": {
                      "type": "integer",
                      "description": "Contract version"
                    },
                    "leadForms": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      },
                      "description": "Array of lead forms"
                    },
                    "integratedMediaProgram": {
                      "type": "boolean",
                      "description": "Whether integrated media program is enabled"
                    },
                    "contractedCPM": {
                      "type": "number",
                      "description": "Contracted CPM"
                    },
                    "geo": {
                      "type": "string",
                      "description": "Geographic targeting"
                    },
                    "jobTitles": {
                      "type": "string",
                      "description": "Job titles targeting"
                    },
                    "impressionAmount": {
                      "type": "integer",
                      "description": "Impression amount"
                    },
                    "lineItem": {
                      "type": "string",
                      "description": "Line item"
                    },
                    "isDomainCapEnabled": {
                      "type": "boolean",
                      "description": "Whether domain cap is enabled"
                    },
                    "domainCap": {
                      "type": "integer",
                      "description": "Domain cap limit"
                    },
                    "isLeadReview": {
                      "type": "boolean",
                      "description": "Whether lead review is enabled"
                    },
                    "leadReviewType": {
                      "type": "string",
                      "description": "Type of lead review"
                    },
                    "partnerName": {
                      "type": "string",
                      "description": "Partner name"
                    },
                    "channelId": {
                      "type": "string",
                      "description": "Channel ID"
                    },
                    "customPartnerId": {
                      "type": "string",
                      "description": "Custom partner ID"
                    },
                    "payoutType": {
                      "type": "string",
                      "description": "Payout type"
                    },
                    "isZoomInfoEnrichmentEnabled": {
                      "type": "boolean",
                      "description": "Whether ZoomInfo enrichment is enabled"
                    },
                    "isAcceptWithExceptionsEnabled": {
                      "type": "boolean",
                      "description": "Whether accept with exceptions is enabled"
                    },
                    "visibility": {
                      "type": "string",
                      "description": "Contract visibility"
                    },
                    "shortId": {
                      "type": "string",
                      "description": "Short ID"
                    },
                    "campaignType": {
                      "type": "string",
                      "description": "Campaign type"
                    },
                    "timeZone": {
                      "type": "string",
                      "description": "Time zone"
                    },
                    "categories": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Array of categories"
                    },
                    "thirdPartyIds": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Array of third party IDs"
                    },
                    "approvalMethod": {
                      "type": "string",
                      "description": "Approval method"
                    },
                    "pacing": {
                      "type": "string",
                      "description": "Pacing setting"
                    },
                    "verticals": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Array of verticals"
                    },
                    "disqualifiers": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Array of disqualifiers"
                    },
                    "marketingMethods": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Array of marketing methods"
                    },
                    "targets": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Array of targets"
                    },
                    "creativeIds": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Array of creative IDs"
                    },
                    "fields": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "label": {
                            "type": "string",
                            "description": "Field label"
                          },
                          "key": {
                            "type": "string",
                            "description": "Field key"
                          },
                          "required": {
                            "type": "boolean",
                            "description": "Whether field is required"
                          },
                          "fieldValueSource": {
                            "type": "string",
                            "description": "Field value source"
                          },
                          "type": {
                            "type": "string",
                            "description": "Field type"
                          },
                          "listId": {
                            "type": "string",
                            "description": "List ID"
                          },
                          "originalCampaignId": {
                            "type": "string",
                            "description": "Original campaign ID"
                          },
                          "originalSourceId": {
                            "type": "string",
                            "description": "Original source ID"
                          },
                          "fieldName": {
                            "type": "string",
                            "description": "Field name"
                          },
                          "question": {
                            "type": "string",
                            "description": "Field question"
                          },
                          "example": {
                            "type": "string",
                            "description": "Field example"
                          },
                          "validations": {
                            "type": "array",
                            "items": {
                              "type": "object"
                            },
                            "description": "Array of field validations"
                          },
                          "mappings": {
                            "type": "object",
                            "description": "Field mappings"
                          },
                          "alias": {
                            "type": "string",
                            "description": "Field alias"
                          },
                          "redactValue": {
                            "type": "boolean",
                            "description": "Whether to redact value"
                          },
                          "fields": {
                            "type": "array",
                            "items": {
                              "type": "object"
                            },
                            "description": "Nested fields"
                          },
                          "internalType": {
                            "type": "integer",
                            "description": "Internal field type"
                          },
                          "standardFieldKey": {
                            "type": "string",
                            "description": "Standard field key"
                          },
                          "id": {
                            "type": "string",
                            "description": "Field ID"
                          },
                          "ownerId": {
                            "type": "string",
                            "description": "Field owner ID"
                          },
                          "parents": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "Parent fields"
                          },
                          "attributes": {
                            "type": "object",
                            "description": "Field attributes"
                          }
                        }
                      },
                      "description": "Array of contract fields"
                    },
                    "extendedFields": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      },
                      "description": "Array of extended fields"
                    },
                    "appendLookupMappings": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      },
                      "description": "Array of append lookup mappings"
                    },
                    "campaignName": {
                      "type": "string",
                      "description": "Campaign name"
                    },
                    "parentCampaignType": {
                      "type": "string",
                      "description": "Parent campaign type"
                    },
                    "reason": {
                      "type": "string",
                      "description": "Reason"
                    },
                    "valueListIds": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Array of value list IDs"
                    },
                    "valueLists": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      },
                      "description": "Array of value lists"
                    },
                    "publisherName": {
                      "type": "string",
                      "description": "Publisher name"
                    },
                    "publisherShortName": {
                      "type": "string",
                      "description": "Publisher short name"
                    },
                    "buyerName": {
                      "type": "string",
                      "description": "Buyer name"
                    },
                    "buyerShortName": {
                      "type": "string",
                      "description": "Buyer short name"
                    },
                    "acceptancePeriod": {
                      "type": "integer",
                      "description": "Acceptance period"
                    },
                    "allowOverDelivery": {
                      "type": "boolean",
                      "description": "Whether to allow over delivery"
                    }
                  }
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Array of error messages"
                }
              }
            }
          },
          "404": {
            "description": "Contract not found.",
            "schema": {
              "type": "object",
              "properties": {
                "result": {
                  "type": "object",
                  "description": "Empty result object"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "example": [
                    "Could not find contract {id}"
                  ],
                  "description": "Array of error messages"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      }
    },
    "/datawarehouse/reports/download": {
      "get": {
        "tags": [
          "Lead Submission"
        ],
        "summary": "Get leads from a contract",
        "operationId": "Get Leads From Contract",
        "produces": [
          "application/csv",
          "text/csv",
          "application/vnd.ms-excel",
          "application/octet-stream"
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "description": "Status filter for leads (e.g., 'all').",
            "required": false,
            "type": "string",
            "default": "all"
          },
          {
            "name": "fileType",
            "in": "query",
            "description": "Type of file to download (0 for CSV).",
            "required": false,
            "type": "integer",
            "default": 0
          },
          {
            "name": "type",
            "in": "query",
            "description": "Type of data to download (e.g., 'leads').",
            "required": false,
            "type": "string",
            "default": "leads"
          },
          {
            "name": "contractIds",
            "in": "query",
            "description": "Comma-separated list of contract IDs to filter leads.",
            "required": false,
            "type": "string"
          },
          {
            "name": "useMongo",
            "in": "query",
            "description": "Whether to use MongoDB for data retrieval.",
            "required": false,
            "type": "boolean",
            "default": true
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - \u26a0\ufe0f Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "accept",
            "in": "header",
            "description": "Accept header for response format.",
            "required": false,
            "type": "string",
            "default": "application/csv, text/csv, application/vnd.ms-excel, application/octet-stream"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response containing leads data in CSV format.",
            "schema": {
              "type": "string",
              "format": "binary"
            },
            "x-example": null
          },
          "400": {
            "description": "Bad request - invalid parameters.",
            "schema": {
              "type": "object",
              "properties": {
                "success": {
                  "type": "boolean",
                  "description": "Indicates if the request was successful"
                },
                "messages": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Array of error messages"
                }
              },
              "examples": [
                {
                  "success": false,
                  "messages": ["must supply a request query."],
                  "description": "Missing request parameter"
                },
                {
                  "success": false,
                  "messages": ["Request must have a valid report type."],
                  "description": "Invalid report type"
                },
                {
                  "success": false,
                  "messages": ["request must contain either contract ID or campaign ID."],
                  "description": "Missing required IDs for non-postout reports"
                },
                {
                  "success": false,
                  "messages": ["request must contain either campaign ID, integration ID, or batch ID."],
                  "description": "Missing required IDs for postout reports"
                }
              ]
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      }
    },
    "/datawarehouse/reports/downloadreport": {
      "post": {
        "tags": [
          "Reports"
        ],
        "summary": "Download a saved report as a file (CSV or XLSX)",
        "description": "Synchronously streams a saved report directly to the response body as either CSV or XLSX, based on the fileType query parameter (defaults to CSV). Supported report types: LeadReport, SourceReport, and PacingSummaryReport. The optional startDate and endDate request body properties filter the report to a specific date range; both must be supplied together (or neither), startDate must be on or before endDate, and omitting both uses the report's saved date filter. The optional skip and take request body properties enable pagination; both must be supplied together (or neither), and omitting both streams the whole report.",
        "operationId": "Download Report",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/csv",
          "text/csv",
          "application/vnd.ms-excel",
          "application/octet-stream"
        ],
        "parameters": [
          {
            "name": "fileType",
            "in": "query",
            "description": "Output file format. Supported values: 'csv' (default) or 'xlsx'.",
            "required": false,
            "type": "string",
            "enum": [
              "csv",
              "xlsx"
            ],
            "default": "csv"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Report download request.",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "reportId"
              ],
              "properties": {
                "reportId": {
                  "type": "string",
                  "format": "uuid",
                  "description": "The unique identifier of the saved report to download."
                },
                "fileName": {
                  "type": "string",
                  "description": "Optional file name for the downloaded report."
                },
                "startDate": {
                  "type": "string",
                  "format": "date",
                  "description": "Optional start of the date range to filter the report by, in ISO 8601 format (YYYY-MM-DD). Must be supplied together with 'endDate'; providing one without the other returns a 400. Must be on or before 'endDate'. Omit both 'startDate' and 'endDate' to use the report's saved date filter."
                },
                "endDate": {
                  "type": "string",
                  "format": "date",
                  "description": "Optional end of the date range (inclusive of the whole day) to filter the report by, in ISO 8601 format (YYYY-MM-DD). Must be supplied together with 'startDate'; providing one without the other returns a 400. Omit both 'startDate' and 'endDate' to use the report's saved date filter."
                },
                "skip": {
                  "type": "integer",
                  "format": "int32",
                  "minimum": 0,
                  "description": "Optional pagination. Zero-based row offset to start the download from. Must be supplied together with 'take'; providing one without the other returns a 400. Omit both 'skip' and 'take' to download the whole report."
                },
                "take": {
                  "type": "integer",
                  "format": "int32",
                  "minimum": 1,
                  "maximum": 100000,
                  "description": "Optional pagination. Number of rows to stream in this page (1 to 100000). Must be supplied together with 'skip'; providing one without the other returns a 400. Omit both 'skip' and 'take' to download the whole report."
                }
              },
              "example": {
                "reportId": "0ac4fc8a-a427-4e6f-b0e2-4e408aca2a08",
                "fileName": "lead-report",
                "startDate": "2026-02-22",
                "endDate": "2026-02-24",
                "skip": 0,
                "take": 500
              }
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "Bearer Token Authentication - ⚠️ Support ends 31st December 2025",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "accept",
            "in": "header",
            "description": "Accept header for response format.",
            "required": false,
            "type": "string",
            "default": "application/csv, text/csv, application/vnd.ms-excel, application/octet-stream"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response containing the report file (CSV or XLSX) as a binary stream.",
            "schema": {
              "type": "file"
            },
            "x-example": null
          },
          "400": {
            "description": "Bad request - invalid payload or unsupported report type.",
            "schema": {
              "type": "object",
              "properties": {
                "success": {
                  "type": "boolean",
                  "description": "Indicates if the request was successful"
                },
                "messages": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Array of error messages"
                }
              },
              "examples": [
                {
                  "success": false,
                  "messages": ["Invalid request payload."],
                  "description": "Missing or invalid reportId"
                },
                {
                  "success": false,
                  "messages": ["Streaming is supported only for: LeadReport, SourceReport, PacingSummaryReport. Got: DomainPerformanceSourceReport."],
                  "description": "Unsupported report type"
                },
                {
                  "success": false,
                  "messages": ["startDate was provided without endDate. Provide both startDate and endDate to filter by date range, or neither to use the report's saved date filter."],
                  "description": "Incomplete date range (startDate/endDate must be supplied together)"
                },
                {
                  "success": false,
                  "messages": ["startDate must be on or before endDate."],
                  "description": "Inverted date range"
                },
                {
                  "success": false,
                  "messages": ["Skip was provided without Take. Provide both Skip and Take to paginate, or neither to download the whole report."],
                  "description": "Incomplete pagination parameters (skip/take must be supplied together)"
                }
              ]
            }
          },
          "404": {
            "description": "The requested report was not found.",
            "schema": {
              "type": "object",
              "properties": {
                "success": {
                  "type": "boolean",
                  "description": "Indicates if the request was successful"
                },
                "messages": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Array of error messages"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer_Token": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      }
    },
    "/contracts/{contractId}/leads": {
      "post": {
        "tags": [
          "Lead Submission"
        ],
        "summary": "Submit a new lead to a campaign",
        "operationId": "Submit Lead",
        "consumes": [
          "application/vnd.api+json"
        ],
        "produces": [
          "application/vnd.api+json"
        ],
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The ID of the contract/campaign to submit the lead to.",
            "required": true,
            "type": "string"
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "description": "API Key Authentication: Required for lead submission. Supports standalone version or with X-API-Key-Secret.",
            "required": true,
            "type": "string"
          },
          {
            "name": "X-API-Key-Secret",
            "in": "header",
            "description": "API Key Secret Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "Content type of the request that will be sent.",
            "required": true,
            "type": "string",
            "example": "application/vnd.api+json",
            "enum": [
              "application/vnd.api+json"
            ]
          },
          {
            "name": "body",
            "in": "body",
            "description": "Lead submission object that will be sent to server.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/lead_submission_body"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response from lead submission.",
            "schema": {
              "$ref": "#/definitions/lead_submission_response_200"
            }
          },
          "400": {
            "description": "Bad data in the request object will throw a 400 error.",
            "schema": {
              "$ref": "#/definitions/generic_400"
            }
          }
        },
        "security": [
          {
            "API_Key": []
          },
          {
            "API_Key": [],
            "API_Key_Secret": []
          }
        ]
      }
    }
  },
  "definitions": {
    "lead_submission_body": {
      "properties": {
        "data": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "The type of data being submitted",
              "example": "lead"
            },
            "attributes": {
              "type": "object",
              "properties": {
                "first_name": {
                  "type": "string",
                  "description": "The first name of the lead",
                  "example": "John1w"
                },
                "last_name": {
                  "type": "string",
                  "description": "The last name of the lead",
                  "example": "Doe1w"
                },
                "email": {
                  "type": "string",
                  "description": "The email address of the lead",
                  "example": "john.doe12@example.com"
                },
                "phone": {
                  "type": "string",
                  "description": "The phone number of the lead",
                  "example": "1239-456-78820"
                }
              },
              "required": [
                "first_name",
                "last_name",
                "email",
                "phone"
              ]
            }
          },
          "required": [
            "type",
            "attributes"
          ]
        }
      }
    },
    "lead_submission_response_200": {
      "properties": {
        "data": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "The ID of the submitted lead",
              "example": "lead-12345"
            },
            "type": {
              "type": "string",
              "description": "The type of the submitted data",
              "example": "lead"
            },
            "attributes": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "description": "The status of the lead submission",
                  "example": "accepted"
                },
                "submitted_at": {
                  "type": "string",
                  "description": "The timestamp when the lead was submitted",
                  "example": "2024-01-01T00:00:00Z"
                }
              }
            }
          }
        }
      }
    },
    "generate_report_201": {
      "properties": {
        "reportUrl": {
          "type": "string",
          "example": "http://app.integrate.com/analytics/reports?download=eyJ0..."
        }
      }
    },
    "disposition_body": {
      "properties": {
        "dispositionValues": {
          "type": "object",
          "properties": {
            "LEAD_ID": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "Disposition code, code must exist within your organization data.",
                  "example": "REJECT_LEAD_CAP"
                },
                "reason": {
                  "type": "string",
                  "description": "Custom reason for lead rejection.",
                  "example": "Lead was rejected by robots."
                }
              }
            }
          }
        }
      }
    },
    "generate_report_200": {
      "type": "object",
      "properties": {
        "targets": {
          "type": "array",
          "items": {
            "type": "string",
            "example": "example@example.com"
          }
        },
        "success": {
          "type": "boolean"
        },
        "messages": {
          "type": "array",
          "items": {}
        }
      }
    },
    "empty_200": {
      "properties": {
        "result": {
          "type": "object"
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "string",
            "example": ""
          }
        }
      }
    },
    "disposition_upload_400": {
      "properties": {
        "result": {
          "type": "object"
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "string",
            "example": "FOO_BAR is not part of your Organizations mappings. Disposition cannot be applied."
          }
        }
      }
    },
    "create_list_body": {
      "properties": {
        "name": {
          "type": "string",
          "description": "The name you want to give the new list",
          "example": "My New Domain List"
        },
        "type": {
          "type": "string",
          "description": "The type of list you want to generate.",
          "example": "domain",
          "enum": [
            "domain",
            "general",
            "suppression",
            "target"
          ]
        },
        "source": {
          "type": "string",
          "description": "The source where the list is hosted.",
          "example": "Integrate",
          "enum": [
            "Integrate"
          ]
        },
        "values": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "value": {
                "type": "string",
                "description": "Domain you wish to add to your list.",
                "example": "integrate.com"
              }
            }
          }
        }
      }
    },
    "create_list_response_200": {
      "properties": {
        "result": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "ID of the list that was generated.",
              "example": "cdd03cfa-66ba-49e6-8078-a4ab24d40c47"
            },
            "organization": {
              "type": "string",
              "description": "ID of the organization the list belongs to.",
              "example": "d2c25ef1-4036-40ec-b613-c0b5b89523e1"
            },
            "file": {
              "type": "string",
              "example": ""
            },
            "name": {
              "type": "string",
              "description": "Name of the list that was generated.",
              "example": "My Domain List"
            },
            "type": {
              "type": "string",
              "description": "Type of list that was generated.",
              "example": "domain"
            },
            "source": {
              "type": "string",
              "description": "Source of the list that was generated.",
              "example": "Integrate"
            },
            "isMD5": {
              "type": "boolean",
              "example": false,
              "description": "Specified whether the list is stored as a MD5 Hash."
            },
            "path": {
              "type": "string",
              "example": ""
            },
            "values": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "example": "cdd03cfa-66ba-49e6-8078-a4ab24d40c46",
                    "description": "Unique ID given to each value in a list."
                  },
                  "value": {
                    "type": "string",
                    "example": "integrate.com",
                    "description": "Value of item in list."
                  }
                }
              }
            },
            "created": {
              "type": "string",
              "example": "2016-10-13T22:54:32.6768750+00:00",
              "description": "Timestamp of the date the list was created."
            },
            "lastUpdated": {
              "type": "string",
              "example": "2016-10-13T22:54:32.6768750+00:00",
              "description": "Timestamp of the date the list was last updated."
            },
            "configurations": {
              "type": "array"
            }
          }
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "string",
            "example": ""
          }
        }
      }
    },
    "generic_400": {
      "properties": {
        "result": {
          "type": "object"
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "string",
            "example": "There was an error."
          }
        }
      }
    },
    "get_lists_response_200": {
      "properties": {
        "result": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "ID of the list that was generated.",
                "example": "cdd03cfa-66ba-49e6-8078-a4ab24d40c47"
              },
              "ownerId": {
                "type": "string",
                "description": "ID of the organization the list belongs to.",
                "example": "d2c25ef1-4036-40ec-b613-c0b5b89523e1"
              },
              "file": {
                "type": "string",
                "example": ""
              },
              "name": {
                "type": "string",
                "description": "Name of the list that was generated.",
                "example": "My Domain List"
              },
              "type": {
                "type": "string",
                "description": "Type of list that was generated.",
                "example": "domain"
              },
              "source": {
                "type": "string",
                "description": "Source of the list that was generated.",
                "example": "Integrate"
              },
              "isMD5": {
                "type": "boolean",
                "example": false,
                "description": "Specified whether the list is stored as a MD5 Hash."
              },
              "path": {
                "type": "string",
                "example": ""
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "cdd03cfa-66ba-49e6-8078-a4ab24d40c46",
                      "description": "Unique ID given to each value in a list."
                    },
                    "value": {
                      "type": "string",
                      "example": "integrate.com",
                      "description": "Value of item in list."
                    }
                  }
                }
              },
              "created": {
                "type": "string",
                "example": "2016-10-13T22:54:32.6768750+00:00",
                "description": "Timestamp of the date the list was created."
              },
              "lastUpdated": {
                "type": "string",
                "example": "2016-10-13T22:54:32.6768750+00:00",
                "description": "Timestamp of the date the list was last updated."
              },
              "configurations": {
                "type": "array"
              }
            }
          }
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "string",
            "example": ""
          }
        }
      }
    },
    "edit_list_body": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the list that was generated.",
          "example": "My Domain List"
        },
        "type": {
          "type": "string",
          "description": "Type of list that was generated.",
          "example": "domain"
        },
        "source": {
          "type": "string",
          "description": "Source of the list that was generated.",
          "example": "Integrate"
        },
        "isMD5": {
          "type": "boolean",
          "example": false,
          "description": "Specified whether the list is stored as a MD5 Hash."
        },
        "caseSensitive": {
          "type": "boolean",
          "example": true,
          "description": "Whether or not the list values should be case sensitive."
        }
      }
    },
    "edit_list_values_body": {
      "properties": {
        "values": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "example": "cdd03cfa-66ba-49e6-8078-a4ab24d40c46",
                "description": "Unique ID given to each value in a list.  You include this ID if you are editing an existing value. This property is excluded if a new value is being added."
              },
              "value": {
                "type": "string",
                "example": "integrate.com",
                "description": "Value of item in list."
              }
            }
          }
        }
      },
      "example": {
        "values": [
          {
            "id": "cdd03cfa-66ba-49e6-8078-a4ab24d40c46",
            "value": "updated-value.com"
          },
          {
            "value": "new-value.com"
          }
        ]
      },
      "x-examples": {
        "update_existing_value": {
          "values": [
            {
              "id": "cdd03cfa-66ba-49e6-8078-a4ab24d40c46",
              "value": "updated-value.com"
            }
          ]
        },
        "add_new_value": {
          "values": [
            {
              "value": "new-value.com"
            }
          ]
        }
      }
    },
    "edit_list_values_response_200": {
      "properties": {
        "result": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "example": "cdd03cfa-66ba-49e6-8078-a4ab24d40c46",
                "description": "Unique ID given to each value in a list."
              },
              "value": {
                "type": "string",
                "example": "integrate.com",
                "description": "Value of item in list."
              }
            }
          }
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "string",
            "example": ""
          }
        }
      }
    },
    "get_list_values_response_200": {
      "properties": {
        "result": {
          "type": "object",
          "properties": {
            "values": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "example": "cdd03cfa-66ba-49e6-8078-a4ab24d40c46",
                    "description": "Unique ID given to each value in a list."
                  },
                  "value": {
                    "type": "string",
                    "example": "integrate.com",
                    "description": "Value of item in list."
                  }
                }
              }
            }
          }
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "string",
            "example": ""
          }
        }
      }
    },
    "begin_sync_body": {
      "properties": {
        "expectedCount": {
          "type": "integer",
          "description": "Optional. The total number of values you expect to upload across all batches.",
          "example": 50000
        }
      },
      "example": {
        "expectedCount": 50000
      }
    },
    "begin_sync_response_200": {
      "properties": {
        "result": {
          "type": "object",
          "properties": {
            "syncId": {
              "type": "string",
              "description": "The ID of the sync session. Use this for subsequent batch, complete, and cancel calls.",
              "example": "9bc279c6-054e-4572-a4ca-5fd31105e1d9"
            },
            "listId": {
              "type": "string",
              "description": "The ID of the list being synced.",
              "example": "63e6e489-9738-4515-87f5-24b3c7c6db2a"
            },
            "existingCount": {
              "type": "integer",
              "description": "The number of values currently on the list before this sync begins.",
              "example": 40000
            },
            "createdAt": {
              "type": "string",
              "format": "date-time",
              "description": "When the sync session was created.",
              "example": "2026-06-08T18:13:12.124715Z"
            },
            "expiresAt": {
              "type": "string",
              "format": "date-time",
              "description": "When the sync session expires if not completed.",
              "example": "2026-06-08T19:13:12.124715Z"
            }
          }
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "string",
            "example": ""
          }
        }
      }
    },
    "sync_values_body": {
      "properties": {
        "values": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "value": {
                "type": "string",
                "example": "integrate.com",
                "description": "A single value to add to the sync session."
              }
            }
          }
        }
      },
      "example": {
        "values": [
          {
            "value": "integrate.com"
          },
          {
            "value": "example.com"
          }
        ]
      }
    },
    "sync_batch_response_200": {
      "properties": {
        "result": {
          "type": "object",
          "properties": {
            "syncId": {
              "type": "string",
              "example": "9bc279c6-054e-4572-a4ca-5fd31105e1d9"
            },
            "batchNumber": {
              "type": "integer",
              "description": "The sequential number of this batch within the session.",
              "example": 1
            },
            "batchSize": {
              "type": "integer",
              "description": "The number of values accepted in this batch.",
              "example": 5000
            },
            "totalReceived": {
              "type": "integer",
              "description": "The cumulative number of values received across all batches in this session.",
              "example": 5000
            }
          }
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "string",
            "example": ""
          }
        }
      }
    },
    "sync_complete_response_200": {
      "properties": {
        "result": {
          "type": "object",
          "properties": {
            "syncId": {
              "type": "string",
              "example": "9bc279c6-054e-4572-a4ca-5fd31105e1d9"
            },
            "previousCount": {
              "type": "integer",
              "description": "The number of values on the list before the swap.",
              "example": 40000
            },
            "newCount": {
              "type": "integer",
              "description": "The number of values on the list after the swap.",
              "example": 50000
            },
            "durationMs": {
              "type": "integer",
              "description": "The time taken to complete the swap, in milliseconds.",
              "example": 125
            },
            "failedContractUpdates": {
              "type": "array",
              "description": "IDs of contracts that reference this list but could not be updated to the new version. Empty on full success.",
              "items": {
                "type": "string",
                "example": ""
              }
            },
            "failedCampaignUpdates": {
              "type": "array",
              "description": "IDs of campaigns that reference this list but could not be updated to the new version. Empty on full success.",
              "items": {
                "type": "string",
                "example": ""
              }
            }
          }
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "string",
            "example": ""
          }
        }
      }
    },
    "get_reports_response_200": {
      "type": "object",
      "properties": {
        "result": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "newExpReports": {
                "type": "boolean"
              },
              "targets": {
                "type": "string"
              },
              "template": {
                "type": "string"
              },
              "reportFilters": {
                "type": "object",
                "properties": {
                  "contractStatuses": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "campaignStatuses": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "leadStatuses": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "campaignIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "contractIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "adsCampaignIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "autoAddSourcesType": {
                    "type": "integer"
                  },
                  "autoCampaignIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "autoBuyerIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "autoPublisherIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "autoDomainListIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "autoGeneralListIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "autoTagIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "integrationIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "batchIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "fileName": {
                "type": "string"
              },
              "schedules": {
                "type": "object"
              },
              "pcSchedules": {
                "type": "array",
                "items": {}
              },
              "name": {
                "type": "string"
              },
              "ownerId": {
                "type": "string"
              },
              "singleFile": {
                "type": "boolean"
              },
              "includeCurrentAndFuture": {
                "type": "boolean"
              },
              "emailSubject": {
                "type": "string"
              },
              "emailBody": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "isInactive": {
                "type": "boolean"
              },
              "created": {
                "type": "string"
              },
              "modified": {
                "type": "string"
              },
              "createdByUserId": {
                "type": "string"
              },
              "createdBy": {
                "type": "string"
              },
              "upcomingRunTime": {
                "type": "string"
              },
              "upcomingRunTimeTimeZone": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "fields": {
                "type": "array",
                "items": {}
              },
              "mappers": {
                "type": "array",
                "items": {}
              },
              "fileType": {
                "type": "string"
              },
              "allowExtendedAccess": {
                "type": "boolean"
              },
              "uiTemplateModel": {
                "type": [
                  "null",
                  "object"
                ]
              },
              "pcReportFilterOptions": {
                "type": [
                  "null",
                  "object"
                ]
              },
              "deletedFields": {
                "type": [
                  "null",
                  "object"
                ]
              }
            }
          }
        },
        "total": {
          "type": [
            "integer",
            "null"
          ]
        },
        "success": {
          "type": "boolean"
        },
        "messages": {
          "type": "array",
          "items": {}
        }
      }
    },
    "get_sources_response_200": {
      "type": "object",
      "properties": {
        "result": {
          "type": "object",
          "properties": {
            "api": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "api": {
                    "type": "object",
                    "properties": {
                      "changesRequireApproval": {
                        "type": "boolean"
                      },
                      "id": {
                        "type": "string"
                      },
                      "ownerId": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string",
                        "example": "test mapp"
                      },
                      "modified": {
                        "type": "string",
                        "example": "2016-12-21T10:13:11.2740000Z"
                      },
                      "created": {
                        "type": "string",
                        "example": "2016-12-21T10:10:35.4980000Z"
                      },
                      "startDate": {
                        "type": "string",
                        "example": "2016-12-21T00:00:00.0000000Z"
                      },
                      "endDate": {
                        "type": "null"
                      },
                      "approvedDate": {
                        "type": "null"
                      },
                      "publisherId": {
                        "type": "string"
                      },
                      "buyerId": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string",
                        "example": "live"
                      },
                      "campaignId": {
                        "type": "string"
                      },
                      "allocated": {
                        "type": "number",
                        "example": 1221
                      },
                      "goal": {
                        "type": "null"
                      },
                      "payOut": {
                        "type": "number",
                        "example": 11
                      },
                      "shortId": {
                        "type": "string"
                      },
                      "campaignType": {
                        "type": "string",
                        "example": "CPL"
                      },
                      "accepted": {
                        "type": "number",
                        "example": 0
                      },
                      "rejected": {
                        "type": "number",
                        "example": 0
                      },
                      "assetCount": {
                        "type": "number",
                        "example": 1
                      },
                      "fieldCount": {
                        "type": "number",
                        "example": 4
                      },
                      "pacing": {
                        "type": "null"
                      },
                      "campaignName": {
                        "type": "string",
                        "example": "test mapp"
                      },
                      "publisherName": {
                        "type": "string",
                        "example": "Dev Media Partner"
                      },
                      "publisherShortName": {
                        "type": "string",
                        "example": "devmediapartner"
                      },
                      "buyerName": {
                        "type": "string",
                        "example": "Dev Marketer"
                      },
                      "buyerShortName": {
                        "type": "string",
                        "example": "devmarketer"
                      },
                      "purchaseOrder": {
                        "type": "string",
                        "example": ""
                      },
                      "insertionOrder": {
                        "type": "string",
                        "example": ""
                      },
                      "alias": {
                        "type": "string"
                      },
                      "percentToEndDate": {
                        "type": "string",
                        "example": ""
                      },
                      "percentToGoal": {
                        "type": "string",
                        "example": "0.00"
                      },
                      "proofsRequired": {
                        "type": "boolean"
                      },
                      "agreementsRequired": {
                        "type": "boolean"
                      },
                      "agreementsAccepted": {
                        "type": "boolean"
                      },
                      "tag": {
                        "type": "string",
                        "example": "00000000-0000-0000-0000-000000000000"
                      },
                      "tagName": {
                        "type": "null"
                      }
                    },
                    "required": [
                      "changesRequireApproval",
                      "id",
                      "ownerId",
                      "name",
                      "modified",
                      "created",
                      "startDate",
                      "endDate",
                      "approvedDate",
                      "publisherId",
                      "buyerId",
                      "status",
                      "campaignId",
                      "allocated",
                      "goal",
                      "payOut",
                      "shortId",
                      "campaignType",
                      "accepted",
                      "rejected",
                      "assetCount",
                      "fieldCount",
                      "pacing",
                      "campaignName",
                      "publisherName",
                      "publisherShortName",
                      "buyerName",
                      "buyerShortName",
                      "purchaseOrder",
                      "insertionOrder",
                      "alias",
                      "percentToEndDate",
                      "percentToGoal",
                      "proofsRequired",
                      "agreementsRequired",
                      "agreementsAccepted",
                      "tag",
                      "tagName"
                    ]
                  }
                },
                "required": [
                  "api"
                ]
              }
            }
          }
        },
        "errors": {
          "type": "array"
        }
      }
    }
  }
}