MNTN Pmp Deals API

Private marketplace deal reads and lifecycle.

Operations 7

GET /api/v1/deals List PMP deals #
POST /api/v1/deals Create a PMP deal #
POST /api/v1/deals/bulk-deactivate Bulk-deactivate PMP deals #
GET /api/v1/deals/{pmpDealId} Get a PMP deal #
PATCH /api/v1/deals/{pmpDealId} Update a PMP deal #
DELETE /api/v1/deals/{pmpDealId} Delete a PMP deal #
GET /api/v1/deals/{pmpDealId}/deal-groups List deal groups a deal belongs to #

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/mntn-pmp-deals-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

mntn-pmp-deals-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: PTV Pmp Deals API
  description: PTV API authoritative source of truth for PTV data.
  version: '1.0'
  contact:
    name: MNTN Platform
    url: https://api.mountain.com
    email: support@mountain.com
  license:
    name: Proprietary
servers:
- url: https://api.mountain.com/ptv
  description: MNTN Performance TV API gateway
security:
- Bearer: []
- API Key: []
tags:
- name: pmp-deals
  description: Private marketplace deal reads and lifecycle.
paths:
  /api/v1/deals:
    get:
      operationId: pmp.deals.list
      parameters:
      - name: page
        required: false
        in: query
        description: 1-based page number.
        schema:
          minimum: 1
          type: number
      - name: perPage
        required: false
        in: query
        description: Results per page (maximum 100).
        schema:
          minimum: 1
          maximum: 100
          type: number
      - name: partnerId
        required: false
        in: query
        description: Filter to a single partner.
        schema:
          maximum: 9007199254740991
          exclusiveMinimum: true
          type: integer
          minimum: 0
      - name: active
        required: false
        in: query
        description: Filter by active status.
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
      - name: sortBy
        required: false
        in: query
        description: Field to sort by. Defaults to pmpDealId.
        schema:
          type: string
          enum:
          - pmpDealId
          - name
          - partnerDealId
          - partnershipDealType
          - floorPrice
          - active
          - pricingModel
          - startTime
          - endTime
          - createTime
          - updateTime
      - name: sortOrder
        required: false
        in: query
        description: Sort order. Defaults to desc.
        schema:
          type: string
          enum:
          - asc
          - desc
      - name: search
        required: false
        in: query
        description: Case-insensitive substring matched over name and partnerDealId (≤ 200 chars).
        schema:
          maxLength: 200
          type: string
      - name: partnerDealId
        required: false
        in: query
        description: Exact partner-assigned deal ID. Returns the single matching deal, or an empty list.
        schema:
          minLength: 1
          maxLength: 200
          type: string
      - name: partnershipDealType
        required: false
        in: query
        description: Filter deals by partnership deal type.
        schema:
          type: string
          enum:
          - EXCLUSIVE
          - SSP
          - PUB_DIRECT
      responses:
        default:
          description: Unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDealsResponseDto_Output'
      summary: List PMP deals
      tags:
      - pmp-deals
      x-hide-from-docs: true
    post:
      operationId: pmp.deals.create
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDealBodyDto'
      responses:
        default:
          description: Unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DealResponseDto_Output'
      summary: Create a PMP deal
      tags:
      - pmp-deals
      x-hide-from-docs: true
  /api/v1/deals/bulk-deactivate:
    post:
      operationId: pmp.deals.bulkDeactivate
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DealBulkDeactivateBodyDto'
      responses:
        default:
          description: Unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DealBulkDeactivateResultResponseDto_Output'
      summary: Bulk-deactivate PMP deals
      tags:
      - pmp-deals
      x-hide-from-docs: true
  /api/v1/deals/{pmpDealId}:
    get:
      operationId: pmp.deals.get
      parameters:
      - name: pmpDealId
        required: true
        in: path
        schema:
          type: number
      responses:
        default:
          description: Unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DealResponseDto_Output'
      summary: Get a PMP deal
      tags:
      - pmp-deals
      x-hide-from-docs: true
    patch:
      operationId: pmp.deals.update
      parameters:
      - name: pmpDealId
        required: true
        in: path
        schema:
          type: number
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateDealBodyDto'
      responses:
        default:
          description: Unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DealResponseDto_Output'
      summary: Update a PMP deal
      tags:
      - pmp-deals
      x-hide-from-docs: true
    delete:
      operationId: pmp.deals.delete
      parameters:
      - name: pmpDealId
        required: true
        in: path
        schema:
          type: number
      responses:
        '204':
          description: ''
      summary: Delete a PMP deal
      tags:
      - pmp-deals
      x-hide-from-docs: true
  /api/v1/deals/{pmpDealId}/deal-groups:
    get:
      operationId: pmp.deals.listGroups
      parameters:
      - name: pmpDealId
        required: true
        in: path
        schema:
          type: number
      responses:
        default:
          description: Unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DealGroupLinksListResponseDto_Output'
      summary: List deal groups a deal belongs to
      tags:
      - pmp-deals
      x-hide-from-docs: true
