Skip to content

docs: add usage reports API documentation#25331

Draft
cassio-paesleme wants to merge 1 commit into
docker:mainfrom
cassio-paesleme:cassio/usage-reports-api-docs
Draft

docs: add usage reports API documentation#25331
cassio-paesleme wants to merge 1 commit into
docker:mainfrom
cassio-paesleme:cassio/usage-reports-api-docs

Conversation

@cassio-paesleme

Copy link
Copy Markdown

Summary

  • Adds documentation for the Usage Reports API under Admin > Usage Reports
  • Covers the ListReports and GetReportSchema ConnectRPC endpoints
  • Includes column definitions for the usage_pulls report type, curl examples, schema versioning notes, data retention, and FAQ

Context

Enterprise customers (starting with Itau) need programmatic access to daily pull usage reports. The API is served by marlin-api and reads pre-computed CSV files from S3.

Related PRs

Notes

  • Base URL (marlin-api.docker.com) is a placeholder pending final routing decisions
  • Auth examples use a generic $TOKEN; will need to specify Org Access Token flow once that's documented
  • The summary-bar shortcode reference may need updating depending on how the feature is gated

🤖 Generated with Claude Code

Documents the ReportService API for enterprise customers to download
daily pull usage reports as CSV files.

Covers:
- Available report types and column definitions (usage_pulls)
- ListReports and GetReportSchema API endpoints
- Download workflow with curl examples
- Schema versioning, data retention, and FAQ

Related PRs:
- docker/data-platform#817 (API implementation)
- docker/data-contracts#299 (proto definition)
- docker/airflow#3827 (DAG that generates the reports)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@netlify

netlify Bot commented Jun 11, 2026

Copy link
Copy Markdown

Deploy Preview for docsdocker failed. Why did it fail? →

Name Link
🔨 Latest commit ac7c92c
🔍 Latest deploy log https://app.netlify.com/projects/docsdocker/deploys/6a2ab925ddc4e900081eb7b2

@github-actions github-actions Bot added the area/admin Relates to Docker Admin label Jun 11, 2026

@docker-agent docker-agent left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assessment: 🟡 NEEDS ATTENTION

This PR adds new usage-reports.md documentation. The content is well-organized and technically accurate, but there are two issues that need fixing before merge, plus three style guide violations to clean up.


Key benefits include:

- **Chargeback and cost allocation**: Track pull activity by user, repository,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[HIGH] Bold used for non-UI terms in benefit list items

The list uses **Term**: Description format with bold on non-UI terms (Chargeback and cost allocation, Adoption tracking, Security and compliance, Self-service). Per the Docker style guide, bold must only be used for UI elements (buttons, menus, field labels) — never for emphasis or descriptive labels.

Replace with plain bullet text. For example:

- Track pull activity by user, repository, and IP address to attribute usage to internal teams (chargeback and cost allocation).
- Monitor which images and repositories your organization uses most.
- Audit who pulled what, when, and from where.
- Download reports directly through the API without contacting Docker support.

Or restructure as prose.

keywords: organization, usage reports, pull data, enterprise, export, API, CSV
---

{{< summary-bar feature_name="Usage reports" >}}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[HIGH] summary-bar shortcode references a feature not defined in data/summary.yaml

The {{< summary-bar feature_name="Usage reports" >}} shortcode requires a matching entry in data/summary.yaml. That entry does not currently exist — searching the file confirms no Usage reports key is present.

Add an entry to data/summary.yaml before merging. For example:

features:
  Usage reports:
    subscription: Business
    availability: GA

Without this, the shortcode will fail to render or display incorrectly on the published page.

calendar day (UTC) and includes all authenticated pulls attributed to your
organization's billing entity.

**Columns:**

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[MEDIUM] Bold subsection label **Columns:** should be a heading or plain text

The style guide prohibits using **Bold:** format for subsection labels. Use a proper heading level instead:

#### Columns

Or simply remove the label and let the table follow the section prose directly. Bold is reserved for UI elements only.


Returns metadata and download links for available reports.

**Endpoint:**

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[MEDIUM] Bold subsection labels (**Endpoint:**, **Request:**, **Response:**) should be headings or plain text

The style guide prohibits using bold for subsection labels. This pattern appears throughout the API reference section (lines 79, 82, 108, 133, 142, 153). Replace each with a fourth-level heading:

#### Endpoint

`POST /docker.marlin.query.v1.ReportService/ListReports`

#### Request

Or use plain text without bold. Bold is reserved for UI elements only (buttons, menus, field labels).

| Field | Required | Description |
|-------|----------|-------------|
| `orgId` | Yes | Your organization ID |
| `reportType` | Yes | Report type (e.g., `usage_pulls`) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[MEDIUM] Use "for example" instead of "e.g."

The Docker style guide word list requires for example or such as instead of e.g.

| `reportType` | Yes | Report type (for example, `usage_pulls`) |

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/admin Relates to Docker Admin

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants