---
title: "Create a new order"
method: POST
path: "/orders"
tags: ["Orders"]
---

# Create a new order

`POST /orders`

Creates a new order for a product. You can create an order using either:
- A preconfigured product ID (from AccountProductConfigs)
- A product ID with a list of jurisdictions
Allowed products:
- Annual Report
- Change of Registered Agent
- Registered Agent

## Request body

- union
  - OrderCreateWithProduct
    - `company` object, required
      - `id` string, uuid, required — The UUID of the company
    - `product` object, required
      - `id` string, uuid, required — The UUID of the product (Annual Report, Change of Registered Agent, or Registered Agent)
    - `jurisdictions` JurisdictionInput[], required
      - `id` string, uuid, required — ID of the jurisdiction
    - `linked_to_order_id` string, uuid, nullable — Optional UUID of a related order
    - `mark_ordered` boolean — Marks the Order as ordered without waiting for payment. This feature must be enabled on the Account the Order is for.
  - OrderCreateWithPreconfiguredProduct
    - `company` object, required
      - `id` string, uuid, required — The UUID of the company
    - `preconfigured_product` object, required
      - `id` string, uuid, required — The UUID of the preconfigured product (AccountProductConfig)
    - `mark_ordered` boolean — Marks the Order as ordered without waiting for payment. This feature must be enabled on the Account the Order is for.

## Response `200`

Order created successfully

- object
  - `data` Order
    - `id` string, uuid — The unique identifier for the order
    - `linked_to_order_id` string, uuid, nullable — UUID of a related order, if applicable
    - `company` Company, required
      - `id` string, required — id of the company
      - `legal_name` string, required — The company’s exact legal name, including punctuation. We use this data for harvesting data from state agencies, so accuracy ensures the right match.
      - `formation_date` string, date, nullable — Company formation date (YYYY-MM-DD)
      - `fiscal_year_end` string, nullable — Fiscal year end in MM/DD format, or null
      - `phone` string, nullable — Company phone number
      - `toll_free_phone` string, nullable — Company toll-free phone number
      - `email` string, nullable — Company email address
      - `fax` string, nullable — Company fax number
      - `no_fax` boolean — Whether the company has no fax number
      - `website` string, nullable — Company website URL
      - `no_website` boolean — Whether the company has no website
      - `mission` string, nullable — Company mission statement
      - `purpose_statement` string, nullable — Company purpose statement
      - `primary_product_or_service` string, nullable — Primary product or service of the company
      - `ein` string, nullable — Employer Identification Number
      - `domicile` Jurisdiction — A geographic jurisdiction (country, state/province, locality, etc.) returned in API responses. Always includes both id and name.
        - `id` string, uuid, required — ID of the jurisdiction
        - `name` string, required — Name of the jurisdiction
      - `business_structure` BusinessStructure
        - `id` string, required — id of the business structure
        - `name` string, required — Name of the business structure
      - `principal_address` Address
        - `address_line_1` string, required — First line of the address
        - `address_line_2` string, nullable — Second line of the address (optional)
        - `locality` string, required — City or locality
        - `postal_code` string, required — Postal code
        - `administrative_area` Jurisdiction — A geographic jurisdiction (country, state/province, locality, etc.) returned in API responses. Always includes both id and name.
          - `id` string, uuid, required — ID of the jurisdiction
          - `name` string, required — Name of the jurisdiction
        - `country` Jurisdiction — A geographic jurisdiction (country, state/province, locality, etc.) returned in API responses. Always includes both id and name.
          - `id` string, uuid, required — ID of the jurisdiction
          - `name` string, required — Name of the jurisdiction
      - `mailing_address` Address
        - `address_line_1` string, required — First line of the address
        - `address_line_2` string, nullable — Second line of the address (optional)
        - `locality` string, required — City or locality
        - `postal_code` string, required — Postal code
        - `administrative_area` Jurisdiction — A geographic jurisdiction (country, state/province, locality, etc.) returned in API responses. Always includes both id and name.
          - `id` string, uuid, required — ID of the jurisdiction
          - `name` string, required — Name of the jurisdiction
        - `country` Jurisdiction — A geographic jurisdiction (country, state/province, locality, etc.) returned in API responses. Always includes both id and name.
          - `id` string, uuid, required — ID of the jurisdiction
          - `name` string, required — Name of the jurisdiction
      - `tax_classification` IrsTaxClassification
        - `id` string, required — UUID of the IRS tax classification
        - `name` string, required — Name of the tax classification
      - `accounting_method` AccountingMethod
        - `id` string, required — UUID of the accounting method
        - `name` string, required — Name of the accounting method
      - `signers` User[] — Preferred signers for this company
        - `id` string, uuid — UUID of the user
        - `first_name` string — First name of the user
        - `middle_name` string, nullable — Middle name of the user
        - `last_name` string — Last name of the user
        - `full_name` string — Full name of the user
        - `email` string — Email of the user
    - `product` Product, required
      - `id` string, required — id of the product
      - `name` string, required — Display name of the product
    - `jurisdictions` Jurisdiction[], required
      - `id` string, uuid, required — ID of the jurisdiction
      - `name` string, required — Name of the jurisdiction

## Other responses

- `400` — Invalid parameter format
- `401` — Unauthenticated
- `403` — Forbidden - User does not have access

---

[API](https://skmtc.net/harborcompliance/apis/harbor-compliance-api.md) · [All operations](https://skmtc.net/harborcompliance/apis/harbor-compliance-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/harborcompliance/harbor-compliance-api/revisions/f9302ec2ef8a/schema)
