---
title: "Publish database prices"
method: POST
path: "/v1/marketplace/databases"
tags: ["marketplace"]
---

# Publish database prices

`POST /v1/marketplace/databases`

Register your own managed database rates so CostGraph can price clusters it has no public price for.
An entry is upserted on its natural key (provider, service, region, engine, edition, instance type and usage type), so re-posting the same entry with a new cost keeps its id and reprices everything already using it.
The returned id is what you attach to a database with the `costgraph.ai/pricing-id.database` label or tag.

## Request body

- DatabasePricesRequest
  - `entries` DatabasePrice[], required
    - `architecture` string
    - `availability_zone` string
    - `billing_config` string
    - `capacity_unit` string
    - `cost_per_capacity_unit` number
    - `cost_per_hour` number
    - `cost_per_io_request` number
    - `cost_per_iops_hour` number
    - `cost_per_storage_gb_hour` number
    - `cost_per_throughput_mbps_hour` number
    - `cost_per_vcpu_license_hour` number
    - `cpu_cores` number
    - `cpu_cores_cost_per_hour` number
    - `created_at` string
    - `currency` string — Currency the provider published this price in. Cost columns are always normalized USD.
    - `deployment_option` string
    - `edition` string
    - `engine` string
    - `id` string
    - `instance_type` string
    - `max_iops` number
    - `max_storage_gb` number
    - `max_throughput_mbps` number
    - `min_iops` number
    - `min_storage_gb` number
    - `min_throughput_mbps` number
    - `native_cost_per_hour` number
    - `native_cost_per_storage_gb_hour` number
    - `period_billing_hours` number
    - `provider` string
    - `ram_gb` number
    - `ram_gb_cost_per_hour` number
    - `raw_pricing_data` object
    - `region` string
    - `service` string
    - `storage_type` string
    - `tags` object
    - `updated_at` string
    - `usage_type` string

## Response `201`

The published prices

- PublishedDatabasePrices
  - `data` DatabasePrice[]
    - `architecture` string
    - `availability_zone` string
    - `billing_config` string
    - `capacity_unit` string
    - `cost_per_capacity_unit` number
    - `cost_per_hour` number
    - `cost_per_io_request` number
    - `cost_per_iops_hour` number
    - `cost_per_storage_gb_hour` number
    - `cost_per_throughput_mbps_hour` number
    - `cost_per_vcpu_license_hour` number
    - `cpu_cores` number
    - `cpu_cores_cost_per_hour` number
    - `created_at` string
    - `currency` string — Currency the provider published this price in. Cost columns are always normalized USD.
    - `deployment_option` string
    - `edition` string
    - `engine` string
    - `id` string
    - `instance_type` string
    - `max_iops` number
    - `max_storage_gb` number
    - `max_throughput_mbps` number
    - `min_iops` number
    - `min_storage_gb` number
    - `min_throughput_mbps` number
    - `native_cost_per_hour` number
    - `native_cost_per_storage_gb_hour` number
    - `period_billing_hours` number
    - `provider` string
    - `ram_gb` number
    - `ram_gb_cost_per_hour` number
    - `raw_pricing_data` object
    - `region` string
    - `service` string
    - `storage_type` string
    - `tags` object
    - `updated_at` string
    - `usage_type` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `422` — Unprocessable Entity
- `500` — Internal Server Error

## Changes

- **2026-09-03** `2b7d1ae74be1` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/baselinehq/apis/costgraph-pricing-api/changes/v1/marketplace/databases/post.md)

---

[API](https://skmtc.dev/baselinehq/apis/costgraph-pricing-api.md) · [All operations](https://skmtc.dev/baselinehq/apis/costgraph-pricing-api/llms.txt) · [OpenAPI document](https://skmtc.dev/baselinehq/apis/costgraph-pricing-api/revisions/8cb58cf63915?raw)
