---
title: "Upsert Source Cost"
method: POST
path: "/api/sales/admin/source-cost"
tags: ["Sales"]
---

# Upsert Source Cost

`POST /api/sales/admin/source-cost`

## Request

- Base URL: `https://api.ruzora.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.ruzora.com/api/sales/admin/source-cost`
- Auth: HTTP bearer

Track B Workflow #6 — admin endpoint to enter monthly costs per source.

Used by the admin UI to log Explorium/TheirStack/PhantomBuster/Sales Nav/
Instantly subscription + credit costs each month. Powers the "Cost per
lead by source" dashboard tile.

UPSERT on (month, signal_source). If a row exists, update it (corrections
are common in month-1 entries).

## Request body

- SourceCostRequest: Track B Workflow #6 — monthly per-source cost entry.
  - `month` string, required
  - `signal_source` string, required
  - `unit_cost_cents` integer, required
  - `quantity` integer, required
  - `total_cost_cents` integer, required
  - `notes` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api.md) · [All operations](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api/revisions/f9b8223f3ac4?raw)
