---
title: "Upload Custom Costs file"
method: PUT
path: "/api/v2/cost/custom_costs"
tags: ["Cloud Cost Management"]
---

# Upload Custom Costs file

`PUT /api/v2/cost/custom_costs`

## Request

- Base URL: `https://api.datadoghq.com`
- URL: `https://api.datadoghq.com/api/v2/cost/custom_costs`
- Auth: one of:
  - API key in header `DD-API-KEY` and API key in header `DD-APPLICATION-KEY`
  - OAuth 2
    - Authorization code: `/oauth2/v1/authorize`
    - Token URL: `/oauth2/v1/token` scopes: `cloud_cost_management_write`

Upload a Custom Costs file.

## Request body

- CustomCostsFileLineItem[]: Request for uploading a Custom Costs file.
  - `BilledCost` number, double: Total cost in the cost file.
  - `BillingCurrency` string: Currency used in the Custom Costs file.
  - `ChargeDescription` string: Description for the line item cost.
  - `ChargePeriodEnd` string: End date of the usage charge.
  - `ChargePeriodStart` string: Start date of the usage charge.
  - `ProviderName` string: Name of the provider for the line item.
  - `Tags` object: Additional tags for the line item.

## Response `202`

Accepted

- CustomCostsFileUploadResponse: Response for Uploaded Custom Costs files.
  - `data` CustomCostsFileMetadataHighLevel: JSON API format for a Custom Costs file.
    - `attributes` CustomCostsFileMetadata: Schema of a Custom Costs metadata.
      - `billed_cost` number, double: Total cost in the cost file.
      - `billing_currency` string: Currency used in the Custom Costs file.
      - `charge_period` CustomCostsFileUsageChargePeriod: Usage charge period of a Custom Costs file.
        - `end` number, double: End of the usage of the Custom Costs file.
        - `start` number, double: Start of the usage of the Custom Costs file.
      - `name` string: Name of the Custom Costs file.
      - `provider_names` string[]: Providers contained in the Custom Costs file.
      - `status` string: Status of the Custom Costs file.
      - `uploaded_at` number, double: Timestamp, in millisecond, of the upload time of the Custom Costs file.
      - `uploaded_by` CustomCostsUser: Metadata of the user that has uploaded the Custom Costs file.
        - `email` string: The name of the Custom Costs file.
        - `icon` string: The name of the Custom Costs file.
        - `name` string: Name of the user.
    - `id` string: ID of the Custom Costs metadata.
    - `type` string: Type of the Custom Costs file metadata.
  - `meta` CustomCostUploadResponseMeta: Meta for the response from the Upload Custom Costs endpoints.
    - `version` string: Version of Custom Costs file

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `429`: Too many requests

---

[API](https://skmtc.dev/datadog/apis/datadog-api-v2-collection.md) - [All operations](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/llms.txt) - [OpenAPI document](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/revisions/da68bf029e4c?raw)
