Newscred Campaigns API

The Campaigns API from Newscred — 7 operation(s) for campaigns.

Business capability
Marketing Management BC-400

Operations 10

GET /campaigns GET /campaigns #
POST /campaigns POST /campaigns #
PUT /campaigns/{campaign_id}/fields/{field_id} PUT /campaigns/{campaign_id}/fields/{field_id} #
GET /campaigns/{id} GET /campaigns/{id} #
PATCH /campaigns/{id} PATCH /campaigns/{id} #
POST /campaigns/{id}/attachments POST /campaigns/{id}/attachments #
GET /campaigns/{id}/brief GET /campaigns/{id}/brief #
POST /campaigns/{id}/comments POST /campaigns/{id}/comments #
GET /campaigns/{id}/fields GET campaigns/{id}/fields #
POST /campaigns/{id}/fields POST campaigns/{id}/fields #

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/newscred-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

newscred-campaigns-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Newscred Campaigns API
  version: V3
  description: 'Operations tagged Campaigns across 2 of this provider''s published API definitions: newscred-cmp-open-api-openapi.json, newscred-welcome-open-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- description: v3 version of Optimizely CMP Open API
  url: https://api.cmp.optimizely.com/v3
- url: https://api.welcomesoftware.com/v3
  description: v3 version of _Welcome_ Open API
