Business info

Attach a document to the draft

Finalises an upload session and files the uploaded document against one entry of the draft's document checklist. Requires the business_info:write permission.

POST
https://services.magicdoor.com/companies/company-portal/business-info/{businessInfoId}/documents

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.

Path parameters

businessInfoIdstringrequired

The business legal entity, as a Snowflake id in decimal string form.

example: 1842095537184571392

Body

application/json

obligationKeystringrequired

Which checklist entry the file satisfies — a key from resolvedRequirement.businessDocuments or resolvedRequirement.principalDocuments. 1 to 100 characters.

uploadSessionIdstringrequired

The upload session the file was uploaded through, as a Snowflake id in decimal string form.

principalIdstring

The principal the file belongs to, as a Snowflake id in decimal string form. Required when obligationKey names a principal checklist entry, and must be left out for a business one.

Response

200 · The draft, now including the attached document.

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 · `obligationKey` or `uploadSessionId` is missing or malformed.

401 · The request carried no valid access token.

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

422 · The legal entity has no open draft; the draft is not editable; the upload session could not be finalised; the `obligationKey` is not on the checklist; the entry needs a `principalId` and none was sent; the named principal is not on the draft; the same file is already attached to that entry; or the entry's file limit is already reached.

Attaching a document is the third of three steps. First create an upload session, then upload the file to the endpoint that session returns, then call this endpoint with the session id. The document's description is set from the uploaded file's name.