---
title: "Send Enterprise Invoice"
method: POST
path: "/admin/send-invoice"
tags: ["Admin"]
---

# Send Enterprise Invoice

`POST /admin/send-invoice`

## Request

- Base URL: `https://api.oxlo.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.oxlo.ai/admin/send-invoice`
- Auth: HTTP bearer

Create and send a Stripe invoice to an enterprise customer.

Flow:
1. Admin enters customer email + amount + plan
2. Backend creates/retrieves Stripe customer
3. Creates an invoice with one-off line item
4. Finalizes and sends the invoice
5. Customer pays via Stripe-hosted invoice page
6. When paid, webhook (invoice.paid) activates their enterprise plan

The invoice metadata stores plan_id and auto_activate flag so the
webhook handler knows which plan to assign when payment succeeds.

## Request body

- SendInvoiceRequest
  - `email` string, email, required
  - `amount_cents` integer, required
  - `description` string, required
  - `plan_id` string, required
  - `due_days` integer
  - `auto_activate` boolean

## Response `200`

Successful Response

- SendInvoiceResponse
  - `invoice_id` string, required
  - `amount_display` string, required
  - `customer_email` string, required
  - `plan_id` string, required
  - `due_date` string, required
  - `hosted_url` string, nullable, required
  - `message` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/oxlo/apis/oxlo-backend.md) - [All operations](https://skmtc.dev/oxlo/apis/oxlo-backend/llms.txt) - [OpenAPI document](https://skmtc.dev/oxlo/apis/oxlo-backend/revisions/bc2ecdc94f31?raw)
