---
title: "Start Billing Run"
method: POST
path: "/billing/developer/runs"
tags: ["Billing", "billing"]
---

# Start Billing Run

`POST /billing/developer/runs`

## Request

- Base URL: `https://api.openintake.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openintake.ai/billing/developer/runs`
- Auth: none declared

Start a new billing run. Creates a BillingRun record and dispatches a Celery task.

Developer only.

## Request body

- StartBillingRunRequest
  - `is_dry_run` boolean: If true, compute billable periods but do not execute transfers

## Response `200`

Successful Response

- BillingRunResponse
  - `billing_run_id` string, uuid, required
  - `status` string, required
  - `is_dry_run` boolean, required
  - `initiated_by` string, uuid, nullable
  - `total_customers` integer, required
  - `total_items` integer, required
  - `successful_items` integer, required
  - `failed_items` integer, required
  - `skipped_items` integer, required
  - `total_amount_cents` integer, required
  - `total_amount_display` string, required
  - `error_message` string, nullable
  - `celery_task_id` string, nullable
  - `started_at` string, date-time, nullable
  - `completed_at` string, date-time, nullable
  - `created_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

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