Magnite Scheduled Reports API

The Scheduled Reports API from Magnite — 3 operation(s) for scheduled reports.

Operations 6

GET /api/v1/scheduled_reports Index #
POST /api/v1/scheduled_reports Create #
GET /api/v1/scheduled_reports/{id} Show #
PATCH /api/v1/scheduled_reports/{id} Update #
DELETE /api/v1/scheduled_reports/{id} Delete #
PUT /api/v1/scheduled_reports/bulk_update Bulk Update #

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/magnite-scheduled-reports-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

magnite-scheduled-reports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SpringServe UI Scheduled Reports API
  version: 1.0.0
  description: '> **_NOTE:_** This document covers the v1 API (`/api/v1`).'
security:
- api_key: []
- bearer_token: []
tags:
- name: Scheduled Reports
paths:
  /api/v1/scheduled_reports:
    get:
      tags:
      - Scheduled Reports
      summary: Index
      parameters:
      - in: query
        name: id
        schema:
          type: array
          items:
            type: integer
      - in: query
        name: page
        schema:
          type: integer
      - in: query
        name: per
        schema:
          type: integer
      - in: query
        name: sort
        schema:
          type: array
          items:
            type: string
      - in: query
        name: account_id
        schema:
          type: array
          items:
            type: integer
      - in: query
        name: user_account_id
        schema:
          type: array
          items:
            type: integer
      - in: query
        name: user_id
        schema:
          type: array
          items:
            type: integer
      - in: query
        name: is_active
        schema:
          type: array
          items:
            type: boolean
      - in: query
        name: search
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      operationId: scheduled_reports_get
    post:
      tags:
      - Scheduled Reports
      summary: Create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/scheduledReport'
            examples:
              simple:
                $ref: '#/components/examples/scheduled_report_create_simple'
              full:
                $ref: '#/components/examples/scheduled_report_create_full'
      responses:
        '201':
          $ref: '#/components/responses/scheduledReport'
        '422':
          $ref: ref/errors.yaml#/components/responses/validationError
      operationId: scheduled_reports_post
  /api/v1/scheduled_reports/{id}:
    get:
      tags:
      - Scheduled Reports
      summary: Show
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/scheduledReport'
        '404':
          $ref: ref/errors.yaml#/components/responses/notFoundError
      operationId: scheduled_reports_id_get
    patch:
      tags:
      - Scheduled Reports
      summary: Update
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/scheduledReport'
            examples:
              simple:
                $ref: '#/components/examples/scheduled_report_update_simple'
              full:
                $ref: '#/components/examples/scheduled_report_update_full'
      responses:
        '200':
          $ref: '#/components/responses/scheduledReport'
      operationId: scheduled_reports_id_patch
    delete:
      tags:
      - Scheduled Reports
      summary: Delete
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: No content
      operationId: scheduled_reports_id_delete
  /api/v1/scheduled_reports/bulk_update:
    put:
      summary: Bulk Update
      requestBody:
        content:
          application/json:
            examples:
              single:
                $ref: '#/components/examples/scheduled_report_bulk_update_single'
              multiple:
                $ref: '#/components/examples/scheduled_report_bulk_update_multiple'
            schema:
              type: object
        required: true
      responses:
        '200':
          description: Bulk update completed
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Status message describing the bulk update results
                examples:
                - message: 'Successfully updated 1 Scheduled Report: 1'
      tags:
      - Scheduled Reports
      operationId: scheduled_reports_bulk_update_same_attributes_put
