Update a company
Authorizations
Your API key, e.g. Authorization: Bearer clmt_test_. Live keys use the clmt_live_ prefix.
Headers
Date-based API version to run this request against.
"2026-08-13"
Path Parameters
ID of the company.
^cmp_[0-9A-Za-z]{22}$Body
Sparse update: only the fields you send change, everything else stays as it is. While the company is requires_information (not yet handed to Clemta) the create-time details can still be corrected. After hand-off only timezone, owner_privacy, foreign_qualifications and metadata remain updatable - everything else is Clemta's to change from there. entity_type, state and pre_existing are never updatable: they price the formation - cancel the company and create it again instead.
New legal name (IRS charset, no leading "The"). Before hand-off only.
1 - 255^[A-Za-z0-9 &-]+$New name suffix token, must match the entity type. Before hand-off only.
llc, l_l_c, limited_liability_company, inc, incorporated, co, corp, corporation How the legal name renders around the ending. Before hand-off only.
plain, comma Whether the owners are kept off the public filing. private only in DE, NV, WY, NM. Updatable before and after hand-off.
public, private One of the platform catalog's tokens. Before hand-off only.
accounting, advertising, agriculture, art, theater, beauty_and_cosmetic_services, biotech, business_management, cleaning_services, construction, consulting, design, e_commerce, education, entertainment, financial_services, fitness, food, hardware, health_services, insurance, investment, legal, logistics, marketing, marketplace, real_estate, recruiting, research, retail_wholesale, shipping_warehousing, support_services, software, technology, transportation, other Required alongside industry: other, refused otherwise. Before hand-off only.
500The short name of the custom industry. Required alongside industry: other, refused otherwise. Before hand-off only.
120c_corp only. Before hand-off only.
x >= 1c_corp only. Before hand-off only.
x >= 0IANA time zone. Updatable before and after hand-off.
64For a pre_existing company only. Before hand-off only.
12^[0-9]{2}-?[0-9]{7}$For a pre_existing company only. Before hand-off only.
Replaces the full list. For a pre_existing company, updatable before and after hand-off. An empty array clears it.
10The company's owners. Send this to collect the owners a company was created without, or to correct the roster - before hand-off only. It REPLACES the whole roster and follows the same rules as at create: exactly one main incorporator, ownership totals 100 percent. An individual owner without a passport gets an identity-document requirement to fulfill later. An empty array clears the roster.
25Replaces the company's metadata with this set. Send the full map you want stored. An empty object clears it. Your own key-value pairs, returned verbatim.
Response
The updated company.
Entity name. Identifies this object when it arrives without its URL - nested under an expand[], inside an event payload, or in a webhook.
company Identifier of the company.
^cmp_[0-9A-Za-z]{22}$"cmp_0346sFPEvSkJvY8vt14NNw"
The account (the incorporator) this company was created under. Expand account to embed the full object.
^acct_[0-9A-Za-z]{22}$"acct_0346sFPEvSkJvY8vt14NNw"
False for a company created with a test key. A test company is a sandbox simulation - it never reaches fulfillment or billing.
Legal name of the company.
US state of formation, as a two-letter code.
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, DC "DE"
Entity type being formed.
llc, c_corp "llc"
Lifecycle status. A company starts in requires_information while it waits for its owners' identity documents. It moves to in_progress once every required document is present and it is submitted for formation, and to active once fulfilled.
requires_information, in_progress, active, cancelled, dissolved Whether the company's owners have submitted the identity documents needed to file. verified_at records when. State filings wait for it.
pending, verified When the company was created.
When the company was last modified. Also written to the Last-Modified response header on a single-company fetch, so a conditional If-Modified-Since request can be answered 304 Not Modified.
Your own identifier for this company, unique across your companies.
The full account this company was created under. Present only when requested with expand[]=account.
Free-text description of the business, present when industry is other.
Short name of the custom industry, present when industry is other.
The company's IANA time zone.
How the legal name renders around the ending.
plain, comma The rendered legal name - name, the name_style separator, and the ending ("Acme, LLC").
Whether the owners are kept off the public filing. Choosable only in DE, NV, WY, NM.
public, private True when the company already existed before it was brought to Clemta. False when Clemta forms it.
The federal tax id, once the IRS has issued it. Fires company.ein.assigned when it lands.
When every owner's identity document was in and the company was ready for formation. company.verified announces this moment, and it does not change afterward.
When the company was dissolved. Terminal: the company's status is dissolved from that moment, every recurring service stopped renewing, open requirements were closed, and nothing further can be ordered. company.dissolved announces this moment, and it does not change afterward.
When the company was marked incorporated in Clemta - the moment company.incorporated fires. It can differ from incorporation_date, the legal formation date the state assigned.
When the EIN was assigned. company.ein.assigned announces this moment, and it does not change afterward.
The fine-grained formation step under status - where formation stands right now. Changes fire company.status.changed. Reaching incorporated also fires company.incorporated.
preparing_documents, documents_generated, signature_requested, submitted_to_state, name_conflict, incorporated, closed The legal formation date the state assigned, recorded from the formation document (for a pre_existing company, the one uploaded through its requirement). It can differ from incorporated_at, which is when Clemta marked the company incorporated. Never an input. company.updated announces changes.
The company's legal address, maintained by Clemta.
States the company is registered in beside its formation state.
Rights the company holds, as counts remaining. An order for an entitlement product adds one. A tax filing consumes one when it is submitted. Some may be granted directly. company.entitlements.changed announces every move.
How many requirements currently stand open on this company - "is anything waiting on you" in one number, without touching status. Derived at read time on API responses. Webhook data.object snapshots omit it.
Every service order on the company, newest first, embedded when the request carries expand[]=service_orders - including the mandatory products a create attached automatically. The same rows GET /companies/{id}/service-orders lists.
The open requirements themselves, embedded when the request carries expand[]=requirements - the list behind open_requirements. Resolved history stays on GET /companies/{id}/requirements.
The company's owners. Collect a missing identity document by attaching an uploaded file (passport) or by creating a verification session for the owner.
The management roster - everyone who holds a position. A director is an officer holding the director role. There is no separate directors list. Includes officers who are not owners. Set at company creation, and kept current as the roster changes.
LLC only - whether the company is member-managed or manager-managed.
member_managed, manager_managed Whether the officer roster is final. When true with an empty officers, the company has no officers by design, not a roster still being collected.
Your own key-value pairs, stored and returned verbatim. Clemta never reads them.