Cardlytics Campaigns API

The Campaigns API from Cardlytics — 14 operation(s) for campaigns.

Operations 17

GET /v7/accounts/{accountId}/Campaigns Returns all Campaigns from the repository for a given account.
POST /v7/accounts/{accountId}/Campaigns Adds a Campaign to the repository.
GET /v7/Campaigns Returns all Campaigns from the repository.
GET /v7/accounts/{accountId}/Campaigns/{campaignId} Returns a Campaign from the repository for a given account by its CampaignId.
PATCH /v7/accounts/{accountId}/Campaigns/{campaignId} Updates the partial modifications to a Campaign.
DELETE /v7/accounts/{accountId}/Campaigns/{campaignId} Deletes a Campaign with all related entities (AdGroup, Ad, Audience etc.) DELETE accounts/{accountId}/Campaigns/{campaignId}
GET /v7/Campaigns/{campaignId} Returns a Campaign from the repository by its CampaignId.
GET /v7/accounts/{accountId}/Campaigns/{campaignId}/diff Returns a difference between the two versions of the Campaign.
PATCH /v7/accounts/{accountId}/Campaigns/{campaignId}/optimize Updates the partial modifications to a Campaign with only optimize Campaign fields.
PUT /v7/accounts/{accountId}/Campaigns/{campaignId}/status Updates the Status of a Campaign. Use this endpoint to apply changes to the Campaign Status, for example resulting from user action.
GET /v7/accounts/{accountId}/Campaigns/{campaignId}/versions Returns all versions of a Campaign. A version is created when a CampaignBuilt event is published for a campaign.
GET /v7/accounts/{accountId}/Campaigns/{campaignId}/versions/latest Returns the latest version of a Campaign. A version is created when a CampaignBuilt event is published for a campaign.
POST /v7/accounts/{accountId}/Campaigns/{campaignId}/projection Creates a CampaignProjection request and saves the request to the repository.
POST /v7/accounts/{accountId}/Campaigns/{campaignId}/duplicate Duplicates a Campaign with all related entities (AdGroup, Ad, Audience, Ad pricing models, etc.)
GET /v7/accounts/{accountId}/Campaigns/{campaignId}/validation Validates a Campaign with all business rules.
GET /v7/Campaigns/validation/rule-set Returns validation rules for a Campaign object.
GET /v7/Campaigns/count Calculates the aggregate count of campaigns partitioned by the campaign status. Only counts those objects which the user has been granted access.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cardlytics-campaigns-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cardlytics-campaigns-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Campaign Build Campaigns API
  version: latest
