SpringServe UI API (v1)

The v1 REST API for SpringServe, Magnite's ad-serving and CTV/streaming ad-server platform. 379 operations across 295 paths and 53 tags, covering supply tags, demand tags, supply routers, creatives (video, audio, tag, tile), deals and curated marketplaces, audiences and partner segments, targeting lists (domain, app bundle, app name, geo, ISP, postal code, city, state, country, metro area), header bidding platforms and bid maps, dashboards, reporting, report templates and scheduled reports, changelogs, notifications, permissions, users, accounts and billing. Published as OpenAPI 3.1.2 and served anonymously from the SpringServe console's Swagger UI. Magnite is still building v1 parity with v0, so both versions are live and documented side by side.

Documentation

Specifications

Other Resources

OpenAPI Specification

rubicon-project-springserve-v1-openapi.yml Raw ↑
---
servers:
- url: https://console.springserve.com/api/v1
  description: >-
    SpringServe console. Added by API Evangelist from the published documentation
    (springserve.atlassian.net/wiki/spaces/SSD/pages/1573617663/API+-+Getting+Started, "Base
    Url https://console.springserve.com/"); the document Magnite serves declares no servers[]
    block because the Swagger UI infers the host from window.location.
- url: https://console.clearline.magnite.com/api/v1
  description: >-
    ClearLine console. The identical contract is served from ClearLine's own host; base URL
    published at springserve.atlassian.net/wiki/spaces/CLD/pages/3649929217/Clearline+API+SDK.
x-servers-added-by: https://apievangelist.com — not present in the upstream document; see openapi/_original/ for the verbatim spec.
openapi: 3.1.2
info:
  title: SpringServe UI API
  version: 1.0.0
  description: "> **_NOTE:_** This document covers the v1 API (`/api/v1`). You can
    find additional documentation on the v1 API (`/api/v1`) on the \n[Magnite Help
    Center](https://help.magnite.com/), which is broken into sections for endpoints
    relevant to \n[SpringServe](https://help.magnite.com/help/api-documentation) and
    [Clearline](https://help.magnite.com/help/api-documentation-06dd4d3). \nYou can
    also find V1 swagger documentation by selecting ‘SpringServe API V1’ from the
    dropdown at the top right corner \nof this page. Please note we are in the process
    of creating V1 endpoints for all existing V0 endpoints, but while that work \nis
    in progress not all endpoints will be supported on V1. We advise reviewing both
    swagger pages to determine what \nis supported in each version.\n\n# Authentication\nWhen
    using this API documentation server, by default it will authenticate API calls
    using cookie-based authentication against the selected server.  If you are properly
    logged into the SpringServe server and your session is still active, then the
    API calls should automatically authenticate.  \n\nOutside of this API documentation
    server you should use either Token Based or Bearer authentication.  You may also
    these authentication methods on this server as well,\n which will take precedence
    over any cookie/session based authentication.\n### Token Based Authentication\nUse
    the [POST /api/v1/auth](#/Auth/auth_post) endpoint to generate an API token that
    is then passed in the `Authorization: <token>` header\n\n### Bearer Authentication\nUse
    the [POST /api/v1/auth](#/Auth/auth_post) endpoint to authenticate and get a bearer
    token that is then passed in the `Authorization: Bearer <token>` header\n\n# Active
    Account Context\nA given request always runs in the context of currently active
    account for the authenticated user making the request.  The active account can
    be determined via\nthe [GET /api/v1/accounts/current](#/Accounts/accounts_current_get)
    endpoint and updated via [POST /api/v1/accounts/{id}/set_current](#/Accounts/accounts_id_set_current_post).\nThe
    active account can also be overridden for an authenticated request by passing
    the `x-auth-context` header.\n\n# Common List Resource Functionality\n\n## List
    Resource Requests\nVirtually all List endpoints (e.g. `GET /api/v1/demand_tags`)
    support the following via request query parameters:\n* Pagination via the `page`
    (first page is page `1`) and `per` (how many results per page, default is `50`,
    max is `1000`) query parameters.\n* Searching via the `search` query param\n*
    Sorting via the comma-delimited `sort` query param - e.g. `sort=name,-id` would
    sort by name ascending, then by id descending.  By default,\nonly first-level
    (directly on the entity, not on associations) attributes are sortable.  Some endpoints
    expose additional/custom orderable fields, \nwhich are documented with that endpoint.\n*
    Filtering via the query param `<attribute>=<value>` e.g. `id=3` for every first-level
    (not on associations) attribute on the entity.  Some\n  endpoints expose additional
    filters which are called out in the documentation for that endpoint.  You can
    also add an optional operator to the filter via the format `<attribute>::<operator>=<value>`,
    \n  e.g. `id::gt=3` to filter for ids greater than 3 or `updated_at::lte=2025-01-01`
    to filter for updated_at less than or equal to 2025-01-01.  \n  The following
    operators are supported:\n  * `::gt` - greater than\n  * `::gte` - greater than
    or equal to\n  * `::lt` - less than\n  * `::lte` - less than or equal to\n  *
    `::in` - in the comma-delimited list of values\n  * `::null` - attribute is null
    (`true` or `1`) or not null (`false` or `0`)\n* Inclusion of associated resources
    via the comma-delimited `includes` attribute. The common List Result body has
    `includable_fields` metadata\n  that tells you which associations are includable.
    \ If not specified, a logical default set of associations are included.  You may
    pass\n  `includes=` as a blank entry to not include any associations, which can
    speed up API results if the associated data is not needed.\n* Inclusion of additional
    data (e.g. quickstats) via the `additional_data` query param.  Possible values
    come from the `additional_data_fields`\narray on a list response.\n\n## List Resource
    Responses\nVirtually all List endoints have the same result format:\n* `count`
    - how many results are in this response\n* `total_count` - how many results are
    their across all pages of results\n* `current_page` - the current page of results
    (first page is `1`)\n* `total_pages` - how many total pages of results there are\n*
    `includable_fields` - assocations of the current resource that `can` be included
    in the result via the `include` query param.  Note: this is not necessarily what
    is included\nin the current result, but rather what is possible to request.\n*
    `additional_data_fields` - additional data, beyond normal associations, that can
    be included on the result (e.g. quickstats) via the `additional_data` query param.\n*
    `results` - The array of resource results  \n\n# Common Show Resource Functionality\nMost
    endpoints to retrieve a single resource, e.g. `GET /api/v1/demand_tags` allow
    to include associated resources on the result via the same `includes` query\nparamater
    as the List requests.  See the List response the resource for which associations
    are includable.\n"
paths:
  "/api/v1/account_partner_segments":
    post:
      summary: Create
      requestBody:
        content:
          application/json:
            examples:
              account_partner_segment_create_simple:
                "$ref": "#/components/examples/account_partner_segment_create_simple"
              account_partner_segment_create_full:
                "$ref": "#/components/examples/account_partner_segment_create_full"
            schema:
              type: object
        required: true
      responses:
        '201':
          description: Created a new account partner segment
          content:
            application/json:
              schema:
                type: object
        '200':
          description: Returned an existing account partner segment
          content:
            application/json:
              schema:
                type: object
      tags:
      - Account Partner Segments
      operationId: account_partner_segments_post
  "/api/v1/accounts":
    get:
      summary: Index
      description: List all Accounts
      parameters:
      - "$ref": ref/params.yaml#/components/parameters/pageParam
      - "$ref": ref/params.yaml#/components/parameters/perParam
      - "$ref": ref/params.yaml#/components/parameters/sortParam
      - "$ref": ref/params.yaml#/components/parameters/searchParam
      - "$ref": ref/params.yaml#/components/parameters/filterParams
      - "$ref": ref/params.yaml#/components/parameters/includeParam
      - "$ref": ref/params.yaml#/components/parameters/idsParam
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      tags:
      - Accounts
      operationId: accounts_get
    post:
      summary: Create
      requestBody:
        content:
          application/json:
            examples:
              publisher_simple:
                "$ref": "#/components/examples/account_publisher_create_simple"
              publisher_full:
                "$ref": "#/components/examples/account_publisher_create_full"
              dsp_main_simple:
                "$ref": "#/components/examples/account_dsp_main_create_simple"
              dsp_main_full:
                "$ref": "#/components/examples/account_dsp_main_create_full"
              dsp_sub_simple:
                "$ref": "#/components/examples/account_dsp_sub_create_simple"
              dsp_sub_full:
                "$ref": "#/components/examples/account_dsp_sub_create_full"
              clearline_sub_simple:
                "$ref": "#/components/examples/account_clearline_sub_create_simple"
              clearline_sub_full:
                "$ref": "#/components/examples/account_clearline_sub_create_full"
              curator_main_simple:
                "$ref": "#/components/examples/account_curator_main_create_simple"
              curator_main_full:
                "$ref": "#/components/examples/account_curator_main_create_full"
              curator_sub_simple:
                "$ref": "#/components/examples/account_curator_sub_create_simple"
              curator_sub_full:
                "$ref": "#/components/examples/account_curator_sub_create_full"
              external_bidder_simple:
                "$ref": "#/components/examples/account_external_bidder_create_simple"
              external_bidder_full:
                "$ref": "#/components/examples/account_external_bidder_create_full"
            schema:
              type: object
        required: true
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                type: object
      tags:
      - Accounts
      operationId: accounts_post
  "/api/v1/app_bundle_lists":
    get:
      summary: Index
      parameters:
      - "$ref": ref/params.yaml#/components/parameters/pageParam
      - "$ref": ref/params.yaml#/components/parameters/perParam
      - "$ref": ref/params.yaml#/components/parameters/sortParam
      - "$ref": ref/params.yaml#/components/parameters/searchParam
      - "$ref": ref/params.yaml#/components/parameters/filterParams
      - name: app_bundle
        in: query
        description: Filter using big-list api
        schema:
          type: string
      - "$ref": ref/params.yaml#/components/parameters/includeParam
      - "$ref": ref/params.yaml#/components/parameters/idsParam
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      tags:
      - App Bundle Lists
      operationId: app_bundle_lists_get
    post:
      summary: Create
      requestBody:
        content:
          application/json:
            examples:
              simple:
                "$ref": "#/components/examples/app_bundle_list_create_simple"
              full:
                "$ref": "#/components/examples/app_bundle_list_create_full"
            schema:
              type: object
        required: false
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                type: object
      tags:
      - App Bundle Lists
      operationId: app_bundle_lists_post
  "/api/v1/app_name_lists":
    get:
      summary: Index
      parameters:
      - "$ref": ref/params.yaml#/components/parameters/pageParam
      - "$ref": ref/params.yaml#/components/parameters/perParam
      - "$ref": ref/params.yaml#/components/parameters/sortParam
      - "$ref": ref/params.yaml#/components/parameters/searchParam
      - "$ref": ref/params.yaml#/components/parameters/filterParams
      - name: app_name
        in: query
        description: Filter using big-list api
        schema:
          type: string
      - "$ref": ref/params.yaml#/components/parameters/includeParam
      - "$ref": ref/params.yaml#/components/parameters/idsParam
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      tags:
      - App Name Lists
      operationId: app_name_lists_get
    post:
      summary: Create
      requestBody:
        content:
          application/json:
            examples:
              simple:
                "$ref": "#/components/examples/app_name_list_create_simple"
              full:
                "$ref": "#/components/examples/app_name_list_create_full"
            schema:
              type: object
        required: true
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                type: object
      tags:
      - App Name Lists
      operationId: app_name_lists_post
  "/api/v1/audio_creatives":
    get:
      tags:
      - Creatives Audio
      summary: Index
      parameters:
      - "$ref": ref/params.yaml#/components/parameters/pageParam
      - "$ref": ref/params.yaml#/components/parameters/perParam
      - "$ref": ref/params.yaml#/components/parameters/sortParam
      - "$ref": ref/params.yaml#/components/parameters/searchParam
      - "$ref": ref/params.yaml#/components/parameters/filterParams
      - "$ref": ref/params.yaml#/components/parameters/includeParam
      - "$ref": ref/params.yaml#/components/parameters/idsParam
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/AudioCreativeIndexResponse"
      operationId: audio_creatives_get
    post:
      tags:
      - Creatives Audio
      summary: Create
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - creative
              - demand_partner_id
              properties:
                creative:
                  type: string
                  format: binary
                  description: Audio file to upload
                demand_partner_id:
                  type: number
                  description: ID of the demand partner (required)
                name:
                  type: string
                  description: Name of the creative (optional)
                is_active:
                  type: boolean
                  default: true
                  description: Whether the creative is active (optional, defaults
                    to true)
          application/json:
            schema:
              "$ref": "#/components/schemas/AudioCreativeCreateData"
            examples:
              simple:
                "$ref": "#/components/examples/audio_creative_create_simple"
              full:
                "$ref": "#/components/examples/audio_creative_create_full"
      responses:
        '201':
          description: Successfully created
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/AudioCreativeResponse"
      operationId: audio_creatives_post
  "/api/v1/auth":
    post:
      summary: Authenticate and get a SpringServe API token
      description: The returned API token should be used as the contents of the HTTP
        `Authorization` header in other authenticated API requests.
      tags:
      - Auth
      security: []
      parameters: []
      responses:
        '200':
          description: successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  token:
                    type: string
                    description: The token to use in the Authorization header on future
                      requests
                  expiration:
                    type: string
                    description: The expiration timestamp of this token
        '400':
          description: bad request - invalid credentials
          content:
            application/json:
              schema:
                type: object
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                email:
                  type: string
                  example: user@magnite.com
                password:
                  type: string
                  format: password
                  examples:
                  - some_secret_password
              required:
              - email
              - password
      operationId: auth_post
  "/api/v1/bills":
    get:
      summary: Index
      tags:
      - Bills
      parameters:
      - "$ref": ref/params.yaml#/components/parameters/pageParam
      - "$ref": ref/params.yaml#/components/parameters/perParam
      - "$ref": ref/params.yaml#/components/parameters/sortParam
      - "$ref": ref/params.yaml#/components/parameters/searchParam
      - "$ref": ref/params.yaml#/components/parameters/filterParams
      - "$ref": ref/params.yaml#/components/parameters/includeParam
      - "$ref": ref/params.yaml#/components/parameters/idsParam
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  oneOf:
                  - "$ref": "#/components/schemas/Bill"
      operationId: bills_get
    post:
      summary: Create
      tags:
      - Bills
      requestBody:
        content:
          application/json:
            schema:
              type: object
            examples:
              bill_create_simple:
                "$ref": "#/components/examples/bill_create_simple"
              bill_create_full:
                "$ref": "#/components/examples/bill_create_full"
        required: true
      responses:
        '201':
          description: Successfully created a new bill
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/Bill"
        '422':
          description: Unprocessable request
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  error:
                    type: string
                examples:
                - error: Name can't be blank
                  errors:
                    name:
                    - can't be blank
      operationId: bills_post
  "/api/v1/changelogs":
    get:
      summary: Index
      description: List changelogs. Query parameters time (recommended), change_type,
        and user filter results. Available for ClearLine account types.
      parameters:
      - "$ref": ref/params.yaml#/components/parameters/pageParam
      - "$ref": ref/params.yaml#/components/parameters/perParam
      - "$ref": ref/params.yaml#/components/parameters/sortParam
      - "$ref": ref/params.yaml#/components/parameters/searchParam
      - "$ref": ref/params.yaml#/components/parameters/filterParams
      - name: time
        in: query
        schema:
          "$ref": "#/components/schemas/ChangelogsTimeFilter"
      - name: user
        in: query
        description: "Filter by user email, or special keywords: 'Optimization Only',
          'Exclude Optimization', 'SpringCleaning Only', \n'Exclude SpringCleaning',
          'DirectConnect Only', 'Exclude DirectConnect', 'DataMigration Only', 'Exclude
          DataMigration',\n'Exclude System Updates', 'High Volume Users Only' and
          'Exclude High Volume Users'\n"
        schema:
          type: string
      - name: change_type
        in: query
        schema:
          type: string
          enum:
          - created
          - updated
          - deleted
      - "$ref": ref/params.yaml#/components/parameters/includeParam
      - "$ref": ref/params.yaml#/components/parameters/idsParam
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      tags:
      - Changelogs
      operationId: changelogs_get
  "/api/v1/city_lists":
    get:
      summary: Index
      parameters:
      - "$ref": ref/params.yaml#/components/parameters/pageParam
      - "$ref": ref/params.yaml#/components/parameters/perParam
      - "$ref": ref/params.yaml#/components/parameters/sortParam
      - "$ref": ref/params.yaml#/components/parameters/searchParam
      - "$ref": ref/params.yaml#/components/parameters/filterParams
      - "$ref": ref/params.yaml#/components/parameters/includeParam
      - "$ref": ref/params.yaml#/components/parameters/idsParam
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      tags:
      - City Lists
      operationId: city_lists_get
    post:
      summary: Create
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - "$ref": "#/components/schemas/CityListCreateRequest"
              - type: object
                properties:
                  city_codes:
                    type: array
                    items:
                      type: number
                    examples:
                    - - 2988507
                      - 2643743
                required:
                - city_codes
            examples:
              city_list_create_simple:
                "$ref": "#/components/examples/city_list_create_simple"
              city_list_create_full:
                "$ref": "#/components/examples/city_list_create_full"
          multipart/form-data:
            schema:
              allOf:
              - "$ref": "#/components/schemas/CityListCreateRequest"
              - type: object
                properties:
                  csv_file:
                    type: string
                    format: binary
                required:
                - csv_file
      responses:
        '201':
          description: Successfully created City List
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/CityListResponse"
        '422':
          description: Unprocessable Content
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/CityListErrorResponse"
      tags:
      - City Lists
      operationId: city_lists_post
  "/api/v1/content_categories":
    get:
      summary: List all content categories used by contextual signaling
      description: Unpaginated list of content categories ordered by content_category_id
      responses:
        '200':
          description: successful
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    content_category_id:
                      type: string
                      description: Contextual signaling category id
                      example: '123'
                    name:
                      type: string
                      example: Sports
                  required:
                  - content_category_id
                  - name
      tags:
      - Content Categories
      operationId: content_categories_get
  "/api/v1/country_lists":
    get:
      summary: Index
      parameters:
      - "$ref": ref/params.yaml#/components/parameters/pageParam
      - "$ref": ref/params.yaml#/components/parameters/perParam
      - "$ref": ref/params.yaml#/components/parameters/sortParam
      - "$ref": ref/params.yaml#/components/parameters/searchParam
      - "$ref": ref/params.yaml#/components/parameters/filterParams
      - "$ref": ref/params.yaml#/components/parameters/includeParam
      - "$ref": ref/params.yaml#/components/parameters/idsParam
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      tags:
      - Country Lists
      operationId: country_lists_get
    post:
      summary: Create
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - "$ref": "#/components/schemas/CountryListCreateRequest"
              - type: object
                properties:
                  country_codes:
                    type: array
                    items:
                      type: string
                    examples:
                    - - AL
                      - AD
                required:
                - country_codes
            examples:
              country_list_create_simple:
                "$ref": "#/components/examples/country_list_create_simple"
              country_list_create_full:
                "$ref": "#/components/examples/country_list_create_full"
          multipart/form-data:
            schema:
              allOf:
              - "$ref": "#/components/schemas/CountryListCreateRequest"
              - type: object
                properties:
                  csv_file:
                    type: string
                    format: binary
                required:
                - csv_file
      responses:
        '201':
          description: Successfully created Country List
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/CountryListResponse"
        '422':
          description: Unprocessable Content
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/CountryListErrorResponse"
      tags:
      - Country Lists
      operationId: country_lists_post
  "/api/v1/creatives":
    get:
      summary: Index
      parameters:
      - "$ref": ref/params.yaml#/components/parameters/pageParam
      - "$ref": ref/params.yaml#/components/parameters/perParam
      - "$ref": ref/params.yaml#/components/parameters/sortParam
      - "$ref": ref/params.yaml#/components/parameters/searchParam
      - "$ref": ref/params.yaml#/components/parameters/filterParams
      - "$ref": ref/params.yaml#/components/parameters/includeParam
      - "$ref": ref/params.yaml#/components/parameters/idsParam
      - "$ref": "#/components/parameters/additionalDataParam"
      - name: date_range
        in: query
        schema:
          "$ref": "./ref/quickstats.yaml#/components/schemas/dateRange"
      - name: currency
        in: query
        schema:
          "$ref": "./ref/concerns/currency.yaml#/components/schemas/CurrencyList"
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                allOf:
                - "$ref": ref/params.yaml#/components/schemas/ParamsResponse
                - type: object
                  properties:
                    results:
                      type: array
                      items:
                        oneOf:
                        - "$ref": ref/concerns/audio_creative.yaml#/components/schemas/AudioCreative
                        - "$ref": ref/concerns/video_creative.yaml#/components/schemas/VideoCreative
                        - "$ref": ref/concerns/tag_creative.yaml#/components/schemas/TagCreative
                        - "$ref": ref/concerns/tile_creative.yaml#/components/schemas/TileCreative
                        - "$ref": ref/concerns/filepath_creative.yaml#/components/schemas/FilepathCreative
      tags:
      - Creatives
      operationId: creatives_get
  "/api/v1/curated_marketplaces":
    get:
      summary: Index
      parameters:
      - "$ref": ref/params.yaml#/components/parameters/pageParam
      - "$ref": ref/params.yaml#/components/parameters/perParam
      - "$ref": ref/params.yaml#/components/parameters/sortParam
      - "$ref": ref/params.yaml#/components/parameters/searchParam
      - "$ref": ref/params.yaml#/components/parameters/filterParams
      - "$ref": ref/params.yaml#/components/parameters/includeParam
      - "$ref": ref/params.yaml#/components/parameters/idsParam
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      tags:
      - Curated Marketplaces
      operationId: curated_marketplaces_get
    post:
      summary: Create
      requestBody:
        content:
          application/json:
            schema:
              type: object
            examples:
              simple:
                "$ref": "#/components/examples/curated_marketplace_create_simple"
              full:
                "$ref": "#/components/examples/curated_marketplace_create_full"
        required: true
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                type: object
      tags:
      - Curated Marketplaces
      operationId: curated_marketplaces_post
  "/api/v1/currencies":
    get:
      summary: List all currencies
      description: not paginated/filtered etc.  Just list of all currencies in the
        map
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      tags:
      - Currencies
      operationId: currencies_get
  "/api/v1/deal_lists":
    get:
      summary: Index
      parameters:
      - "$ref": ref/params.yaml#/components/parameters/pageParam
      - "$ref": ref/params.yaml#/components/parameters/perParam
      - "$ref": ref/params.yaml#/components/parameters/sortParam
      - "$ref": ref/params.yaml#/components/parameters/searchParam
      - "$ref": ref/params.yaml#/components/parameters/filterParams
      - name: deal_id
        in: query
        description: Filter deal lists that contain the specified deal ID
        schema:
          type: integer
      - "$ref": ref/params.yaml#/components/parameters/includeParam
      - "$ref": ref/params.yaml#/components/parameters/idsParam
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      tags:
      - Deal Lists
      operationId: deal_lists_get
    post:
      summary: Create
      requestBody:
        content:
          application/json:
            schema:
              type: object
            examples:
              simple:
                "$ref": "#/components/examples/deal_list_create_simple"
              full:
                "$ref": "#/components/examples/deal_list_create_full"
        required: true
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                type: object
      tags:
      - Deal Lists
      operationId: deal_lists_post
  "/api/v1/demand_labels":
    get:
      summary: Index
      parameters:
      - "$ref": ref/params.yaml#/components/parameters/pageParam
      - "$ref": ref/params.yaml#/components/parameters/perParam
      - "$ref": ref/params.yaml#/components/parameters/sortParam
      - "$ref": ref/params.yaml#/components/parameters/searchParam
      - "$ref": ref/params.yaml#/components/parameters/filterParams
      - "$ref": ref/params.yaml#/components/parameters/includeParam
      - "$ref": ref/params.yaml#/components/parameters/additionalDataParam
      - "$ref": ref/params.yaml#/components/parameters/idsParam
      - name: date_range
        in: query
        description: Quickstats interval label (applies when `additional_data` contains
          `quickstats`). Defaults to Today.
        schema:
          "$ref": "./ref/quickstats.yaml#/components/schemas/dateRange"
      - name: currency
        in: query
        description: Quickstats currency (applies when `additional_data` contains
          `quickstats`). Defaults to USD.
        schema:
          "$ref": "./ref/concerns/currency.yaml#/components/schemas/CurrencyList"
      responses:
        '200':
          description: Paginated list of dema

# --- truncated at 32 KB (557 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/rubicon-project/refs/heads/main/openapi/rubicon-project-springserve-v1-openapi.yml