---
title: "Post Quote"
method: POST
path: "/v2/quotes"
tags: ["Orders"]
---

# Post Quote

`POST /v2/quotes`

## Request

- Base URL: `https://public.outreach2day.com`
- URL: `https://public.outreach2day.com/v2/quotes`
- Auth: HTTP bearer

Price an order server-side (nothing is charged or registered).

Returns 201 ``quoted`` or 202 ``requires_review``. Show ``human_summary`` and
``due_now_cents`` to the human, then create the checkout.

## Request body

- QuoteRequest: POST /v2/quotes body.
  - `workspace_id` integer, required: Workspace to order for.
  - `domains` string[]: New root domains to register.
  - `mailboxes` union: Either {"count": N} (N mailboxes; with new domains they are named and spread over the new domains automatically) or an explicit list of {address, first_name, last_name, domain}.
    - MailboxCount
      - `count` integer, required: Number of mailboxes to add.
    - MailboxSpec[]
      - `address` string, email, required
      - `first_name` string, required
      - `last_name` string, required
      - `domain` string, nullable: Domain of the address; defaults to the part after '@'.
  - `mailboxes_per_domain` integer, nullable: Shortcut: this many generated mailboxes on each new domain (or each mailbox_domains entry).
  - `mailbox_domains` string[], nullable: Existing active domains of the workspace (bought, or connected with our nameservers set) to create the mailboxes on, instead of new domains. Needs persona.
  - `persona` Persona
    - `first_name` string, required
    - `last_name` string, required
  - `registrant` RegistrantContact: Registrant contact for domain registration (same fields as web onboarding).
    - `first_name` string, required
    - `last_name` string, required
    - `real_address` string, required
    - `city` string, required
    - `state_province` string, required
    - `postal_code` string, required
    - `country` string, required
    - `phone` string, required
    - `email_address` string, email, nullable
    - `organization_name` string, required
    - `job_title` string, required
  - `redirect_domain` string, nullable: Where the new domains redirect (optional).
  - `test_mode` boolean: Stripe test mode + simulated fulfilment. Not available in production.
  - `source` 'api' | 'mcp'

## Response `201`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/outreach2day/apis/outreach-today-public-api.md) · [All operations](https://skmtc.dev/outreach2day/apis/outreach-today-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/outreach2day/apis/outreach-today-public-api/revisions/6c02339eef43?raw)
