Docs pages

Create a formation

POST /api/v1/formations

Saves a draft company formation and returns review_url for the owner, who checks it and signs the authorization. Nothing is filed or charged until they do. Every field is optional; issues lists what's left.

In the MCP server this is create_formation.

Example

curl -X POST https://api.joinopenfile.com/v1/formations \
  -H "content-type: application/json" \
  -d '{
  "entity": "llc",
  "state": "WY",
  "name": "Northwind",
  "package": "pro",
  "contact": {
    "name": "Sam Lee",
    "email": "sam@example.com"
  }
}'

Body

NameTypeRequiredDescription
entityllc, corp, scorp, nonprofitNoThe kind of company.
statestringNoThe state to form in, two letters.
namestringNoThe company name, without LLC or Inc.
designatorstringNoThe ending, like LLC. get_state lists what the state accepts.
backup_namestringNoA second choice, used if the state won't take the first.
purposestringNoThe business purpose. A nonprofit must state a specific one.
managementmember, managerNoLLCs only: run by its members or by managers.
sharesstringNoCorporations only: authorized shares, digits only.
par_valuestringNoCorporations only: par value in dollars. Empty for no par.
packagebasic, pro, premiumNoThe package.
einbooleanNoBasic only: add the EIN. Pro and Premium include it.
agreementbooleanNoBasic only: add the operating agreement or bylaws. Pro and Premium include them.
expeditebooleanNoPay the state for faster processing, where it offers that.
membersintegerNoLLC members, in states that charge per member.
countystringNoCounty, where publication depends on it.
add_onsarray of stringNoAdd-on ids to include. list_services shows which can be added. Recurring ones can't: only the owner can start those.
contactobjectNoWho to reach about the order.
contact.namestringNoFull name.
contact.emailstringNoEmail address.
contact.phonestringNoPhone number.
principalobjectNoThe company's principal address. The owner can also add it when they review the order.
principal.streetstringNoStreet.
principal.citystringNoCity.
principal.statestringNoTwo-letter state.
principal.zipstringNoZIP code.
ownersarray of objectNoAn LLC's members or a corporation's directors. The owner can also add these when they review the order.
registered_agentobjectNoThe registered agent the owner named.
registered_agent.namestringNoThe agent's name.
registered_agent.addressobjectNoA street address.
registered_agent.address.streetstringNoStreet.
registered_agent.address.citystringNoCity.
registered_agent.address.statestringNoTwo-letter state.
registered_agent.address.zipstringNoZIP code.

Errors

StatusWhen
400Invalid input.
429Too many requests.
503undefined

The body is the error shape.

Next: Get a formation