Cardlytics Campaign Build API

The Ads Manager campaign object model — Campaigns, AdGroups, Ads, Audiences, AudienceReach, Rewards, PricingModels, RedeemingMerchants, Geo, PurchaseCategories, AuditLogs and per-entity validation rule sets. 74 operations across 57 paths, versioned per resource from v5 to v8, secured with an OAuth 2.0 authorization code flow against an Amazon Cognito user pool.

OpenAPI Specification

cardlytics-campaign-build-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Campaign Build API
  version: latest
paths:
  /v6/accounts/{accountId}/AdGroups/{adGroupId}/clone:
    post:
      tags:
      - AdGroups
      summary: Clones an AdGroup with all related entities (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: adGroupId
        in: path
        description: The adGroupId to clone.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '303':
          description: The AdGroup was cloned and the GET route to the new cloned AdGroup 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'
        '404':
          description: The AdGroup 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'
  /v6/accounts/{accountId}/AdGroups/{adGroupId}/duplicate:
    post:
      tags:
      - AdGroups
      summary: Duplicates an AdGroup with all related entities (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: adGroupId
        in: path
        description: The adGroupId to duplicate.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '303':
          description: The AdGroup was duplicated and the GET route to the new cloned AdGroup 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'
        '404':
          description: The AdGroup 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'
  /v6/accounts/{accountId}/AdGroups/{adGroupId}:
    get:
      tags:
      - AdGroups
      summary: Returns an AdGroup from the repository for the given account by its adGroupId.
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: adGroupId
        in: path
        description: The adGroupId to find.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: The AdGroup was found and returned in the response body.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetAdGroupResourceModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GetAdGroupResourceModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GetAdGroupResourceModel'
        '404':
          description: The AdGroup 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'
    patch:
      tags:
      - AdGroups
      summary: Updates the partial modifications to an adGroup.
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: adGroupId
        in: path
        description: The Id of the AdGroup to be modified.
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        description: The AdGroup 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 AdGroup was found and updated; the updated entity is returned in the response body.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetAdGroupResourceModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GetAdGroupResourceModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GetAdGroupResourceModel'
        '400':
          description: The adGroupId 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'
        '404':
          description: The AdGroup 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:
      - AdGroups
      summary: "Deletes an Ad Group with all related entities (Reward, Pricing models, etc.)\r\nDELETE accounts/{accountId}/AdGroups/{adGroupId}"
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: adGroupId
        in: path
        description: The Ad Group Id to delete.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '204':
          description: A Successful No Content result.
        '400':
          description: The Ad Group 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'
        '404':
          description: The Ad Group 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'
  /v6/AdGroups/{adGroupId}:
    get:
      tags:
      - AdGroups
      summary: Returns an AdGroup from the repository by its adGroupId.
      parameters:
      - name: adGroupId
        in: path
        description: The adGroupId to find.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: The AdGroup was found and returned in the response body.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetAdGroupResourceModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GetAdGroupResourceModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GetAdGroupResourceModel'
        '404':
          description: The AdGroup 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'
  /v6/accounts/{accountId}/AdGroups:
    get:
      tags:
      - AdGroups
      summary: Returns all Ad Groups from the repository for a given account.
      parameters:
      - name: accountId
        in: path
        description: The accountId for which to retrieve Ad Groups.
        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 Ad Groups was found and returned in the response body.
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetAdGroupResourceModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetAdGroupResourceModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetAdGroupResourceModel'
    post:
      tags:
      - AdGroups
      summary: Adds an AdGroup 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 AdGroup to add to the repository.
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/PostAdGroupResourceModel'
          application/json:
            schema:
              $ref: '#/components/schemas/PostAdGroupResourceModel'
          text/json:
            schema:
              $ref: '#/components/schemas/PostAdGroupResourceModel'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PostAdGroupResourceModel'
      responses:
        '201':
          description: The AdGroup was created; the response contains the new entity and the route to retrieve it from this
            controller.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetAdGroupResourceModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GetAdGroupResourceModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GetAdGroupResourceModel'
  /v6/AdGroups:
    get:
      tags:
      - AdGroups
      summary: Returns all Ad Groups 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 Ad Groups was found and returned in the response body.
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetAdGroupResourceModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetAdGroupResourceModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetAdGroupResourceModel'
  /v6/accounts/{accountId}/AdGroups/{adGroupId}/validation:
    get:
      tags:
      - AdGroups
      summary: Validates an AdGroup with all business rules.
      parameters:
      - name: accountId
        in: path
        description: The accountId for which to retrieve the AdGroup.
        required: true
        schema:
          type: string
      - name: adGroupId
        in: path
        description: The adGroupId to validate.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: The AdGroup was validated and results 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 AdGroup 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'
  /v6/AdGroups/validation/rule-set:
    get:
      tags:
      - AdGroups
      summary: Returns validation rules for a AdGroup object.
      responses:
        '200':
          description: The AdGroup 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/accounts/{accountId}/Ads/{adId}:
    get:
      tags:
      - Ads
      summary: Returns an Ad from the repository for a given account by its adId.
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: adId
        in: path
        description: The adId to find.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: The Ad was found and returned in the response body.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetAdResourceModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GetAdResourceModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GetAdResourceModel'
        '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 Ad 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'
    patch:
      tags:
      - Ads
      summary: Updates the partial modifications to an Ad.
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: adId
        in: path
        description: The id of the Ad to be modified.
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        description: The Ad 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 Ad was found and updated; the updated entity is returned in the response body.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetAdResourceModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GetAdResourceModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GetAdResourceModel'
        '400':
          description: The adId 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 Ad 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:
      - Ads
      summary: "Deletes an Ad with all related entities (Reward, Pricing models, etc.)\r\nDELETE accounts/{accountId}/Ads/{adId}"
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: adId
        in: path
        description: The AdId to delete.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '204':
          description: A Successful No Content result.
        '400':
          description: The Ad 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 Ad 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/Ads/{adId}:
    get:
      tags:
      - Ads
      summary: Returns an Ad from the repository by its adId.
      parameters:
      - name: adId
        in: path
        description: The adId to find.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: The Ad was found and returned in the response body.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetAdResourceModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GetAdResourceModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GetAdResourceModel'
        '404':
          description: The Ad 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/Ads/{adId}/RedeemingMerchants:
    get:
      tags:
      - Ads
      summary: Gets the RedeemingMerchants associated with an Ad.
      parameters:
      - name: adId
        in: path
        description: The id of the Ad to be modified.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: The Ad was found and associated Redeeming Merchants were returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetRedeemingMerchantResourceModel'
        '404':
          description: The Ad was not found or does not contain RedeemingMerchant information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v7/accounts/{accountId}/Ads/{adId}/RedeemingMerchants:
    post:
      tags:
      - Ads
      summary: Creates an Ad's Redeeming Merchants List.
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: adId
        in: path
        description: The AdIdof the Ad to filter the request.
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        description: The list of Redeeming Merchant objects to add to the repository.
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PostRedeemingMerchantResourceModel'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PostRedeemingMerchantResourceModel'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PostRedeemingMerchantResourceModel'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PostRedeemingMerchantResourceModel'
      responses:
        '201':
          description: "The Redeeming Merchant List was created; the response contains the new entity and the route to retrieve\
            \ it\r\n           from this controller."
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetRedeemingMerchantResourceModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetRedeemingMerchantResourceModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetRedeemingMerchantResourceModel'
        '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'
    put:
      tags:
      - Ads
      summary: Updates the partial modifications to an Ad's Redeeming Merchants List.
      parameters:
      - name: accountId
        in: path
        description: The accountId of the user to filter the request.
        required: true
        schema:
          type: string
      - name: adId
        in: path
        description: The id of the Ad to be modified.
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        description: The Redeeming Merchant List with its updates in Json Patch document format.
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PutRedeemingMerchantResourceModel'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PutRedeemingMerchantResourceModel'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PutRedeemingMerchantResourceModel'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PutRedeemingMerchantResourceModel'
      responses:
        '200':
          description: The Redeeming Merchant List was found and updated; the updated entity is returned in the response body.
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetRedeemingMerchantResourceModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetRedeemingMerchantResourceModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetRedeemingMerchantResourceModel'
        '400':
          description: The adId 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 Redeeming Merchant List 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}/Ads:
    get:
      tags:
      - Ads
      summary: Returns all Ads from the repository for a given account.
      parameters:
      - name: accountId
        in: path
        description: The accountId for which to retrieve Ads.
        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 audiences was found and returned in the response body.
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetAdResourceModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetAdResourceModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetAdResourceModel'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/co

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