servers:
- url: https://api.cardlytics.com
  description: Base URL declared by the provider in apis.yml (roadmap#122).
security:
- oauth2-cognito:
  - read
tags:
- name: Campaigns
paths:
  /v7/accounts/{accountId}/Campaigns:
    get:
      tags:
      - Campaigns
      summary: Returns all Campaigns from the repository for a given account.
      parameters:
      - name: accountId
        in: path
        description: The accountId to for which to retrieve Campaigns.
        required: true
        schema:
          type: string
      - name: PerPage
        in: query
        schema:
          minimum: 1
          type: integer
          format: int32
      - name: Page
        in: query
        schema:
          minimum: 1
          type: integer
          format: int32
      - name: OrderBy
        in: query
        schema:
          type: string
      - name: filter
        in: query
        description: Gets or Sets the filter specification strings
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: The list of Campaign was found and returned in the response body.
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetCampaignResourceModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetCampaignResourceModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetCampaignResourceModel'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
    post:
      tags:
      - Campaigns
      summary: Adds a Campaign to the repository.
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      requestBody:
        description: The Campaign to add to the repository.
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/PostCampaignResourceModel'
          application/json:
            schema:
              $ref: '#/components/schemas/PostCampaignResourceModel'
          text/json:
            schema:
              $ref: '#/components/schemas/PostCampaignResourceModel'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PostCampaignResourceModel'
      responses:
        '201':
          description: The Campaign was created; the response contains the new entity and the route to retrieve it from this controller.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v7/Campaigns:
    get:
      tags:
      - Campaigns
      summary: Returns all Campaigns from the repository.
      parameters:
      - name: PerPage
        in: query
        schema:
          minimum: 1
          type: integer
          format: int32
      - name: Page
        in: query
        schema:
          minimum: 1
          type: integer
          format: int32
      - name: OrderBy
        in: query
        schema:
          type: string
      - name: filter
        in: query
        description: Gets or Sets the filter specification strings
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: The list of Campaign was found and returned in the response body.
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetCampaignResourceModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetCampaignResourceModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetCampaignResourceModel'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v7/accounts/{accountId}/Campaigns/{campaignId}:
    get:
      tags:
      - Campaigns
      summary: Returns a Campaign from the repository for a given account by its CampaignId.
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: campaignId
        in: path
        description: The CampaignId to find.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: The Campaign was found and returned in the response body.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The Campaign was not found.
    patch:
      tags:
      - Campaigns
      summary: Updates the partial modifications to a Campaign.
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: campaignId
        in: path
        description: The Id of the Campaign to be modified.
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        description: The Campaign with its updates in Json Patch document format.
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
      responses:
        '200':
          description: The Campaign was found and updated; the updated entity is returned in the response body.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
        '400':
          description: The CampaignId specified in the route does not match the value specified in the request body.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The Campaign was not found.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
    delete:
      tags:
      - Campaigns
      summary: 'Deletes a Campaign with all related entities (AdGroup, Ad, Audience etc.)

        DELETE accounts/{accountId}/Campaigns/{campaignId}'
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: campaignId
        in: path
        description: The CampaignId to delete.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '204':
          description: A Successful No Content result.
        '400':
          description: The Campaign is not in Draft Status.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The Campaign was not found.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v7/Campaigns/{campaignId}:
    get:
      tags:
      - Campaigns
      summary: Returns a Campaign from the repository by its CampaignId.
      parameters:
      - name: campaignId
        in: path
        description: The CampaignId to find.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: The Campaign was found and returned in the response body.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The Campaign was not found.
  /v7/accounts/{accountId}/Campaigns/{campaignId}/diff:
    get:
      tags:
      - Campaigns
      summary: Returns a difference between the two versions of the Campaign.
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: campaignId
        in: path
        description: The CampaignId to find.
        required: true
        schema:
          type: integer
          format: int32
      - name: baseVersion
        in: query
        description: The base version of the campaign.
        schema:
          type: integer
          format: int32
      - name: compareVersion
        in: query
        description: The version to compare the campaign.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: The Campaign and its was found and returned the difference of two versions.
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The Campaign was not found.
  /v7/accounts/{accountId}/Campaigns/{campaignId}/optimize:
    patch:
      tags:
      - Campaigns
      summary: Updates the partial modifications to a Campaign with only optimize Campaign fields.
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: campaignId
        in: path
        description: The Id of the Campaign to be modified.
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        description: The Campaign with its updates in Json Patch document format.
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
      responses:
        '200':
          description: The Campaign was found and updated; the updated entity is returned in the response body.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
        '400':
          description: The CampaignId specified in the route does not match the value specified in the request body.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The Campaign was not found.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v7/accounts/{accountId}/Campaigns/{campaignId}/status:
    put:
      tags:
      - Campaigns
      summary: Updates the Status of a Campaign. Use this endpoint to apply changes to the Campaign Status, for example resulting from user action.
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: campaignId
        in: path
        description: The Id of the campaign to be modified.
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        description: An object containing the new desired status.
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/PutCampaignStatusResourceModel'
          application/json:
            schema:
              $ref: '#/components/schemas/PutCampaignStatusResourceModel'
          text/json:
            schema:
              $ref: '#/components/schemas/PutCampaignStatusResourceModel'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PutCampaignStatusResourceModel'
      responses:
        '200':
          description: The Campaign was found and updated; the updated entity is returned in the response body.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GetCampaignResourceModel'
        '400':
          description: The CampaignId specified in the route does not match the value specified in the request body.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The Campaign was not found.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v7/accounts/{accountId}/Campaigns/{campaignId}/versions:
    get:
      tags:
      - Campaigns
      summary: Returns all versions of a Campaign. A version is created when a CampaignBuilt event is published for a campaign.
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: campaignId
        in: path
        description: The Id of the campaign.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: The Campaign was found.
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetCampaignVersionResourceModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetCampaignVersionResourceModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetCampaignVersionResourceModel'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The Campaign was not found.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v7/accounts/{accountId}/Campaigns/{campaignId}/versions/latest:
    get:
      tags:
      - Campaigns
      summary: Returns the latest version of a Campaign. A version is created when a CampaignBuilt event is published for a campaign.
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: campaignId
        in: path
        description: The Id of the campaign.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: The Campaign was found.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetCampaignVersionResourceModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GetCampaignVersionResourceModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GetCampaignVersionResourceModel'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The Campaign was not found.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v7/accounts/{accountId}/Campaigns/{campaignId}/projection:
    post:
      tags:
      - Campaigns
      summary: Creates a CampaignProjection request and saves the request to the repository.
      parameters:
      - name: accountId
        in: path
        description: The AccountId of the campaign to filter.
        required: true
        schema:
          type: string
      - name: campaignId
        in: path
        description: The Id of the campaign to be projected.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '201':
          description: The CampaignProjection was created; the response contains the new entity.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetCampaignProjectionResourceModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GetCampaignProjectionResourceModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GetCampaignProjectionResourceModel'
        '400':
          description: The Campaign Bad request when project does not follow the validation rules..
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The Campaign was not found.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v7/accounts/{accountId}/Campaigns/{campaignId}/duplicate:
    post:
      tags:
      - Campaigns
      summary: Duplicates a Campaign with all related entities (AdGroup, Ad, Audience, Ad pricing models, etc.)
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: campaignId
        in: path
        description: The campaignId to duplicate.
        required: true
        schema:
          type: integer
          format: int32
      - name: duplicates
        in: query
        description: Count of duplicates.
        schema:
          maximum: 100
          minimum: 1
          type: integer
          format: int32
          default: 1
      responses:
        '303':
          description: The Campaign was duplicated and the GET route to the new duplicated campaign is returned in the location header.
        '400':
          description: Bad request. For example, some validation rules were violated during the request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The Campaign was not found.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v7/accounts/{accountId}/Campaigns/{campaignId}/validation:
    get:
      tags:
      - Campaigns
      summary: Validates a Campaign with all business rules.
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: campaignId
        in: path
        description: The campaignId to find.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: The Campaign was found and the validation result is returned in the response body.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetValidationResourceModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GetValidationResourceModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GetValidationResourceModel'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The Campaign was not found.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v7/Campaigns/validation/rule-set:
    get:
      tags:
      - Campaigns
      summary: Returns validation rules for a Campaign object.
      responses:
        '200':
          description: The Campaign validation rules are returned in the response body.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetValidationDefinitionResourceModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GetValidationDefinitionResourceModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GetValidationDefinitionResourceModel'
  /v7/Campaigns/count:
    get:
      tags:
      - Campaigns
      summary: 'Calculates the aggregate count of campaigns partitioned by the campaign status.

        Only counts those objects which the user has been granted access.'
      parameters:
      - name: filter
        in: query
        description: Gets or Sets the filter specification strings
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: The counts operation completed successfully.
          content:
            text/plain:
 

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cardlytics/refs/heads/main/openapi/cardlytics-campaigns-api-openapi.yml