---
title: "Register a custom provider"
method: POST
path: "/marketplace/providers/compute"
deprecated: true
---

# Register a custom provider

`POST /marketplace/providers/compute`

> **Deprecated.**

Register your own compute rates so CostGraph can price machines it has no public price for, such as bare metal or a private cloud.
An entry is upserted on its natural key (provider, service, region, availability zone, usage type, instance type, operating system and period billing hours), so re-posting the same entry with a new cost keeps its id and reprices everything already using it. Changing any key field mints a new id, because it describes a different SKU.
The returned id is what you attach to a resource with the `costgraph.ai/pricing-id.compute` label or tag. Treat it as a secret you hand out deliberately: anyone holding it can pin to the rate, which is how a provider prices clusters it sells on.
Superseded by POST /v1/marketplace/compute, which returns RFC 9457 problem responses on failure.

## Request body

- ComputePricesRequest
  - `entries` ComputePrice[], required
    - `architecture` string
    - `availability_zone` string
    - `cost_per_hour` number
    - `cpu_cores` number
    - `cpu_cores_cost_per_hour` number
    - `created_at` string
    - `currency` string
    - `gpu_cost_per_hour` number
    - `gpu_count` number
    - `gpu_type` string
    - `id` string
    - `instance_type` string
    - `native_cost_per_hour` number
    - `operating_system` string
    - `period_billing_hours` number
    - `provider` string
    - `ram_gb` number
    - `ram_gb_cost_per_hour` number
    - `raw_pricing_data` object
    - `region` string
    - `service` string
    - `tags` object
    - `updated_at` string
    - `usage_type` string

## Response `200`

Pricing response for a custom provider

- RegisteredComputePrices
  - `entries` ComputePrice[]
    - `architecture` string
    - `availability_zone` string
    - `cost_per_hour` number
    - `cpu_cores` number
    - `cpu_cores_cost_per_hour` number
    - `created_at` string
    - `currency` string
    - `gpu_cost_per_hour` number
    - `gpu_count` number
    - `gpu_type` string
    - `id` string
    - `instance_type` string
    - `native_cost_per_hour` number
    - `operating_system` string
    - `period_billing_hours` number
    - `provider` string
    - `ram_gb` number
    - `ram_gb_cost_per_hour` number
    - `raw_pricing_data` object
    - `region` string
    - `service` string
    - `tags` object
    - `updated_at` string
    - `usage_type` string
  - `status` 'Registered' | 'Deleted'

## Other responses

- `400` — Invalid request body
- `401` — Provider and organization do not match
- `500` — Internal server error

## Changes

- **2026-09-03** `2b7d1ae74be1` — 1 info
  - endpoint deprecated
- **2026-08-13** `f07bdc0e3d36` — 10 info
  - added the new optional request property `entries/items/currency`
  - added the new optional request property `entries/items/gpu_cost_per_hour`
  - added the new optional request property `entries/items/gpu_count`
  - added the new optional request property `entries/items/gpu_type`
  - …6 more
- **2026-05-24** `2806a49483a0` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/baselinehq/apis/costgraph-pricing-api/changes/marketplace/providers/compute/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-service-production.skmtc.workers.dev/v1/apis/baselinehq/costgraph-pricing-api/revisions/2b7d1ae74be1/schema)
