Choozle · OpenAPI Overlay 1.0.0

API Evangelist enhancements for Choozle Reports API

5 actions 5 updates update extends openapi/choozle-reports-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Choozle's API. It is a proposal applied on top of the contract, not a document Choozle publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-contract-sourcex-apievangelist-contract-formatx-apievangelist-verifiedx-apievangelist-provider-publishes-openapix-apievangelist-reference-generatedx-apievangelist-staleness-notex-apievangelist-modelx-apievangelist-token-ttl-seconds

Targets 4

$.info
$.components.securitySchemes.tokenHeader
$.components.schemas.Error
$.paths['/reports'].get

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for Choozle Reports API
  version: 1.0.0
extends: openapi/choozle-reports-api-openapi.yml
x-generated: '2026-08-13'
x-method: generated
x-source: https://app.choozle.com/apidoc/api_data.json
x-note: Choozle publishes no OpenAPI. Its machine-readable contract is an apiDoc 0.13.1 dataset at https://app.choozle.com/apidoc/api_data.json.
  The OpenAPI this overlay extends is an API Evangelist transcription of that dataset, verified against
  live unauthenticated probes on 2026-08-13. These actions record what API Evangelist adds on top of the
  transcription; the provider contract is never mutated.
actions:
- target: $.info
  update:
    x-apievangelist-contract-source: https://app.choozle.com/apidoc/api_data.json
    x-apievangelist-contract-format: apidoc 0.13.1
    x-apievangelist-verified: '2026-08-13'
    x-apievangelist-provider-publishes-openapi: false
- target: $.info
  update:
    x-apievangelist-reference-generated: '2015-06-04T16:45:58.265Z'
    x-apievangelist-staleness-note: The provider reference has not been regenerated since June 2015 even
      though the assets are still redeployed. See lifecycle/choozle-lifecycle.yml.
- target: $.components.securitySchemes.tokenHeader
  update:
    x-apievangelist-model: signed-handshake-then-opaque-token
    x-apievangelist-token-ttl-seconds: 7200
    x-apievangelist-not-bearer: 'Credential is a custom `token` header, not Authorization: Bearer. Standard
      bearer-auth clients and generated SDKs must override this.'
    x-apievangelist-authentication: authentication/choozle-authentication.yml
- target: $.components.schemas.Error
  update:
    x-apievangelist-rfc9457: false
    x-apievangelist-error-catalog: errors/choozle-problem-types.yml
    x-apievangelist-note: Untyped single-string envelope. Clients must branch on HTTP status plus substring
      matching; the same expired-token condition is worded differently by the accounts and reports operations.
- target: $.paths['/reports'].get
  update:
    x-apievangelist-filter-exclusions:
    - campaign_id cannot be combined with campaign_status
    - ad_group_id cannot be combined with campaign_id or campaign_status
    x-apievangelist-pagination: none — unbounded array, one row per active ad group per day
    x-apievangelist-sparse: rows are omitted for ad groups with no activity on a day, not returned as
      zeros
    x-apievangelist-conventions: conventions/choozle-conventions.yml