> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voyantcloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Organization

> Create a partner organization within the current workspace.

## Method

`POST` `/v1/organizations`

## Body Parameters

<ParamField name="name" type="string" required>Organization name.</ParamField>
<ParamField name="legalName" type="string">Legal name (alias `legal_name`).</ParamField>
<ParamField name="email" type="string">Contact email.</ParamField>
<ParamField name="phone" type="string">Contact phone.</ParamField>
<ParamField name="description" type="string">Description or notes.</ParamField>
<ParamField name="taxId" type="string">Tax/VAT number (alias `tax_id`).</ParamField>
<ParamField name="kind" type="string">Organization kind (custom taxonomy).</ParamField>
<ParamField name="billingAddress" type="object">Billing address object (alias `billing_address`).</ParamField>
<ParamField name="visitingAddress" type="object">Visiting address object (alias `visiting_address`).</ParamField>
<ParamField name="metadata" type="object">Arbitrary key-value metadata.</ParamField>

## Headers

<ParamField header="Authorization" type="string">Bearer token with `organizations:write` scope.</ParamField>
<ParamField header="content-type" type="string">`application/json`</ParamField>

## Request Example

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://api.voyantcloud.com/v1/organizations \
    -H "Authorization: Bearer $VOYANT_API_KEY" \
    -H "content-type: application/json" \
    -d '{
      "name": "Voyant Cruises",
      "legal_name": "Voyant Cruises SRL",
      "email": "contact@voyantcruises.com",
      "phone": "+40 700 000 001",
      "description": "Cruise specialist partner",
      "tax_id": "RO12345678",
      "kind": "agency",
      "metadata": {"tier": "gold"}
    }'
  ```

  ```javascript Node.js theme={null}
  await fetch("https://api.voyantcloud.com/v1/organizations", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.VOYANT_API_KEY}`,
      "content-type": "application/json",
    },
    body: JSON.stringify({ name: "Voyant Cruises", kind: "agency" }),
  })
  ```

  ```python Python theme={null}
  import os, requests

  payload = {
    "name": "Voyant Cruises",
    "email": "contact@voyantcruises.com",
    "kind": "agency"
  }

  resp = requests.post(
    "https://api.voyantcloud.com/v1/organizations",
    headers={
      "Authorization": f"Bearer {os.environ['VOYANT_API_KEY']}",
      "content-type": "application/json",
    },
    json=payload,
  )
  organization = resp.json()
  ```
</RequestExample>

## Response

<ResponseExample>
  ```json 201 Created theme={null}
  {
    "data": {
      "id": "org_123",
      "name": "Voyant Cruises",
      "legalName": "Voyant Cruises SRL",
      "email": "contact@voyantcruises.com",
      "phone": "+40 700 000 001",
      "description": "Cruise specialist partner",
      "taxId": "RO12345678",
      "kind": "agency",
      "billingAddress": null,
      "visitingAddress": null,
      "metadata": { "tier": "gold" },
      "createdAt": "2025-02-20T10:00:00.000Z",
      "updatedAt": "2025-02-20T10:00:00.000Z"
    }
  }
  ```

  ```json 400 Bad Request theme={null}
  { "error": "Validation failed", "details": [ ... ] }
  ```
</ResponseExample>

<Tip>Only `name` is required; all other fields are optional and can be supplied when available. Both camelCase and snake\_case keys are accepted for backwards compatibility.</Tip>
