Skip to main content
The Usage Export API returns the same usage data available on the Studio usage dashboard, accessible programmatically via your PropelAuth API key.

Authentication

Authenticate with a Bearer token using your PropelAuth API key from Studio API Keys:
This is your personal API key from the Studio API Keys page, not the REDUCTO_API_KEY used for document processing.

Endpoint

Query Parameters

Response

Each entry in data represents one day and one group value. credits is the total credits consumed and requestCount is the number of API requests made.

Examples

Default: last 30 days grouped by product

Custom date range grouped by file type

Filter by specific products

Use repeatable query parameters to filter results:

Grouping by async metadata

If you attach metadata to async jobs, you can break usage down by it. Use this to attribute credits to your own end customers without issuing a separate API key per tenant:
Each returned group is one value of that key. You can also filter to specific values while grouping by something else. This returns per-product usage for a single tenant:
Contact support with the key names you want enabled before using them as a usage dimension. Reducto gates this deliberately: async metadata is free-form and often carries webhook credentials or per-request identifiers, and neither belongs in usage reporting.
Things to know:
  • Only async jobs carry metadata. Synchronous requests have no async.metadata, so their usage appears under unknown.
  • Reducto groups jobs missing the key under unknown. That includes jobs you submitted before you started sending the key, so historical totals show a large unknown bucket.
  • Keep keys low-cardinality. A key that labels tenants, customers, or departments works. Reducto rejects a key carrying a per-request identifier, such as a document id or a signature, because it produces one group per request.
  • Reducto compares values as text and truncates them to 256 characters. You cannot group by a nested object or an array.
  • credits still reconciles. For any single metadataKey, the per-group credits plus the unknown bucket equal your total credits for that period.
  • metadataKey on its own narrows the results. Passing it without groupBy=metadata restricts the response to jobs that carried that key, so totals cover a subset of your usage. groupBy=file_type&metadataKey=tenant_id returns the file-type breakdown of jobs that carried tenant_id, and adds no unknown bucket.

Multi-Organization Access

If your account belongs to multiple organizations, pass the orgId parameter to specify which organization’s usage to retrieve. Without it, the API defaults to the organization associated with your API key.
You can only query organizations you are a member of. Requesting an org you don’t belong to returns a 403 error.

Error Responses

Credit Usage

How credits are calculated per endpoint.

Account & Settings

Manage API keys, usage alerts, and billing in Studio.