components:
  schemas:
    UpdateDealBodyDto:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          description: Deal name.
        floorPrice:
          type: number
          minimum: 0
          description: Floor price in USD (≥ 0).
        startTime:
          type: string
          format: date-time
          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
          description: Deal start time.
        endTime:
          type: string
          format: date-time
          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
          description: Deal end time.
        active:
          type: boolean
          description: Whether the deal is active.
        pricingModel:
          type: string
          enum:
          - BIDDABLE
          - FIXED
          description: Pricing model.
        partnershipDealType:
          type: string
          enum:
          - EXCLUSIVE
          - SSP
          - PUB_DIRECT
          description: Partnership deal type.
        dspPartnerId:
          type: integer
          exclusiveMinimum: true
          maximum: 9007199254740991
          description: DSP partner ID.
          minimum: 0
        publisherId:
          type: integer
          exclusiveMinimum: true
          maximum: 9007199254740991
          description: Publisher ID.
          minimum: 0
    PaginatedDealsResponseDto_Output:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              pmpDealId:
                type: integer
                minimum: -9007199254740991
                maximum: 9007199254740991
                description: PMP deal ID.
              partnerDealId:
                type: string
                description: Partner-assigned deal ID.
              createdBy:
                type: integer
                minimum: -9007199254740991
                maximum: 9007199254740991
                description: User who created the deal.
              floorPrice:
                type:
                - number
                - 'null'
                description: Floor price (USD); null when unset.
              name:
                type:
                - string
                - 'null'
                description: Deal name; null when unset.
              partnerId:
                type: integer
                minimum: -9007199254740991
                maximum: 9007199254740991
                description: Partner ID.
              startTime:
                type:
                - string
                - 'null'
                description: Start time (ISO8601); null when unset.
              endTime:
                type:
                - string
                - 'null'
                description: End time (ISO8601); null when unset.
              active:
                type: boolean
                description: Whether the deal is currently active.
              createTime:
                type: string
                description: Creation timestamp (ISO8601).
              updateTime:
                type: string
                description: Last update timestamp (ISO8601).
              dspPartnerId:
                type: integer
                minimum: -9007199254740991
                maximum: 9007199254740991
                description: DSP partner ID.
              updatedBy:
                type:
                - integer
                - 'null'
                minimum: -9007199254740991
                maximum: 9007199254740991
                description: User who last modified the deal.
              pricingModel:
                type: string
                enum:
                - BIDDABLE
                - FIXED
                description: Pricing model.
              partnershipDealType:
                type: string
                enum:
                - EXCLUSIVE
                - SSP
                - PUB_DIRECT
                description: Partnership deal type.
              publisherId:
                type:
                - integer
                - 'null'
                minimum: -9007199254740991
                maximum: 9007199254740991
                description: Publisher ID; null when not exclusive.
              channelId:
                type: integer
                minimum: -9007199254740991
                maximum: 9007199254740991
                description: Channel ID.
              status:
                type: string
                enum:
                - active
                - inactive
                - scheduled
                - ended
                description: Status derived from active + start/end window.
              channelName:
                type: string
                description: Resolved channel name.
              dealGroups:
                type: array
                items:
                  type: object
                  properties:
                    dealGroupId:
                      type: integer
                      minimum: -9007199254740991
                      maximum: 9007199254740991
                      description: Deal group ID.
                    name:
                      type: string
                      description: Deal group name.
                  required:
                  - dealGroupId
                  - name
                  additionalProperties: false
                description: Deal groups this deal belongs to; empty without deal-group read permission.
            required:
            - pmpDealId
            - partnerDealId
            - createdBy
            - floorPrice
            - name
            - partnerId
            - startTime
            - endTime
            - active
            - createTime
            - updateTime
            - dspPartnerId
            - updatedBy
            - pricingModel
            - partnershipDealType
            - publisherId
            - channelId
            - status
            - channelName
            - dealGroups
            additionalProperties: false
            description: A PMP deal.
        pagination:
          type: object
          properties:
            total:
              type: integer
              minimum: 0
              maximum: 9007199254740991
              description: Total rows available for this query.
            perPage:
              type: integer
              exclusiveMinimum: true
              maximum: 9007199254740991
              description: Maximum rows per page.
              minimum: 0
            page:
              default: 1
              description: Current 1-based page index.
              type: integer
              exclusiveMinimum: true
              maximum: 9007199254740991
              minimum: 0
            previousPageUrl:
              type:
              - string
              - 'null'
              description: URL for the previous page, or null when none.
            nextPageUrl:
              type:
              - string
              - 'null'
              description: URL for the next page, or null when none.
          required:
          - total
          - perPage
          - page
          - previousPageUrl
          - nextPageUrl
          additionalProperties: false
      required:
      - data
      - pagination
      additionalProperties: false
    DealBulkDeactivateResultResponseDto_Output:
      type: object
      properties:
        data:
          type: object
          properties:
            dealsUpdated:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Rows matched by the update.
          required:
          - dealsUpdated
          additionalProperties: false
          description: Bulk deactivate result.
      required:
      - data
      additionalProperties: false
    DealGroupLinksListResponseDto_Output:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              pmpDealId:
                type: integer
                minimum: -9007199254740991
                maximum: 9007199254740991
                description: PMP deal ID.
              dealGroupId:
                type: integer
                minimum: -9007199254740991
                maximum: 9007199254740991
                description: Deal group ID.
              createTime:
                type: string
                description: Link creation timestamp (ISO8601).
              updateTime:
                type: string
                description: Link last update timestamp (ISO8601).
              createdBy:
                type:
                - integer
                - 'null'
                minimum: -9007199254740991
                maximum: 9007199254740991
                description: User who created the link.
            required:
            - pmpDealId
            - dealGroupId
            - createTime
            - updateTime
            - createdBy
            additionalProperties: false
            description: A deal <-> deal-group membership link.
      required:
      - data
      additionalProperties: false
    DealBulkDeactivateBodyDto:
      type: object
      properties:
        pmpDealIds:
          minItems: 1
          maxItems: 1000
          type: array
          items:
            type: integer
            exclusiveMinimum: true
            maximum: 9007199254740991
            minimum: 0
          description: PMP deal IDs to deactivate (1–1000 per request).
      required:
      - pmpDealIds
    CreateDealBodyDto:
      type: object
      properties:
        partnerDealId:
          type: string
          minLength: 1
          description: Partner-assigned deal ID.
        floorPrice:
          description: Floor price in USD (≥ 0).
          type: number
          minimum: 0
        name:
          description: Deal name.
          type: string
          minLength: 1
        partnerId:
          type: integer
          exclusiveMinimum: true
          maximum: 9007199254740991
          description: Partner ID.
          minimum: 0
        startTime:
          description: Deal start time.
          type: string
          format: date-time
          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
        endTime:
          description: Deal end time.
          type: string
          format: date-time
          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
        active:
          type: boolean
          description: Whether the deal is active on create.
        dspPartnerId:
          type: integer
          exclusiveMinimum: true
          maximum: 9007199254740991
          description: DSP partner ID.
          minimum: 0
        pricingModel:
          type: string
          enum:
          - BIDDABLE
          - FIXED
          description: Pricing model.
        partnershipDealType:
          type: string
          enum:
          - EXCLUSIVE
          - SSP
          - PUB_DIRECT
          description: Partnership deal type.
        publisherId:
          description: Publisher ID; required for EXCLUSIVE deals.
          type: integer
          exclusiveMinimum: true
          maximum: 9007199254740991
          minimum: 0
        generateDealGroup:
          description: When true, PAPI also creates a matching deal group and links this deal to it.
          type: boolean
      required:
      - partnerDealId
      - partnerId
      - active
      - dspPartnerId
      - pricingModel
      - partnershipDealType
    DealResponseDto_Output:
      type: object
      properties:
        data:
          type: object
          properties:
            pmpDealId:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: PMP deal ID.
            partnerDealId:
              type: string
              description: Partner-assigned deal ID.
            createdBy:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: User who created the deal.
            floorPrice:
              type:
              - number
              - 'null'
              description: Floor price (USD); null when unset.
            name:
              type:
              - string
              - 'null'
              description: Deal name; null when unset.
            partnerId:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Partner ID.
            startTime:
              type:
              - string
              - 'null'
              description: Start time (ISO8601); null when unset.
            endTime:
              type:
              - string
              - 'null'
              description: End time (ISO8601); null when unset.
            active:
              type: boolean
              description: Whether the deal is currently active.
            createTime:
              type: string
              description: Creation timestamp (ISO8601).
            updateTime:
              type: string
              description: Last update timestamp (ISO8601).
            dspPartnerId:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: DSP partner ID.
            updatedBy:
              type:
              - integer
              - 'null'
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: User who last modified the deal.
            pricingModel:
              type: string
              enum:
              - BIDDABLE
              - FIXED
              description: Pricing model.
            partnershipDealType:
              type: string
              enum:
              - EXCLUSIVE
              - SSP
              - PUB_DIRECT
              description: Partnership deal type.
            publisherId:
              type:
              - integer
              - 'null'
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Publisher ID; null when not exclusive.
            channelId:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Channel ID.
            status:
              type: string
              enum:
              - active
              - inactive
              - scheduled
              - ended
              description: Status derived from active + start/end window.
            channelName:
              type: string
              description: Resolved channel name.
            dealGroups:
              type: array
              items:
                type: object
                properties:
                  dealGroupId:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: Deal group ID.
                  name:
                    type: string
                    description: Deal group name.
                required:
                - dealGroupId
                - name
                additionalProperties: false
              description: Deal groups this deal belongs to; empty without deal-group read permission.
          required:
          - pmpDealId
          - partnerDealId
          - createdBy
          - floorPrice
          - name
          - partnerId
          - startTime
          - endTime
          - active
          - createTime
          - updateTime
          - dspPartnerId
          - updatedBy
          - pricingModel
          - partnershipDealType
          - publisherId
          - channelId
          - status
          - channelName
          - dealGroups
          additionalProperties: false
          description: A PMP deal.
      required:
      - data
      additionalProperties: false
  securitySchemes:
    Bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
    API_Key:
      type: apiKey
      in: header
      name: X-API-Key