Business info

Create a business info draft

Starts a first-time draft for a new business legal entity, seeded with its legal name, and allocates the id the entity will keep for good. Requires the business_info:write permission.

POST
https://services.magicdoor.com/companies/company-portal/business-info

Authorization

Authorizationstringrequired
Bearer token — Send your API token in the Authorization header as Bearer <token>. Requests without a valid token are rejected with 401 Unauthorized.

Body

application/json

legalNamestringrequired

Registered legal name of the business. 1 to 150 characters. Leading and trailing spaces are trimmed.

Response

200 · The new draft, with `type` `initial` and `status` `draft`.

businessInfoIdstringrequired

The business legal entity this draft belongs to, as a Snowflake id in decimal string form. Allocated when the draft is created, before anything is approved.

typeenum<string>required

What the draft is doing. initial is a brand new legal entity, update amends an approved one, supplement is a request MagicDoor opened for more information.

initialupdatesupplement
statusenum<string>required

Where the draft sits in review. Editable in draft, waitingForInformation and rejected; pendingReview is with MagicDoor; superseded is closed.

draftpendingReviewwaitingForInformationrejectedsuperseded
legalNamestring

Registered legal name of the business.

legalEntityTypeenum<string>

How the business is incorporated.

soleProprietorshipllcprivateCompanypublicCompanyUnlistedpublicCompanyListedcharitableOrganizationNotForProfitpartnership
einstring

The federal tax identifier, masked: four bullet characters followed by the last four digits, for example ••••4321. The full value is never returned here.

mccCodestring

Merchant category code. Four digits once the draft is ready for approval.

summarystring

Free-text description of what the business does.

businessAddressobject

Registered address of the business.

startDatestring · date

The date the business started trading.

principalsobject[]required

The people behind the business, with their personal identifiers masked.

documentsobject[]required

Files attached to the draft, one entry per file.

resolvedRequirementobject

The document checklist pinned to this draft when it was created. Absent when no checklist resolved.

statusReasonstring

The reason recorded on the most recent workflow change that set the current status — a rejection note, or a request for more information. Absent when that change carried no reason.

400 · `legalName` is missing or longer than 150 characters.

401 · The request carried no valid access token.

403 · The caller is not a property manager, or is missing the `business_info:write` permission.