tags:
- name: Campaigns
paths:
  /campaigns:
    get:
      description: <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Get a list of campaigns.
      operationId: listCampaigns
      parameters:
      - example: 127a32121da23c3a543
        in: query
        name: owner
        schema:
          description: Owner ID of the campaign
          type: string
      - example: '2022-08-24T00:00:00.000Z'
        in: query
        name: start_date
        schema:
          description: Start date of the campaign, in ISO 8601 UTC format
          type: string
      - example: '2022-08-24T00:00:00.000Z'
        in: query
        name: end_date
        schema:
          description: End date of the campaign, in ISO 8601 UTC format
          type: string
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/page_size'
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    description: List of campaigns
                    items:
                      $ref: '#/components/schemas/CampaignListResponseItem'
                    type: array
                  pagination:
                    allOf:
                    - $ref: '#/components/schemas/Pagination'
                    - properties:
                        next:
                          example: https://api.cmp.optimizely.com/v3/campaigns?offset=10&page_size=10
                          type:
                          - string
                          - 'null'
                      type: object
                required:
                - data
                - pagination
                type: object
          description: List of fetched campaigns
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      summary: GET /campaigns
      tags:
      - Campaigns
      security:
      - OAuth2:
        - openid
        - profile
        - offline_access
    post:
      description: <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Create a campaign
      operationId: createCampaign
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CampaignCreateRequest'
        description: Payload to create a campaign
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignResponse'
          description: Created campaign
        '400':
          $ref: '#/components/responses/ClientError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
      summary: POST /campaigns
      tags:
      - Campaigns
      security:
      - OAuth2:
        - openid
        - profile
        - offline_access
    servers:
    - description: v3 version of Optimizely CMP Open API
      url: https://api.cmp.optimizely.com/v3
  /campaigns/{campaign_id}/fields/{field_id}:
    put:
      description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Update the field value of a campaign. '
      operationId: updateCampaignField
      parameters:
      - example: 5f857f30e1c4a2038d6179e9
        in: path
        name: campaign_id
        required: true
        schema:
          description: Unique identifier of the campaign
          type: string
      - example: 4f857f30e1c4a2038d6179e7
        in: path
        name: field_id
        required: true
        schema:
          description: Unique identifier of the field of the campaign
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CampaignFieldUpdateRequest'
        description: Payload to update the field value
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignFieldUpdateResponse'
          description: Updated the campaign field
        '400':
          $ref: '#/components/responses/ClientError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: PUT /campaigns/{campaign_id}/fields/{field_id}
      tags:
      - Campaigns
      security:
      - OAuth2:
        - openid
        - profile
        - offline_access
    servers:
    - description: v3 version of Optimizely CMP Open API
      url: https://api.cmp.optimizely.com/v3
  /campaigns/{id}:
    get:
      description: Get a campaign
      operationId: getCampaign
      parameters:
      - example: 8q7f910551b00a722e0418830cee6612
        in: path
        name: id
        required: true
        schema:
          description: Unique identifier of the campaign
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignResponse'
          description: Fetched campaign
        '400':
          $ref: '#/components/responses/ClientError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: GET /campaigns/{id}
      tags:
      - Campaigns
      security:
      - OAuth2:
        - openid
        - profile
        - offline_access
    patch:
      description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Update a campaign '
      operationId: updateCampaign
      parameters:
      - example: 8q7f910551b00a722e0418830cee6612
        in: path
        name: id
        required: true
        schema:
          description: Unique identifier of the campaign
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CampaignUpdateRequest'
        description: Payload to update the campaign
        required: true
      responses:
        '204':
          description: Campaign updated
        '400':
          $ref: '#/components/responses/ClientError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: PATCH /campaigns/{id}
      tags:
      - Campaigns
      security:
      - OAuth2:
        - openid
        - profile
        - offline_access
    servers:
    - description: v3 version of Optimizely CMP Open API
      url: https://api.cmp.optimizely.com/v3
  /campaigns/{id}/attachments:
    post:
      description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Add an attachment to the campaign. '
      operationId: addAttachmentToCampaign
      parameters:
      - example: 5f857f30e1c4a2038d6179e9
        in: path
        name: id
        required: true
        schema:
          description: Unique identifier of the campaign
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AttachmentRequest'
        description: Payload to add an attachment
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentResponse'
          description: Attachment added to the campaign
        '400':
          $ref: '#/components/responses/ClientError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: POST /campaigns/{id}/attachments
      tags:
      - Campaigns
      security:
      - OAuth2:
        - openid
        - profile
        - offline_access
    servers:
    - description: v3 version of Optimizely CMP Open API
      url: https://api.cmp.optimizely.com/v3
  /campaigns/{id}/brief:
    get:
      description: Get brief of the campaign
      operationId: getCampaignBrief
      parameters:
      - example: 5f857f30e1c4a2038d6179e9
        in: path
        name: id
        required: true
        schema:
          description: Unique identifier of the campaign
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignBriefResponse'
          description: Fetched brief of the campaign
        '400':
          $ref: '#/components/responses/ClientError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: GET /campaigns/{id}/brief
      tags:
      - Campaigns
      security:
      - OAuth2:
        - openid
        - profile
        - offline_access
    servers:
    - description: v3 version of Optimizely CMP Open API
      url: https://api.cmp.optimizely.com/v3
  /campaigns/{id}/comments:
    post:
      description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Post a comment on a campaign. '
      operationId: addCommentToCampaign
      parameters:
      - example: da80cfd7bbf84959a8a981acbad996b3
        in: path
        name: id
        required: true
        schema:
          description: Unique identifier of the campaign
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentCreateRequest'
        description: Payload to add a comment
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignCommentResponse'
          description: Created a comment for the campaign
        '400':
          $ref: '#/components/responses/ClientError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: POST /campaigns/{id}/comments
      tags:
      - Campaigns
      security:
      - OAuth2:
        - openid
        - profile
        - offline_access
    servers:
    - description: v3 version of Optimizely CMP Open API
      url: https://api.cmp.optimizely.com/v3
  /campaigns/{id}/fields:
    get:
      description: '<span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Get the list of fields of a campaign. '
      operationId: listCampaignFields
      parameters:
      - example: 5f857f30e1c4a2038d6179e9
        in: path
        name: id
        required: true
        schema:
          description: Unique identifier of the campaign
          type: string
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/page_size'
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    description: List of fields
                    items:
                      $ref: '#/components/schemas/FieldListResponseItem'
                    type: array
                  pagination:
                    allOf:
                    - $ref: '#/components/schemas/Pagination'
                    - properties:
                        next:
                          example: https://api.cmp.optimizely.com/v3/campaigns/5f857f30e1c4a2038d6179e9/fields?offset=10&page_size=10
                          type:
                          - string
                          - 'null'
                      type: object
                required:
                - data
                - pagination
                type: object
          description: List of fetched fields
        '400':
          $ref: '#/components/responses/ClientError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: GET campaigns/{id}/fields
      tags:
      - Campaigns
      security:
      - OAuth2:
        - openid
        - profile
        - offline_access
    post:
      description: <span style="background-color:#e95f6a;padding:5px;border-radius:5px">Experimental</span> Add a field to a campaign.
      operationId: addFieldToCampaign
      parameters:
      - example: 5f857f30e1c4a2038d6179e9
        in: path
        name: id
        required: true
        schema:
          description: Unique identifier of the campaign
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectFieldCreateRequest'
        description: Payload to add a field to a campaign
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectFieldCreateResponse'
          description: Added field to a campaign.
        '400':
          $ref: '#/components/responses/ClientError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
      summary: POST campaigns/{id}/fields
      tags:
      - Campaigns
      security:
      - OAuth2:
        - openid
        - profile
        - offline_access
    servers:
    - description: v3 version of Optimizely CMP Open API
      url: https://api.cmp.optimizely.com/v3
