const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getpalm.com/v1/filing/formation/requirement', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.getpalm.com/v1/filing/formation/requirement"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)curl --request GET \
--url https://api.getpalm.com/v1/filing/formation/requirement \
--header 'Authorization: Bearer <token>'{
"type": "formation",
"schema": {
"type": "object",
"required": [
"jurisdiction",
"entity_name",
"purpose",
"email",
"contact",
"principal_address",
"organizers"
],
"properties": {
"entity_name": {
"type": "string"
},
"purpose": {
"type": "string"
},
"email": {
"type": "string",
"format": "email",
"description": "Business email address"
},
"contact": {
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
},
"phone": {
"type": "string"
}
}
},
"principal_address": {
"type": "object",
"description": "Principal office address",
"required": [
"street_line_1",
"city",
"region",
"postal_code",
"country"
],
"properties": {
"street_line_1": {
"type": "string"
},
"city": {
"type": "string"
},
"region": {
"type": "string",
"description": "State or region code"
},
"postal_code": {
"type": "string"
},
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code"
}
}
},
"mailing_address": {
"type": "object",
"description": "Mailing address if different from principal office",
"properties": {
"street_line_1": {
"type": "string"
},
"city": {
"type": "string"
},
"region": {
"type": "string",
"description": "State or region code"
},
"postal_code": {
"type": "string"
},
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code"
}
}
},
"registered_agent": {
"type": "object",
"required": [
"type",
"name",
"address"
],
"properties": {
"type": {
"type": "string",
"enum": [
"person",
"organization"
]
},
"name": {
"type": "object",
"description": "A person or an entity. Discriminated by `type`.",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"person",
"entity"
]
},
"first": {
"type": "string",
"description": "Required when type is \"person\""
},
"last": {
"type": "string",
"description": "Required when type is \"person\""
},
"entity_name": {
"type": "string",
"description": "Required when type is \"entity\""
}
}
},
"address": {
"type": "object",
"description": "Registered office address (must be in the formation jurisdiction)",
"properties": {
"street_line_1": {
"type": "string"
},
"city": {
"type": "string"
},
"region": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"country": {
"type": "string"
}
}
}
}
},
"organizers": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [
"name",
"address"
],
"properties": {
"name": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"person",
"entity"
]
},
"first": {
"type": "string"
},
"last": {
"type": "string"
},
"entity_name": {
"type": "string"
}
}
},
"address": {
"type": "object",
"description": "Party address"
},
"title": {
"type": "string"
}
}
}
},
"tax_accounts": {
"type": "array",
"items": {
"type": "string",
"enum": [
"sales_tax"
]
}
},
"fein": {
"type": "string"
},
"ldr_sales_tax": {
"type": "object"
}
},
"allOf": [
{
"if": {
"properties": {
"tax_accounts": {
"contains": {
"const": "sales_tax"
}
}
},
"required": [
"tax_accounts"
]
},
"then": {
"required": [
"ldr_sales_tax",
"fein"
]
}
}
]
},
"entity_type": "llc",
"jurisdiction": "US-NC",
"expedited_tiers": [
"24_hour",
"same_day",
"1_hour"
]
}Get formation requirements
⚠️ Early access — This endpoint is in preview and may change in backwards-incompatible ways before it is marked stable. Avoid depending on it in production, and reach out before building on it.
Discover which fields a formation needs for a given jurisdiction and entity type. Call this before building a formation request so you know what to collect from the user.
The response groups fields into:
- Common fields — required everywhere (name, principal address, people, etc.)
- Jurisdiction-specific fields — extra fields the state requires
- Available add-ons — whether registered-agent service and EIN bundling are supported
expedited_tiers lists the expedited processing tiers the state offers (the accepted expedited_tier values on create); price each one with the formation fee endpoint.
If Palm does not yet support formations in a jurisdiction, the jurisdiction-specific list comes back empty and submitting a formation there returns 501.
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getpalm.com/v1/filing/formation/requirement', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.getpalm.com/v1/filing/formation/requirement"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)curl --request GET \
--url https://api.getpalm.com/v1/filing/formation/requirement \
--header 'Authorization: Bearer <token>'{
"type": "formation",
"schema": {
"type": "object",
"required": [
"jurisdiction",
"entity_name",
"purpose",
"email",
"contact",
"principal_address",
"organizers"
],
"properties": {
"entity_name": {
"type": "string"
},
"purpose": {
"type": "string"
},
"email": {
"type": "string",
"format": "email",
"description": "Business email address"
},
"contact": {
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
},
"phone": {
"type": "string"
}
}
},
"principal_address": {
"type": "object",
"description": "Principal office address",
"required": [
"street_line_1",
"city",
"region",
"postal_code",
"country"
],
"properties": {
"street_line_1": {
"type": "string"
},
"city": {
"type": "string"
},
"region": {
"type": "string",
"description": "State or region code"
},
"postal_code": {
"type": "string"
},
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code"
}
}
},
"mailing_address": {
"type": "object",
"description": "Mailing address if different from principal office",
"properties": {
"street_line_1": {
"type": "string"
},
"city": {
"type": "string"
},
"region": {
"type": "string",
"description": "State or region code"
},
"postal_code": {
"type": "string"
},
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code"
}
}
},
"registered_agent": {
"type": "object",
"required": [
"type",
"name",
"address"
],
"properties": {
"type": {
"type": "string",
"enum": [
"person",
"organization"
]
},
"name": {
"type": "object",
"description": "A person or an entity. Discriminated by `type`.",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"person",
"entity"
]
},
"first": {
"type": "string",
"description": "Required when type is \"person\""
},
"last": {
"type": "string",
"description": "Required when type is \"person\""
},
"entity_name": {
"type": "string",
"description": "Required when type is \"entity\""
}
}
},
"address": {
"type": "object",
"description": "Registered office address (must be in the formation jurisdiction)",
"properties": {
"street_line_1": {
"type": "string"
},
"city": {
"type": "string"
},
"region": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"country": {
"type": "string"
}
}
}
}
},
"organizers": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [
"name",
"address"
],
"properties": {
"name": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"person",
"entity"
]
},
"first": {
"type": "string"
},
"last": {
"type": "string"
},
"entity_name": {
"type": "string"
}
}
},
"address": {
"type": "object",
"description": "Party address"
},
"title": {
"type": "string"
}
}
}
},
"tax_accounts": {
"type": "array",
"items": {
"type": "string",
"enum": [
"sales_tax"
]
}
},
"fein": {
"type": "string"
},
"ldr_sales_tax": {
"type": "object"
}
},
"allOf": [
{
"if": {
"properties": {
"tax_accounts": {
"contains": {
"const": "sales_tax"
}
}
},
"required": [
"tax_accounts"
]
},
"then": {
"required": [
"ldr_sales_tax",
"fein"
]
}
}
]
},
"entity_type": "llc",
"jurisdiction": "US-NC",
"expedited_tiers": [
"24_hour",
"same_day",
"1_hour"
]
}Authorizations
Enter your API key in the format: sk_test_xxxxx or sk_live_xxxxx
Query Parameters
Entity type
llc, pllc, corporation, pcorporation Jurisdiction (e.g., US-NC)
Response
Formation requirements
Filing type
"formation"
JSON Schema describing the request body for this filing.
{
"type": "object",
"required": [
"jurisdiction",
"entity_name",
"purpose",
"email",
"contact",
"principal_address",
"organizers"
],
"properties": {
"entity_name": { "type": "string" },
"purpose": { "type": "string" },
"email": {
"type": "string",
"format": "email",
"description": "Business email address"
},
"contact": {
"type": "object",
"required": ["name", "email"],
"properties": {
"name": { "type": "string" },
"email": { "type": "string", "format": "email" },
"phone": { "type": "string" }
}
},
"principal_address": {
"type": "object",
"description": "Principal office address",
"required": [
"street_line_1",
"city",
"region",
"postal_code",
"country"
],
"properties": {
"street_line_1": { "type": "string" },
"city": { "type": "string" },
"region": {
"type": "string",
"description": "State or region code"
},
"postal_code": { "type": "string" },
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code"
}
}
},
"mailing_address": {
"type": "object",
"description": "Mailing address if different from principal office",
"properties": {
"street_line_1": { "type": "string" },
"city": { "type": "string" },
"region": {
"type": "string",
"description": "State or region code"
},
"postal_code": { "type": "string" },
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code"
}
}
},
"registered_agent": {
"type": "object",
"required": ["type", "name", "address"],
"properties": {
"type": {
"type": "string",
"enum": ["person", "organization"]
},
"name": {
"type": "object",
"description": "A person or an entity. Discriminated by `type`.",
"required": ["type"],
"properties": {
"type": {
"type": "string",
"enum": ["person", "entity"]
},
"first": {
"type": "string",
"description": "Required when type is \"person\""
},
"last": {
"type": "string",
"description": "Required when type is \"person\""
},
"entity_name": {
"type": "string",
"description": "Required when type is \"entity\""
}
}
},
"address": {
"type": "object",
"description": "Registered office address (must be in the formation jurisdiction)",
"properties": {
"street_line_1": { "type": "string" },
"city": { "type": "string" },
"region": { "type": "string" },
"postal_code": { "type": "string" },
"country": { "type": "string" }
}
}
}
},
"organizers": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": ["name", "address"],
"properties": {
"name": {
"type": "object",
"required": ["type"],
"properties": {
"type": {
"type": "string",
"enum": ["person", "entity"]
},
"first": { "type": "string" },
"last": { "type": "string" },
"entity_name": { "type": "string" }
}
},
"address": {
"type": "object",
"description": "Party address"
},
"title": { "type": "string" }
}
}
},
"tax_accounts": {
"type": "array",
"items": { "type": "string", "enum": ["sales_tax"] }
},
"fein": { "type": "string" },
"ldr_sales_tax": { "type": "object" }
},
"allOf": [
{
"if": {
"properties": {
"tax_accounts": { "contains": { "const": "sales_tax" } }
},
"required": ["tax_accounts"]
},
"then": { "required": ["ldr_sales_tax", "fein"] }
}
]
}
Entity type
"llc"
Jurisdiction (ISO 3166-2)
"US-NC"
Expedited processing tiers this jurisdiction offers, accepted as the expedited_tier value on the formation create endpoints. Empty array when the state offers no expedited option. Present only when a jurisdiction is supplied. For the cost of each tier, call GET /v1/filing/formation/fee — the expedited_tiers field prices them.
["24_hour", "same_day", "1_hour"]
Was this page helpful?

