---
title: "Creates a new company"
method: POST
path: "/Entity/Company"
tags: ["Entity"]
---

# Creates a new company

`POST /Entity/Company`

If valid, the company will be created directly in Infinity.
            
Notes must not exceed the max upload size configured in Infinity.
            
A Logo must not exceed the max upload size configured in Infinity.
            
The max upload size can be retrieved from the /Reference/MaxUploadSize method (In KB).
            
All id fields must match valid reference data from the /Reference methods.
            
The Financials.TerritoryId only supports a territory of 'United Kingdom'.
            
The Telecoms field can only contain one item set as IsPreferredTelecom

If passed, the CustomFieldData must adhere to the field definitions retrieved from the /Reference/CustomFields method especially
regarding item ids, in the case of combo boxes and multi-select lists, min/max values for dates and max length for text. Note that the Company
creation request will fail if the custom data is not valid.

## Request body

- CompanyRequest — Model to create or update a Company
  - `Name` string, nullable
  - `ShortName` string, nullable
  - `OtherNames` string[], nullable
  - `Logo` string, byte, nullable — A Base64 image to display against the company The image cannot exceed the max upload size configured in Infinity.
  - `LinkedInUrl` string, nullable
  - `XingUrl` string, nullable
  - `FacebookProfileUrl` string, nullable
  - `TwitterProfileUrl` string, nullable
  - `Telecoms` TelecomRequest[], nullable
    - `Description` string, nullable
    - `TelecomId` integer, required
    - `OkToMailShot` boolean, required
    - `OkToSMS` boolean, required
    - `CountryId` integer, nullable
    - `Value` string, nullable
    - `SendByDefault` boolean, required
    - `Extension` string, nullable
    - `IsPreferredTelecom` boolean, required
  - `CompanyTypeId` integer, nullable
  - `BusinessSectorId` integer, nullable
  - `OwningConsultants` OwningConsultant[], nullable
    - `ConsultantId` integer, required
    - `ConsultantRoleId` integer, nullable
  - `Consultants` integer[], nullable — Depreciated. OwningConsultants can be used instead to supply a list of consultants and their roles.
  - `Competitors` integer[], nullable
  - `AlternateCode` string, nullable
  - `Alert` string, nullable
  - `Notes` string, nullable
  - `JobTitles` CompanyJobTitleRequest[], nullable
    - `Id` integer
    - `Notes` string, nullable
  - `Attributes` CompanyAttributeRequest[], nullable
    - `Id` integer
    - `ScoreId` integer, nullable
    - `Notes` string, nullable
  - `ChildAttributes` CompanyAttributeRequest[], nullable
    - `Id` integer
    - `ScoreId` integer, nullable
    - `Notes` string, nullable
  - `QualificationsAndCertifications` CompanyQualificationAndCertificationRequest[], nullable
    - `Id` integer
    - `TypeId` integer, nullable
    - `LevelId` integer, nullable
    - `Notes` string, nullable
  - `CallBacks` CallBackRequest[], nullable
    - `TypeId` integer, required
    - `DueDate` string, date-time, required
    - `DueTime` string, duration, nullable
    - `ForConsultantId` integer, required
    - `Details` string, nullable
  - `Financials` CompanyFinancialRequest
    - `TerritoryId` integer, required
    - `ChargeCurrencyId` integer, nullable
    - `RegisteredNumber` string, nullable
    - `VATCodeId` integer, nullable
    - `VATNumber` string, nullable
    - `NonUkTaxCode` string, nullable
    - `CreditLimit` number, nullable
    - `CreditBalance` number, nullable
  - `CustomFieldDetails` CustomFieldDetailRequest
    - `CategorisedMultiSelectFields` CategorisedMultiSelectFieldRequest[], nullable
      - `Id` integer, required
      - `ValueIds` integer[], required
    - `CheckBoxFields` CheckBoxFieldRequest[], nullable
      - `Id` integer, required
      - `Value` boolean, required
    - `ComboBoxFields` ComboBoxFieldRequest[], nullable
      - `Id` integer, required
      - `ValueId` integer, required
    - `DateTimePickerFields` DateTimePickerFieldRequest[], nullable
      - `Id` integer, required
      - `Value` string, date-time, required
    - `DecimalFields` DecimalFieldRequest[], nullable
      - `Id` integer, required
      - `Value` number, required
    - `IntegerFields` IntegerFieldRequest[], nullable
      - `Id` integer, required
      - `Value` integer, required
    - `MultiSelectListBoxFields` MultiSelectListBoxFieldRequest[], nullable
      - `Id` integer, required
      - `ValueIds` integer[], required
    - `NoteControlFields` NoteControlFieldRequest[], nullable
      - `Id` integer, required
      - `Value` string, required — The Notes Value must not exceed the max upload size configured in Infinity.
    - `TextBoxFields` TextBoxFieldRequest[], nullable
      - `Id` integer, required
      - `Value` string, required

## Response `200`

OK

- integer

## Other responses

- `400` — BadRequest
- `401` — Unauthorized
- `404` — NotFound

---

[API](https://skmtc.dev/vslcloud/apis/infinity-api.md) · [All operations](https://skmtc.dev/vslcloud/apis/infinity-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/vslcloud/infinity-api/revisions/54661781612a/schema)
