Impact Report Export API

The Report Export API from Impact — 2 operation(s) for report export.

Operations 3

GET /Advertisers/{AccountSID}/ReportExport/{ReportId_or_Handle} Export a Report Asynchronously #
GET /Mediapartners/{AccountSID}/ReportExport/{Id} Export a report (asynchronous) #
GET /Agencies/{AccountSID}/ReportExport/{ReportId} Export a report #

Documentation

Specifications

Other Resources

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/impact-report-export-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

impact-report-export-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Impact Report Export API
  version: '1.0'
  description: 'Operations tagged Report Export across 2 of this provider''s published API definitions: impact-brand-reports-v14-openapi.yml, impact-partner-reports-v16-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.impact.com
security:
- basicAuth: []
tags:
- name: Report Export
paths:
  /Advertisers/{AccountSID}/ReportExport/{ReportId_or_Handle}:
    get:
      summary: Export a Report Asynchronously
      description: Schedules a job to export a report. The response contains URIs to poll for job status and to download the result file.
      operationId: exportReport
      tags:
      - Report Export
      parameters:
      - name: AccountSID
        in: path
        required: true
        schema:
          type: string
      - name: ReportId_or_Handle
        in: path
        required: true
        description: The unique ID or handle for the report (e.g., '4222' or 'adv_click_data_pm_only').
        schema:
          type: string
      - name: SUBAID
        in: query
        description: Program ID to refine the report. Required for most reports.
        schema:
          type: integer
      - name: StartDate
        in: query
        description: Start date for the report data as an ISO 8601 date-time (YYYY-MM-DDThh:mm:ssZ), e.g. 2026-01-15T00:00:00Z. Required for most reports.
        schema:
          type: string
          format: date-time
      - name: EndDate
        in: query
        description: End date for the report data as an ISO 8601 date-time (YYYY-MM-DDThh:mm:ssZ), e.g. 2026-01-15T00:00:00Z. Required for most reports.
        schema:
          type: string
          format: date-time
      - name: CONV_CURRENCY
        in: query
        description: Specify the report's currency (e.g., USD).
        schema:
          type: string
      - name: ResultFormat
        in: query
        description: The file format for the exported report.
        schema:
          type: string
          enum:
          - CSV
          - JSON
          - XML
          default: CSV
      responses:
        '200':
          description: The job has been queued successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  Status:
                    type: string
                    description: Indicates whether the job was queued successfully.
                    example: QUEUED
                  QueuedUri:
                    type: string
                    format: uri-reference
                    description: The URI to poll for the job's status.
                  ResultUri:
                    type: string
                    format: uri-reference
                    description: The URI to download the result file once the job completes.
      x-codeSamples:
      - lang: cURL
        source: "curl -L \\\n  --url 'https://api.impact.com/Advertisers/{AccountSID}/ReportExport/{ReportId_or_Handle}' \\\n  --user '{AccountSID}:{AuthToken}' \\\n  --header 'Accept: */*'"
    servers:
    - url: https://api.impact.com
  /Mediapartners/{AccountSID}/ReportExport/{Id}:
    get:
      operationId: exportReports
      tags:
      - Report Export
      summary: Export a report (asynchronous)
      description: 'Schedules a background job to export a report. Returns immediately with a `QueuedUri` pointing to the Partner Jobs API — poll that endpoint to track progress, then download the result from `ResultUri` once the job is complete.


        Use this endpoint instead of Run Report for any dataset that may exceed 20,000 rows.'
      parameters:
      - name: AccountSID
        in: path
        required: true
        schema:
          type: string
        description: Unique identifier for the partner account.
      - name: Id
        in: path
        required: true
        description: The report handle (e.g., `mp_action_listing_fast`). Get this from the `Id` field returned by List Reports.
        schema:
          type: string
      - name: SUBAID
        in: query
        required: false
        description: Program ID to scope the report to a single brand. Omit to include all programs you partner with.
        schema:
          type: string
        example: '10306'
      - name: START_DATE
        in: query
        required: true
        description: Start date for the report's date range, in `YYYY-MM-DD` format.
        schema:
          type: string
          format: date
        example: '2026-01-01'
      - name: END_DATE
        in: query
        required: true
        description: End date for the report's date range, in `YYYY-MM-DD` format.
        schema:
          type: string
          format: date
        example: '2026-01-31'
      - name: ResultFormat
        in: query
        required: false
        description: Format for the exported result file.
        schema:
          type: string
          enum:
          - CSV
          - JSON
          - XML
          default: CSV
      responses:
        '200':
          description: Job successfully queued.
          content:
            application/json:
              schema:
                type: object
                properties:
                  Status:
                    type: string
                    description: The initial status of the queued export job.
                    example: QUEUED
                  QueuedUri:
                    type: string
                    description: API resource path for polling the job's status via the Partner Jobs API.
                    example: /Mediapartners/<AccountSID>/Jobs/18edc7d5-034d-4d95-b88f-cd351635ebd9
                  ResultUri:
                    type: string
                    description: API resource path to download the result file once the job has completed.
                    example: /Mediapartners/<AccountSID>/Jobs/18edc7d5-034d-4d95-b88f-cd351635ebd9/Download
                  ReplayUri:
                    type: string
                    description: API resource path to replay the export job once it has completed, failed, or been cancelled.
                    example: /Mediapartners/<AccountSID>/Jobs/18edc7d5-034d-4d95-b88f-cd351635ebd9/Replay
        '404':
          description: No report exists with the supplied Id, or the report is not API accessible.
      x-codeSamples:
      - lang: Shell
        label: curl
        source: "curl -L \\\n  --url 'https://api.impact.com/Mediapartners/{AccountSID}/ReportExport/{Id}' \\\n  --user '{AccountSID}:{AuthToken}' \\\n  --header 'Accept: */*'"
    servers:
    - url: https://api.impact.com
      description: Production server
  /Agencies/{AccountSID}/ReportExport/{ReportId}:
    get:
      operationId: exportReport
      summary: Export a report
      description: 'Schedules a report to be exported asynchronously through impact.com''s Jobs system. Returns immediately with the initial job status and three URIs to interact with the job.


        Use the returned `QueuedUri` to poll job status, `ResultUri` to download the result file once the job has completed, and `ReplayUri` to re-run the same job.


        ## Available query parameters


        - `ResultFormat` — output file format (universal).

        - Report-specific filters — every report accepts its own set of filter parameters (`START_DATE`, `END_DATE`, `SUBAID`, `Advertiser`, etc.). Call `GET /Reports/{ReportId}/MetaData` first to discover which filters a given report supports.


        ## Error handling


        Invalid input is returned as **HTTP 200** with an error envelope in the body — for example, an unknown `ReportId` returns `{"Status":"ERROR","Message":"Not permitted to run report ..."}`. Always check the `Status` field before treating the response as a queued job.'
      tags:
      - Report Export
      parameters:
      - name: AccountSID
        in: path
        required: true
        description: Your Agency Account SID.
        schema:
          type: string
        example: IRq8mWJybvoQ1020978kbj7am8zzM2dBL1
      - name: ReportId
        in: path
        required: true
        description: The unique ID of the report to export. Use `GET /Reports` to list all reports and find each report's `Id`.
        schema:
          type: string
        example: agency_action_listing
      - name: ResultFormat
        in: query
        required: false
        description: The file format the exported report should be returned in.
        schema:
          type: string
          enum:
          - CSV
          - JSON
          - XML
          default: CSV
        example: CSV
      - name: START_DATE
        in: query
        required: false
        description: The start date (inclusive) for the report data, in `YYYY-MM-DD` format. Required by most reports — check the report's `MetaData` to confirm.
        schema:
          type: string
          format: date
        example: '2026-05-01'
      - name: END_DATE
        in: query
        required: false
        description: The end date (inclusive) for the report data, in `YYYY-MM-DD` format. Required by most reports — check the report's `MetaData` to confirm.
        schema:
          type: string
          format: date
        example: '2026-05-29'
      - name: SUBAID
        in: query
        required: false
        description: A program (campaign) ID to refine the report to data from a single program. Required for some reports.
        schema:
          type: string
        example: '12345'
      responses:
        '200':
          description: '**Success** — the export job was queued. Response includes URIs for polling and downloading the result.


            **Error** — invalid input (e.g., bad `ReportId`, unrecognised `ResultFormat`, invalid date) returns the same HTTP 200 status with an error envelope. See the `ErrorResponse` schema and the operation description.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportExportResponse'
              example:
                Status: QUEUED
                QueuedUri: /Agencies/IRq8mWJybvoQ1020978kbj7am8zzM2dBL1/Jobs/8ef45463-8b0b-499f-8cdc-8d6e4c2a8c12
                ResultUri: /Agencies/IRq8mWJybvoQ1020978kbj7am8zzM2dBL1/Jobs/8ef45463-8b0b-499f-8cdc-8d6e4c2a8c12/Download
                ReplayUri: /Agencies/IRq8mWJybvoQ1020978kbj7am8zzM2dBL1/Jobs/8ef45463-8b0b-499f-8cdc-8d6e4c2a8c12/Replay
        '401':
          description: Unauthorized. Check that your Account SID and Auth Token are correct.
      x-codeSamples:
      - lang: Shell
        label: curl
        source: "curl -L \\\n  --url 'https://api.impact.com/Agencies/{AccountSID}/ReportExport/{ReportId}' \\\n  --user '{AccountSID}:{AuthToken}' \\\n  --header 'Accept: */*'"
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Use your AccountSID as the username and AuthToken as the password.
  schemas:
    ReportExportResponse:
      type: object
      description: 'Job-handle response returned from the ReportExport endpoint. The export runs asynchronously through impact.com''s Jobs system; use the URIs in this response to track and retrieve the result.


        On invalid input the API returns the same HTTP 200 with an `ErrorResponse` envelope instead — check the `Status` field.'
      properties:
        Status:
          type: string
          description: The initial status of the export job. Returns `QUEUED` on successful submission, or `ERROR` if the request was invalid (in which case a `Message` field will be populated instead of the URIs).
          enum:
          - QUEUED
          - ERROR
          example: QUEUED
        QueuedUri:
          type: string
          format: uri-reference
          description: The relative URI of the underlying job. Use it (or its trailing job ID) with the Jobs API to poll for status updates.
          example: /Agencies/IRq8mWJybvoQ1020978kbj7am8zzM2dBL1/Jobs/8ef45463-8b0b-499f-8cdc-8d6e4c2a8c12
        ResultUri:
          type: string
          format: uri-reference
          description: The relative URI to download the exported result file. Available once the job completes — calling it before completion returns the job status, not the file.
          example: /Agencies/IRq8mWJybvoQ1020978kbj7am8zzM2dBL1/Jobs/8ef45463-8b0b-499f-8cdc-8d6e4c2a8c12/Download
        ReplayUri:
          type: string
          format: uri-reference
          description: The relative URI to re-run the same export with the same parameters. Useful for retrying failed jobs without re-specifying inputs.
          example: /Agencies/IRq8mWJybvoQ1020978kbj7am8zzM2dBL1/Jobs/8ef45463-8b0b-499f-8cdc-8d6e4c2a8c12/Replay
        Message:
          type: string
          description: A human-readable error description. Only present when `Status` is `ERROR`.
          example: Not permitted to run report nonexistent_report
x-refined-from:
- impact-brand-reports-v14-openapi.yml
- impact-partner-reports-v16-openapi.yml