canonical: https://jentic.com/apis/amazonaws.com/aws-cur

# AWS Cost and Usage Report Service

Jentic publishes the only available OpenAPI specification for AWS Cost and Usage Report Service, keeping it validated and agent-ready. AWS Cost and Usage Report (CUR) Service programmatically manages report definitions that deliver detailed AWS billing line items - one row per resource per hour - to Amazon S3 in CSV or Parquet. The API has four operations: create, modify, list, and delete report definitions. Reports underpin enterprise billing, chargeback, and FinOps analytics in tools like Athena, QuickSight, and third-party platforms.

## For AI agents

Manage AWS Cost and Usage Report definitions that deliver hourly billing line items to S3 in CSV or Parquet.

## Scope

Does not handle interactive cost analysis, budget alerts, or forecasting - use only to manage Cost and Usage Report definitions that deliver line items to S3.

## Capabilities

- Create a Cost and Usage Report definition that writes CSV or Parquet to S3
- Modify an existing report definition to change format, granularity, or schema columns
- List all CUR report definitions in the account
- Delete a report definition that is no longer needed
- Configure resource IDs, split cost allocation, and refresh-on-close behavior

## Use cases

### FinOps Data Lake Foundation

FinOps teams pipe AWS billing detail into a data lake so they can attribute spend to teams, products, and tags. AWS CUR's PutReportDefinition creates an hourly-granularity Parquet report that lands in S3 ready for Athena, Redshift, or QuickSight to query. Setup takes under an hour, after which the report is delivered automatically.

Example prompt: Call PutReportDefinition with Format=Parquet, Compression=Parquet, TimeUnit=HOURLY, an S3Bucket and S3Prefix, and AdditionalSchemaElements=[RESOURCES].

### Chargeback and Showback by Tag

Engineering organizations need to charge back AWS spend to internal cost centers using tags. Enabling AdditionalSchemaElements=RESOURCES in a CUR report and filtering by cost-allocation tags downstream is the standard pattern. ModifyReportDefinition can update an existing definition rather than recreating it.

Example prompt: Call ModifyReportDefinition for an existing report to enable RESOURCES in AdditionalSchemaElements and SPLIT_COST_ALLOCATION_DATA in AdditionalArtifacts.

### Lifecycle Management of Old Reports

When teams reorganize, old CUR definitions accumulate and continue writing to stale S3 buckets. DescribeReportDefinitions lists all current report definitions, and DeleteReportDefinition removes ones that are no longer needed.

Example prompt: Call DescribeReportDefinitions, identify reports whose S3Bucket starts with 'legacy-', then call DeleteReportDefinition for each.

### Agent-Configured Billing Reports

An AI agent helping a FinOps lead can configure CUR reports on demand for new accounts and consolidate definitions across an organization. Through Jentic, each operation is one structured call with no SigV4 boilerplate.

Example prompt: For each new account in the organization, call PutReportDefinition with a standard Parquet hourly definition writing to a per-account prefix in the central billing bucket.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /#X-Amz-Target=AWSOrigamiServiceGatewayService.PutReportDefinition | Create a new Cost and Usage Report definition |
| POST | /#X-Amz-Target=AWSOrigamiServiceGatewayService.DescribeReportDefinitions | List existing report definitions |
| POST | /#X-Amz-Target=AWSOrigamiServiceGatewayService.ModifyReportDefinition | Modify an existing report definition |
| POST | /#X-Amz-Target=AWSOrigamiServiceGatewayService.DeleteReportDefinition | Delete a report definition |

## Key resources

- **ReportDefinition** — Create, list, modify, and delete Cost and Usage Report definitions via PutReportDefinition, DescribeReportDefinitions, ModifyReportDefinition, and DeleteReportDefinition.

## Why Jentic

- **Setup:** Wiring the AWS Cost and Usage Report Service by hand means implementing AWS Signature v4 request signing, resolving the regional cur host, and setting the X-Amz-Target header to route each JSON action to the right operation. Through Jentic you install once, import AWS Cost and Usage Report Service from the API Directory, store the AWS credentials once, and your agent calls it.
- **Permission scoping:** This API routes every call through a single endpoint with the action named in the request, covering operations like PutReportDefinition, DescribeReportDefinitions, and DeleteReportDefinition. Limit the agent to the operations it needs, such as DescribeReportDefinitions, so DeleteReportDefinition is not included unless you add it.
- **Credential handling:** Your AWS credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a Cost and Usage Report that writes to S3' or 'list existing report definitions', and Jentic returns the matching AWS Cost and Usage Report Service operation with its input schema so the agent calls the right endpoint without browsing the AWS service reference.

## Related APIs

- **AWS Cost Explorer** — Higher-level cost and usage analytics with built-in dashboards.
- **AWS Budgets** — Set spend thresholds and notifications on top of CUR data.
- **AWS Compute Optimizer** — Recommends right-sized resources to act on CUR-driven spend insights.

## FAQ

### Why is there no official OpenAPI spec for AWS Cost and Usage Report Service?

AWS does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call AWS Cost and Usage Report Service via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the AWS Cost and Usage Report API use?

AWS Signature v4 (HMAC) with IAM permissions on cur:* actions and the underlying S3 bucket. Jentic stores the AWS credentials in its vault and signs the requests on the agent's behalf.

### Can I create a Parquet Cost and Usage Report with the API?

Yes. Call PutReportDefinition with Format=Parquet and Compression=Parquet, plus AdditionalArtifacts including ATHENA so the report is queryable via Athena out of the box.

### What are the rate limits for the AWS Cost and Usage Report API?

The API itself is configuration-only with low TPS limits - PutReportDefinition, ModifyReportDefinition, and DeleteReportDefinition are infrequent operations and each account is limited to a small number of report definitions in total.

### How do I create a CUR report through Jentic?

Search Jentic for 'create a Cost and Usage Report that writes to S3', load the PutReportDefinition schema, and execute it with the report name, S3 bucket, S3 prefix, format, and refresh settings. Reports begin delivering on the next billing run.

### Is the AWS Cost and Usage Report API free?

The API and CUR delivery are free. You pay only for S3 storage of the delivered files and for any Athena, Redshift, or QuickSight queries you run against them.

### Can I limit what my agent is allowed to do with the AWS Cost and Usage Report API?

Yes. Because Jentic One is self-hosted, you decide which of this API's operations your agent may call, even though every request routes through a single endpoint with the action named inside it. For example, you can allow only DescribeReportDefinitions so the agent can list report definitions, while withholding PutReportDefinition, ModifyReportDefinition, and DeleteReportDefinition. The AWS credentials stay under your control and are injected only for the operations you have permitted.
