Skip to main content
POST
/
v1
/
partner
/
companies
Create a company
curl --request POST \
  --url https://api.test.doola.com/v1/partner/companies \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: <idempotency-key>' \
  --data '
{
  "doolaCustomerId": "<string>",
  "state": "DE",
  "naicsCode": "541511",
  "description": "Custom software development for small businesses.",
  "responsibleParty": {
    "legalFirstName": "Ada",
    "legalLastName": "Lovelace",
    "ssn": "<string>",
    "email": "ada@example.com",
    "address": {
      "line1": "251 W 30th St",
      "line2": "Ste 12E",
      "city": "New York",
      "state": "NY",
      "postalCode": "10001",
      "country": "USA",
      "phone": "+12125550100"
    }
  },
  "entityType": "LLC",
  "nameOptions": [
    {
      "name": "Acme Labs",
      "entityTypeEnding": "LLC",
      "position": 1
    }
  ],
  "addresses": [
    {
      "provider": "doola",
      "type": "business",
      "address": {
        "line1": "251 W 30th St",
        "line2": "Ste 12E",
        "city": "New York",
        "state": "NY",
        "postalCode": "10001",
        "country": "USA",
        "phone": "+12125550100"
      }
    }
  ],
  "members": [
    {
      "legalFirstName": "Ada",
      "legalLastName": "Lovelace",
      "contactFullName": "Acme Holdings LLC",
      "isNaturalPerson": true,
      "address": {
        "line1": "251 W 30th St",
        "line2": "Ste 12E",
        "city": "New York",
        "state": "NY",
        "postalCode": "10001",
        "country": "USA",
        "phone": "+12125550100"
      },
      "ownershipPercent": 100,
      "ssn": "<string>"
    }
  ],
  "executiveMembers": [
    {
      "type": "President",
      "legalFirstName": "Ada",
      "legalLastName": "Lovelace",
      "ssn": "<string>",
      "address": {
        "line1": "251 W 30th St",
        "line2": "Ste 12E",
        "city": "New York",
        "state": "NY",
        "postalCode": "10001",
        "country": "USA",
        "phone": "+12125550100"
      }
    }
  ],
  "ccorpValuation": {
    "noOfShares": 10000000,
    "shareValue": 0.0001
  }
}
'
{
  "payload": {
    "doolaCompanyId": "<string>",
    "doolaCustomerId": "<string>",
    "entityType": "LLC",
    "state": "DE",
    "nameOptions": [
      {
        "id": "<string>",
        "name": "Acme Labs",
        "entityTypeEnding": "LLC",
        "position": 1
      }
    ],
    "naicsCode": "541511",
    "description": "<string>",
    "responsibleParty": {
      "id": "<string>",
      "legalFirstName": "Ada",
      "legalLastName": "Lovelace",
      "ssn": "<string>",
      "email": "ada@example.com",
      "address": {
        "id": "<string>",
        "line1": "251 W 30th St",
        "line2": "Ste 12E",
        "city": "New York",
        "state": "NY",
        "postalCode": "10001",
        "country": "USA",
        "phone": "+12125550100"
      }
    },
    "addresses": [
      {
        "provider": "doola",
        "type": "business",
        "address": {
          "id": "<string>",
          "line1": "251 W 30th St",
          "line2": "Ste 12E",
          "city": "New York",
          "state": "NY",
          "postalCode": "10001",
          "country": "USA",
          "phone": "+12125550100"
        }
      }
    ],
    "members": [
      {
        "id": "<string>",
        "legalFirstName": "Ada",
        "legalLastName": "Lovelace",
        "contactFullName": "Acme Holdings LLC",
        "isNaturalPerson": true,
        "address": {
          "id": "<string>",
          "line1": "251 W 30th St",
          "line2": "Ste 12E",
          "city": "New York",
          "state": "NY",
          "postalCode": "10001",
          "country": "USA",
          "phone": "+12125550100"
        },
        "ownershipPercent": 100,
        "ssn": "<string>"
      }
    ],
    "executiveMembers": [
      {
        "id": "<string>",
        "type": "President",
        "legalFirstName": "Ada",
        "legalLastName": "Lovelace",
        "ssn": "<string>",
        "address": {
          "id": "<string>",
          "line1": "251 W 30th St",
          "line2": "Ste 12E",
          "city": "New York",
          "state": "NY",
          "postalCode": "10001",
          "country": "USA",
          "phone": "+12125550100"
        }
      }
    ],
    "ccorpValuation": {
      "noOfShares": 10000000,
      "shareValue": 0.0001
    }
  },
  "error": {}
}

Authorizations

Authorization
string
header
required

Partner API key. Send the raw key as the Authorization header value — e.g. dk_test_… in sandbox or dk_live_… in production. Generate and rotate keys in the doola Partner Portal.

Headers

Idempotency-Key
string
required

Unique key that makes the create safe to retry. Reuse the same value to retry; use a fresh value after a 4xx.

Body

application/json

Request body to create (form) a company for one of your customers.

doolaCustomerId
string
required

doola customer ID (KSUID) that will own the company.

state
string
required

US state of formation (two-letter abbreviation).

Example:

"DE"

naicsCode
string
required

NAICS industry code. Must exist in the reference list.

Example:

"541511"

description
string
required

Short description of what the business does.

Example:

"Custom software development for small businesses."

responsibleParty
object
required

The person legally responsible for the company (used for tax filings).

entityType
enum<string>
default:LLC

Entity type to form. Defaults to LLC when omitted. An LLC takes members; a CCorp takes executiveMembers and ccorpValuation.

Available options:
LLC,
CCorp
Example:

"LLC"

nameOptions
object[]

Candidate company names, in order of preference.

addresses
object[]

Company addresses (e.g. business, mailing).

members
object[]

Company members/owners. Required for an LLC (ownership percentages must total 100); omit for a CCorp.

executiveMembers
object[]

C-Corp officers and directors. Required for a CCorp; omit for an LLC. Include at least one President, Secretary, Treasurer, and Director; the President, Secretary, and Treasurer may each appear only once.

ccorpValuation
object

C-Corp share structure.

Response

200 - */*

OK

payload
object

The company created by the create-company endpoint. Narrower than the get-company response: EIN, filing date, services, and admin notes are not yet populated at creation time.

error
object