components:
  schemas:
    NumberTypeObjectFieldUpdatePayload:
      allOf:
      - $ref: '#/components/schemas/BaseObjectFieldUpdatePayload'
      - properties:
          values:
            description: Accepts a single numeric value
            items:
              example: 200
              type: number
            maxItems: 1
            type: array
        type: object
    StringTypeObjectFieldUpdatePayload:
      allOf:
      - $ref: '#/components/schemas/BaseObjectFieldUpdatePayload'
      - properties:
          values:
            description: Any single string
            items:
              example: This is a test string
              type: string
            type: array
        type: object
    BaseObjectFieldUpdatePayload:
      properties:
        type:
          description: Type of the field
          example: checkbox
          type: string
        values:
          description: Values for the campaign field
          type: array
      required:
      - type
      - values
      type: object
    MultiChoiceTypeObjectField:
      allOf:
      - $ref: '#/components/schemas/BaseObjectField'
      - $ref: '#/components/schemas/MultiChoiceTypeObjectFieldUpdatePayload'
    CampaignCommentResponse:
      additionalProperties: false
      properties:
        attachments:
          description: List of attachments of the comment
          example:
          - id: a113667245d111eb8945000c
            name: sample.png
            url: https://files.cmp.optimizely.com/download/96c314a645d111eb8945000c291b51d4?token=
          items:
            $ref: '#/components/schemas/AttachmentResponse'
          type: array
        comment_by:
          description: Unique identifier of the user who posted the comment
          example: 62a8455e29fed3045d9c7a8b
          type: string
        created_at:
          description: Creation date and time of the campaign comment in ISO 8601 UTC format (2020-02-10T10:40:45Z)
          example: '2020-10-06T13:15:30Z'
          format: date-time
          type: string
        id:
          description: Unique identifier of the campaign comment
          example: 5fe38c39574b52a62a089239
          type: string
        is_resolved:
          description: Determines if the comment is resolved in Optimizely CMP
          example: false
          type: boolean
        links:
          additionalProperties: false
          description: Meta links
          properties:
            campaign:
              description: URL of the campaign
              example: https://api.cmp.optimizely.com/v3/campaigns/5fe38c39574b52a62a089239
              type: string
            comment_by:
              description: URL of the user who posted the comment
              example: https://api.cmp.optimizely.com/v3/users/62a8455e29fed3045d9c7a8b
              type: string
          required:
          - campaign
          - comment_by
          type: object
        modified_at:
          description: Last modification date and time of the campaign comment in ISO 8601 UTC format (2020-02-10T10:40:45Z)
          example: '2020-10-06T14:15:30Z'
          format: date-time
          type: string
        parent_comment_id:
          description: Unique identifier of the parent comment
          example: 5fe38c39574b52a62a089238
          type:
          - string
          - 'null'
        value:
          description: Content of the comment
          example: Well done!
          type: string
      required:
      - id
      - value
      - is_resolved
      - parent_comment_id
      - comment_by
      - created_at
      - modified_at
      - attachments
      - links
      type: object
    FieldTypeSimpleNumber:
      allOf:
      - $ref: '#/components/schemas/FieldBaseType'
      - properties:
          decimal_places:
            description: Decimal place of the numerical field
            example: 2
            type:
            - integer
            - 'null'
          has_thousand_separator:
            description: Whether the numerical field has a thousand separator
            example: true
            type: boolean
        required:
        - has_thousand_separator
        - decimal_places
        type: object
    FieldListResponseItem:
      discriminator:
        mapping:
          checkbox: '#/components/schemas/FieldTypeCheckbox'
          currency_number: '#/components/schemas/FieldTypeCurrencyNumber'
          date: '#/components/schemas/FieldTypeCommon'
          dropdown: '#/components/schemas/FieldTypeDropdown'
          image: '#/components/schemas/FieldTypeCommon'
          label: '#/components/schemas/FieldTypeLabel'
          percentage_number: '#/components/schemas/FieldTypePercentageNumber'
          radio_button: '#/components/schemas/FieldTypeRadio'
          rich_text: '#/components/schemas/FieldTypeCommon'
          simple_number: '#/components/schemas/FieldTypeSimpleNumber'
          text: '#/components/schemas/FieldTypeCommon'
          text_area: '#/components/schemas/FieldTypeCommon'
          video: '#/components/schemas/FieldTypeCommon'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/FieldTypeCommon'
      - $ref: '#/components/schemas/FieldTypeLabel'
      - $ref: '#/components/schemas/FieldTypeDropdown'
      - $ref: '#/components/schemas/FieldTypeRadio'
      - $ref: '#/components/schemas/FieldTypeCheckbox'
      - $ref: '#/components/schemas/FieldTypeSimpleNumber'
      - $ref: '#/components/schemas/FieldTypePercentageNumber'
      - $ref: '#/components/schemas/FieldTypeCurrencyNumber'
    ResourceLabelResponse:
      additionalProperties: false
      description: Label associated to a fetched resource
      properties:
        group:
          additionalProperties: false
          description: Label group
          properties:
            id:
              description: Identifier of the label group
              example: 2467e583a60e23fda2b89db81a453cd2
              type: string
            name:
              description: Name of the label group
              example: Content Format
              type: string
          required:
          - id
          - name
          type: object
        values:
          description: List of values of the label
          items:
            additionalProperties: false
            properties:
              id:
                description: Identifier of the label value
                example: 71c378f3fee3d822759d1bdc2aab628c
                type: string
              name:
                description: Name of the label value
                example: Photos
                type: string
            required:
            - id
            - name
            type: object
          type: array
      required:
      - group
      - values
      type: object
    DateTypeObjectField:
      allOf:
      - $ref: '#/components/schemas/BaseObjectField'
      - $ref: '#/components/schemas/DateTypeObjectFieldUpdatePayload'
    CampaignListResponseItem:
      additionalProperties: false
      properties:
        description:
          description: Description of the campaign
          example: The awesome campaign's description
          type:
          - string
          - 'null'
        end_date:
          description: 'End date of the campaign in ISO 8601 format: `YYYY-MM-DD`'
          example: '2019-10-16'
          type:
          - string
          - 'null'
        id:
          description: Unique identifier of the campaign
          example: 8q7f910551b00a722e0418830cee6612
          type: string
        is_hidden:
          description: Whether the campaign is hidden or not
          example: false
          type: boolean
        links:
          additionalProperties: false
          description: Meta links
          properties:
            self:
              description: URL of the campaign
              example: https://api.cmp.optimizely.com/v3/campaigns/8q7f910551b00a722e0418830cee6612
              type: string
          required:
          - self
          type: object
        owner:
          additionalProperties: false
          description: Owner information of the campaign
          properties:
            id:
              description: Unique identifier of the owner of the campaign
              example: 8q7f910551b00a722e0418830cee8211
              type: string
          type: object
        reference_id:
          description: Reference identifier of the campaign
          example: CPN-1589
          type: string
        start_date:
          description: 'Start date of the campaign in ISO 8601 format: `YYYY-MM-DD`'
          example: '2019-10-06'
          type:
          - string
          - 'null'
        title:
          description: Title of the campaign
          example: The awesome campaign
          type: string
      required:
      - id
      - title
      - description
      - start_date
      - end_date
      - is_hidden
      - reference_id
      - owner
      - links
      type: object
    DropdownTypeObjectFieldUpdatePayload:
      allOf:
      - $ref: '#/components/schemas/BaseObjectFieldUpdatePayload'
      - properties:
          values:
            description: Array of choice ID. Multiple choice values are not acceptable for `is_multi_select=false`.
            items:
              example: 9119a313057e401189407116fcd3
              type: string
            type: array
        type: object
    MultiChoiceTypeObjectFieldUpdatePayload:
      allOf:
      - $ref: '#/components/schemas/BaseObjectFieldUpdatePayload'
      - properties:
          values:
            description: Array of choice IDs
            items:
              example: 9119a313057e401189407116fcd3
              type: string
            type: array
        type: object
    CampaignFieldTypes:
      description: Type of the field
      enum:
      - checkbox
      - currency_number
      - date
      - dropdown
      - label
      - radio_button
      - text_area
      - percentage_number
      - rich_text
      - simple_number
      - text
      - image
      - video
      example: image
      type: string
    CommentCreateRequest:
      additionalProperties: false
      properties:
        attachments:
          description: List of comment attachments.
          items:
            $ref: '#/components/schemas/AttachmentRequest'
          type: array
        value:
          description: Content of the comment. Markdown is supported. To mention a user belonging to the organization, use the `@[name](openapi-user-link)` format.
          example: Comment mentioning @[Organization User](https://api.cmp.optimizely.com/v3/users/5fe38aeb574b52a62a089238)
          minLength: 1
          type: string
      required:
      - value
      type: object
    FieldTypeCheckbox:
      allOf:
      - $ref: '#/components/schemas/FieldBaseType'
      - properties:
          choices:
            description: Choices of the checkbox
            items:
              properties:
                id:
                  description: Identifier of the choice
                  example: 6ceee2f4fa3411ecb37802420ac8001b
                  type: string
                name:
                  description: Name of the choice
                  example: Checkbox 1 Choice 1
                  type: string
              required:
              - id
              - name
              - color
              type: object
            type: array
        required:
        - choices
        type: object
    AttachmentResponse:
      additionalProperties: false
      properties:
        id:
          description: Unique identifier for the attachment
          example: 5a7f910511b0a72230ce6631
          type: string
        name:
          description: Filename of the attachment
          example: sample_image.png
          type: string
        url:
          description: Download URL of the attachment
          example: https://files.cmp.optimizely.com/download/2115bfe4450c11ebaae8000c291b51d4
          type: string
      required:
      - id
      - name
      - url
      type: object
    FieldTypeCommon:
      allOf:
      - $ref: '#/components/schemas/FieldBaseType'
      - type: object
    AssetTypeObjectFieldUpdatePayload:
      allOf:
      - $ref: '#/components/schemas/BaseObjectFieldUpdatePayload'
      - properties:
          values:
            description: Payload for fields with attachments
            items:
              properties:
                key:
                  description: Unique identifier of the file upload session. This is the `upload_meta_fields.key` field retrieved from the `/v3/upload-url` endpoint.
                  example: ce8995aea58b11ea8cd90242ac120005
                  type: string
                title:
                  description: Title of the image or video
                  example: Sample.jpeg
                  minLength: 1
                  type: string
              required:
              - title
              - key
            maxItems: 1
            type: array
        type: object
    CampaignResponse:
      additionalProperties: false
      properties:
        budget:
          allOf:
          - $ref: '#/components/schemas/BudgetResponse'
          type:
          - object
          - 'null'
        created_at:
          description: Creation date and time of the campaign,  in ISO 8601 UTC format (`2035-02-10T10:40:45Z`)
          example: '2035-10-06T13:15:30Z'
          format: date-time
          type: string
        description:
          description: Description of the campaign
          example: The awesome campaign's description
          type:
          - string
          - 'null'
        end_date:
          description: 'End date of the campaign in ISO 8601 format: `YYYY-MM-DD`'
          example: '2019-10-16'
          type:
          - string
          - 'null'
        id:
          description: Unique identifier of the campaign
          example: 8q7f910551b00a722e0418830cee6612
          type: string
        is_hidden:
          description: Whether the campaign is hidden or not
          example: false
          type: boolean
        labels:
          description: Labels associated to the campaign
          items:
            $ref: '#/components/schemas/ResourceLabelResponse'
          type: array
        links:
          additionalProperties: false
          description: Meta links
          properties:
            brief:
              description: URL of the campaign brief
              example: https://api.cmp.optimizely.com/v3/campaigns/8q7f910551b00a722e0418830cee6612/brief
              type:
              - string
              - 'null'
            child_campaigns:
              description: URLs of the child campaigns
              items:
                example: https://api.cmp.optimizely.com/v3/campaigns/6fb21acf987094513ecb4b58
                type: string
              type: array
            owner:
              description: URL of the campaign owner
              example: https://api.cmp.optimizely.com/v3/users/6ea1bf781398c3147393arr1
              type:
              - string
              - 'null'
            parent_campaign:
              description: URL of the parent campaign
              example: https://api.cmp.optimizely.com/v3/campaigns/7u7f910551b00a722e0418830cee6643
              type:
              - string
              - 'null'
            self:
              description: URL of the campaign
              example: https://api.cmp.optimizely.com/v3/campaigns/8q7f910551b00a722e0418830cee6612
              type: string
          required:
          - self
          - brief
          - owner
          - parent_campaign
          - child_campaigns
          type: object
        reference_id:
          description: Reference identifier of the campaign
          example: CPN-1589
          type: string
        start_date:
          description: 'Start date of the campaign in ISO 8601 format: `YYYY-MM-DD`'
          example: '2019-10-06'
          type:
          - string
          - 'null'
        status:
          description: Status of the campaign
          enum:
          - Not Started
          - Off Track
          - On Track
          - Complete
          - At Risk
          example: On Track
          type: string
        title:
          description: Title of the campaign
          example: The awesome campaign
          type: string
      required:
      - id
      - title
      - description
      - start_date
      - end_date
      - created_at
      - is_hidden
      - status
      - reference_id
      - budget
      - labels
      - links
      type: object
    NumberTypeObjectField:
      allOf:
      - $ref: '#/components/schemas/BaseObjectField'
      - $ref: '#/components/schemas/NumberTypeObjectFieldUpdatePayload'
    Pagination:
      additionalProperties: false
      description: Pagination related information
      properties:
        next:
          description: URL to the next page
          example: https://api.cmp.optimizely.com/<some-path-to-next-page>?offset=10&page_size=10
          type:
          - string
          - 'null'
        previous:
          description: URL to the previous page
          example: null
          type:
          - string
          - 'null'
      required:
      - next
      - previous
      type: object
    FieldTypeRadio:
      allOf:
      - $ref: '#/components/schemas/FieldBaseType'
      - properties:
          choices:
            description: Choices of the radio button
            items:
              properties:
                id:
                  description: Identifier of the ch

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