---
title: "Create a company"
method: POST
path: "/rateplan/v0-nsfw/companies"
tags: ["Company"]
---

# Create a company

`POST /rateplan/v0-nsfw/companies`

## Request

- Base URL: `https://api.apaleo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.apaleo.com/rateplan/v0-nsfw/companies`
- Auth: OAuth 2
  - Implicit: `https://identity.apaleo.com/connect/authorize`
  - Scopes: `companies.create`, `companies.manage`, `admin`

Use this call to create a new company.<br>You must have at least one of these scopes: 'companies.create, companies.manage'.<br>For fine-grained clients, you must have this permission: 'core.companies.create'.

## Headers

- `Idempotency-Key` string

## Request body

- CreateCompanyModel: The unstable (v0-nsfw) variant of Apaleo.Api.Modules.RatePlan.Models.Companies.CreateCompanyModel. It additionally accepts structured company identifiers.
  - `identifiers` CreateCompanyIdentifierModel[], nullable: Structured company identifiers. Only schemes from the identifier-scheme registry are accepted.
    - `scheme` string, required: The identifier scheme (must exist in the company identifier-scheme registry).
    - `value` string, required: The identifier value for the scheme.
  - `type` 'CorporateClient' | 'TravelAgency' | 'GovernmentBuyer', nullable: The company type. Defaults to CorporateClient when omitted.
  - `code` string, required: The code for the company
  - `propertyId` string, required: The ID of the property
  - `name` string, required: The name of the company
  - `invoicingEmail` string, nullable: The email address for invoicing purposes
  - `phone` string, nullable: The company's phone
  - `taxId` string, nullable: The tax ID of the company
  - `additionalTaxId` string, nullable: The additional tax ID of the company (e.g. SIRET in France, Codice Destinatario in Italy, SST in Malaysia)
  - `additionalTaxId2` string, nullable: The additional tax ID of the company (e.g. Codice Fiscale in Italy, BRN in Malaysia)
  - `invoiceNetworkIdentity` InvoiceNetworkIdentityModel
    - `network` 'Peppol', required: The Network through which to send the Invoice e. g. Peppol
    - `id` string, required: The Id of the company at the network. e.g. "0208:123456789"
  - `address` AddressModel, required
    - `addressLine1` string, required
    - `addressLine2` string, nullable
    - `postalCode` string, required
    - `city` string, required
    - `regionCode` string, nullable
    - `countryCode` string, required
  - `canCheckOutOnAr` boolean, required: Whether or not the company is allowed to check out on AR / invoice
  - `ratePlans` CreateRatePlanCompanyModel[], nullable: Rate plans that can be booked by this company
    - `id` string, required: Rate plan ID that is used by this company
    - `corporateCode` string, nullable: Optional rate plan code that is used by this company. Default is companyCode-ratePlanCode. Same code can be specified for several rate plans in one company. No two companies can have a rate plan with the same code.

## Response `201`

Success.

- CompanyCreatedModel
  - `id` string, required: The company ID

## Other responses

- `400`: Bad request.
- `401`: You are unauthorized.
- `403`: Forbidden.
- `404`: The Request-URI could not be found.
- `415`: Unsupported media type.
- `422`: Validation errors in the request body or query params.
- `499`: Client closed request.
- `500`: An unexpected error occurred.
- `501`: Not Implemented
- `503`: The server is currently unavailable. Please try later.

---

[API](https://skmtc.dev/apaleo/apis/apaleo-rate-plan-api-not-safe-for-work.md) - [All operations](https://skmtc.dev/apaleo/apis/apaleo-rate-plan-api-not-safe-for-work/llms.txt) - [OpenAPI document](https://skmtc.dev/apaleo/apis/apaleo-rate-plan-api-not-safe-for-work/revisions/97dec9512a17?raw)