components:
  responses:
    scheduledReport:
      description: A scheduled report
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/scheduledReport'
  schemas:
    scheduledReport:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
          examples:
          - 1
        name:
          type: string
          examples:
          - Example Scheduled Report
        account_id:
          type: integer
          readOnly: true
          examples:
          - 1
        user_account_id:
          type: integer
          readOnly: true
          examples:
          - 1
        is_active:
          type: boolean
          default: true
        interval:
          type: string
          default: ad_hoc
          enum:
          - ad_hoc
          - daily
          - weekly
          - monthly
        message:
          type: string
        timezone:
          type: string
          examples:
          - UTC
        start_date:
          type: string
          examples:
          - '2025-01-01T00:00:00Z'
        end_date:
          type: string
          examples:
          - '2025-12-31T23:59:59Z'
        weekdays:
          type: array
          items:
            type: string
            enum:
            - Sunday
            - Monday
            - Tuesday
            - Wednesday
            - Thursday
            - Friday
            - Saturday
          default: []
        day_of_month:
          type: integer
          oneOf:
          - enum:
            - -1
          - type: integer
            exclusiveMinimum: 1
            exclusiveMaximum: 28
        hour:
          type: integer
        last_scheduled_success:
          type: string
          readOnly: true
        permissions:
          type: string
          enum:
          - attach_csv
          - link_sharing
          - require_login
          default: require_login
        created_at:
          type: string
          readOnly: true
        updated_at:
          type: string
          readOnly: true
        report_params:
          $ref: ref/reports.yaml#/components/schemas/reportParameters
        scheduled_report_recipients:
          type: array
          items:
            $ref: '#/components/schemas/scheduledReportRecipient'
        scheduled_report_external_recipients:
          description: '***NOTE:*** external recipients are automatically deleted from scheduled reports which have the "require_login" permission

            '
          type: array
          items:
            $ref: '#/components/schemas/scheduledReportExternalRecipient'
        user_account:
          readOnly: true
          allOf:
          - $ref: '#/components/schemas/partialUserAccount'
    partialUser:
      type: object
      properties:
        id:
          type: integer
          examples:
          - 1
        email:
          type: string
          examples:
          - example@example.com
        name:
          type:
          - string
          - 'null'
          examples:
          - Example User
    scheduledReportRecipient:
      type: object
      properties:
        id:
          type: integer
        user_account_id:
          type: integer
        user_account:
          readOnly: true
          allOf:
          - $ref: '#/components/schemas/partialUserAccount'
        created_at:
          type: string
          readOnly: true
        updated_at:
          type: string
          readOnly: true
      examples:
      - user_account_id: 1
    scheduledReportExternalRecipient:
      type: object
      properties:
        id:
          type: integer
        email:
          type: string
          examples:
          - example@example.com
        report_type:
          type: string
          enum:
          - supply_client
          - unrestricted
          default: supply_client
        created_at:
          type: string
          readOnly: true
        updated_at:
          type: string
          readOnly: true
      examples:
      - email: example@example.com
    partialUserAccount:
      type: object
      properties:
        id:
          type: integer
          examples:
          - 1
        user_id:
          type: integer
          examples:
          - 1
        user:
          readOnly: true
          allOf:
          - $ref: '#/components/schemas/partialUser'
        account_id:
          type: integer
          examples:
          - 1
  examples:
    scheduled_report_bulk_update_multiple:
      summary: Multiple
      value:
        is_active: false
        object_ids:
        - 1
        - 2
    scheduled_report_create_simple:
      summary: Simple
      value:
        name: Scheduled Report Name
        interval: daily
        start_date: '2026-10-01'
        hour: 8
        report_params:
          date_range: Yesterday
          dimensions:
          - supply_tag_id
          metrics:
          - impressions
          - revenue
    scheduled_report_create_full:
      summary: Full
      value:
        name: Scheduled Report Name
        is_active: true
        interval: weekly
        weekdays:
        - Monday
        - Wednesday
        hour: 8
        timezone: America/New_York
        start_date: '2026-01-01'
        end_date: '2026-12-31'
        permissions: require_login
        message: Your scheduled report is ready.
        report_params:
          date_range: Yesterday
          interval: day
          timezone: Etc/UTC
          currency: USD
          dimensions:
          - supply_tag_id
          - demand_tag_id
          filters:
          - dimension: supply_tag_id
            type: values
            values:
            - 1
            is_include: true
            is_exact_match: false
          metrics:
          - impressions
          - revenue
          - fill_rate
          - cpm
        scheduled_report_recipients:
        - user_account_id: 1
        scheduled_report_external_recipients:
        - email: example@example.com
          report_type: supply_client
    scheduled_report_update_simple:
      summary: Simple
      value:
        name: Scheduled Report Name
        is_active: true
    scheduled_report_update_full:
      summary: Full
      value:
        name: Scheduled Report Name
        is_active: true
        interval: monthly
        day_of_month: 1
        hour: 8
        timezone: America/New_York
        start_date: '2026-01-01'
        end_date: '2026-12-31'
        permissions: require_login
        message: Your scheduled report is ready.
        report_params:
          date_range: Yesterday
          interval: day
          timezone: Etc/UTC
          currency: USD
          dimensions:
          - supply_tag_id
          - demand_tag_id
          metrics:
          - impressions
          - revenue
          - fill_rate
          - cpm
        scheduled_report_recipients:
        - user_account_id: 1
        scheduled_report_external_recipients:
        - email: example@example.com
          report_type: supply_client
    scheduled_report_bulk_update_single:
      summary: Single
      value:
        is_active: true
        object_ids:
        - 1
  securitySchemes:
    api_key:
      type: apiKey
      in: header
      name: Authorization
      description: SpringServe authorization token based authentication.
    bearer_token:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: SpringServe authorization bearer token based authentication.  This key is included in the response from the /api/v0/auth and /api/v1/auth endpoints.  This key will be automatically set if you run the example for /api/v0/auth or /api/v1/auth