Choozle Reports API

The Reports API from Choozle — 1 operation(s) for reports.

OpenAPI Specification

choozle-reports-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Choozle Reporting Accounts Reports API
  description: 'REST API for accessing campaign performance data, account information, and advertising metrics across all channels managed within the Choozle platform. Supports programmatic retrieval of spend, impressions, clicks, conversions, and other KPIs by account, date range, and ad group.

    '
  version: '1.0'
  contact:
    name: Choozle Support
    url: https://help.choozle.com/
  termsOfService: https://choozle.com/terms-of-service/
servers:
- url: https://app.choozle.com/api
  description: Choozle production API
security:
- tokenHeader: []
tags:
- name: Reports
paths:
  /reports:
    get:
      operationId: getReports
      summary: Retrieve campaign performance reports
      description: 'Returns campaign performance metrics for the specified account and date range. Optionally filter results by ad group. Metrics include spend, impressions, clicks, conversions, and other KPIs.

        '
      parameters:
      - name: account_id
        in: query
        required: true
        description: The numeric identifier of the account to report on.
        schema:
          type: integer
          example: 8737
      - name: date_start
        in: query
        required: true
        description: Start date of the reporting period in YYYY-MM-DD format.
        schema:
          type: string
          format: date
          example: '2023-01-16'
      - name: date_end
        in: query
        required: true
        description: End date of the reporting period in YYYY-MM-DD format.
        schema:
          type: string
          format: date
          example: '2023-02-16'
      - name: ad_group_id
        in: query
        required: false
        description: Optional numeric identifier for a specific ad group to filter results.
        schema:
          type: integer
          example: 12345
      responses:
        '200':
          description: Performance report data for the requested account and date range.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReportRow'
        '400':
          description: Bad request — missing or invalid query parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid authorization token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Reports
components:
  schemas:
    ReportRow:
      type: object
      description: A single row of campaign performance data.
      properties:
        account_id:
          type: integer
          description: Account identifier.
          example: 8737
        ad_group_id:
          type: integer
          description: Ad group identifier (if filtered).
          example: 12345
        date:
          type: string
          format: date
          description: Date of the reported metrics.
          example: '2023-01-16'
        impressions:
          type: integer
          description: Number of ad impressions served.
          example: 100000
        clicks:
          type: integer
          description: Number of clicks recorded.
          example: 850
        spend:
          type: number
          format: float
          description: Total spend in USD for the period.
          example: 1250.75
        conversions:
          type: integer
          description: Number of attributed conversions.
          example: 42
        ctr:
          type: number
          format: float
          description: Click-through rate (clicks / impressions).
          example: 0.0085
        cpc:
          type: number
          format: float
          description: Cost per click in USD.
          example: 1.47
        cpm:
          type: number
          format: float
          description: Cost per thousand impressions in USD.
          example: 12.51
    Error:
      type: object
      description: API error response.
      properties:
        error:
          type: string
          description: Human-readable error message.
          example: Unauthorized
  securitySchemes:
    tokenHeader:
      type: apiKey
      in: header
      name: token
      description: 'API token obtained from the /authorization endpoint. Valid for 2 hours. Pass the token value as the `token` request header.

        '
externalDocs:
  description: Choozle Reporting API Documentation
  url: https://help.choozle.com/connecting-to-choozles-reporting-api