Skip to main content
POST
Open a corporate registration filing
Opens a filing in one state for one of your entities and returns it with the checklist Turris will work through.

What is decided for you

A filing is a workflow Turris runs. The statuses past the first are our operational vocabulary, not yours to declare, so the field is not accepted.
Which half of the state template the checklist comes from is decided by the entity’s recorded type — LLC, S-Corp and so on — not by the request. An entity with no type recorded returns 400: writing a guess would silently snapshot the wrong checklist.
Frozen at this moment. Later template changes never reshape a filing that is already open.

One open filing per state and type

A second filing for the same entity, state and filing type is refused with 409 while the first is still open. Completed and cancelled filings do not block a new one, so this year’s annual report after last year’s is fine, and so is a fresh registration after an earlier attempt was cancelled. This is stricter than the agency application on purpose: through an API, a retry loop creates real work in a Turris operator’s queue.

States without a template

Turris maintains a filing template per state. A state we have not templated yet returns 404 naming the state — a real answer about the platform rather than a malformed request. Send an Idempotency-Key header. See Idempotency.

Headers

idempotency-key
string

UUID to ensure idempotent request processing

Example:

"550e8400-e29b-41d4-a716-446655440000"

x-idempotency-key
string

Alternative UUID header for idempotent request processing

Example:

"550e8400-e29b-41d4-a716-446655440000"

Body

application/json
stateCode
enum<string>
required

The state or territory to register in. Turris must have a filing template for it.

Available options:
AL,
AK,
AZ,
AR,
CA,
CO,
CT,
DE,
FL,
GA,
HI,
ID,
IL,
IN,
IA,
KS,
KY,
LA,
ME,
MD,
MA,
MI,
MN,
MS,
MO,
MT,
NE,
NV,
NH,
NJ,
NM,
NY,
NC,
ND,
OH,
OK,
OR,
PA,
RI,
SC,
SD,
TN,
TX,
UT,
VT,
VA,
WA,
WV,
WI,
WY,
GU,
PR,
VI,
DC
Example:

"PA"

filingType
enum<string>
required

What kind of filing this is. The state template carries a different checklist per type, so this decides the work the filing is opened with.

Available options:
initial registration,
annual report,
withdrawal,
amendment,
other
Example:

"initial registration"

downstreamEntityId
string

Which of your entities the filing is for. Defaults to your own organization. Registration is per legal entity, so a group filing for a branch must name that branch.

Example:

"6610b3d2c2e0a51b8c0d1f02"

Response

The filing opened

data
object
required
requestId
string
required

Unique request identifier

Example:

"dev-2c5e7cf2-9acf-4c8c-ab2f-b81f39d775a8"

timestamp
string
required

Response timestamp

Example:

"2025-11-12T20:49:03.293Z"