GVRN OneShot API

Raise a corporate-secretarial request

Everything a founder can ask GVRN for once the company exists: a copy of a document, a change to the company's details, shareholders or directors, a resolution, a statutory filing, a tax registration, or anything else. Each one opens a ticket on GVRN's corporate-secretarial queue carrying the subject, the founder's own words and whatever the partner's form collected.

kind comes from the catalogue's requestKinds, whose suggestedFields say what that kind's form should collect into payload — advisory, never validated, since the partner owns its UI.

Files are base64 in the body, at most 5 of them and 10MB decoded across the request — a signed director's consent, the bank's wording for a certified copy. Each file's media type is detected from its bytes rather than taken from the request, so one whose type cannot be determined is refused by name and the whole request fails: a partner told its request was raised would otherwise have no way to tell which files landed. They are stored against the CRM ticket, where the operator working the request already looks; attachmentCount on every read confirms what arrived.

Only on a filed incorporation. A draft's members, entity and company details are all still editable through this API, so there is nothing to ask for until the company is filed.

GVRN does the work in its own systems; this API reports the request's status back and nothing more. A request is not a filing instruction and nothing is charged by raising one.

post/public/one-shot/requests

Request

  • Base URL: https://docs.gvrn.ai (the document declares no server; this is the origin it was published from)
  • URL: https://docs.gvrn.ai/public/one-shot/requests
  • Auth: API key in header x-gvrn-public-api-key

Request body

incorporationIdstring required

The filed incorporation the request is about

kind'DOCUMENT' | 'COMPANY_DETAILS' | 'MEMBER_CHANGE' | 'SHARE_CAPITAL' | 'GOVERNANCE' | 'COMPLIANCE_FILING' | 'TAX' | 'ENTITY_CHANGE' | 'OTHER' required
subjectstring required

One line; becomes the CRM ticket's title

detailsstring

Anything the founder typed in their own words

payloadobject

The answers the partner's form collected, as a flat label → value map, written into the ticket body. At most 30 entries; see the catalogue's suggestedFields for what each kind wants.

Example request

{
  "kind": "DOCUMENT",
  "subject": "Certified copy of the certificate for HSBC",
  "payload": {
    "Document": "Certificate of incorporation",
    "Copy type": "Certified",
    "Needed by": "2026-10-15"
  },
  "attachments": [
    {
      "fileName": "brief.pdf",
      "content": "JVBERi0xLjQKJc..."
    }
  ]
}

Response

Raised

idstring required

The handle for reading or withdrawing it

incorporationIdstring required
companyIdstring

The company the request is about

kind'DOCUMENT' | 'COMPANY_DETAILS' | 'MEMBER_CHANGE' | 'SHARE_CAPITAL' | 'GOVERNANCE' | 'COMPLIANCE_FILING' | 'TAX' | 'ENTITY_CHANGE' | 'OTHER' required
status'OPEN' | 'IN_PROGRESS' | 'RESOLVED' | 'CANCELLED' required

Derived from the CRM ticket behind the request

subjectstring required
detailsstring
payloadobject required

Exactly what was sent, never what an operator has since edited

attachmentCountnumber required

Files stored against the request's ticket

createdAtstring required

ISO 8601

updatedAtstring required

ISO 8601

statusChangedAtstring required

When the ticket last moved; for a RESOLVED request, when it closed

cancelledAtstring

Set when the partner withdrew the request

Example response

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "incorporationId": "123e4567-e89b-12d3-a456-426614174000",
  "companyId": "123e4567-e89b-12d3-a456-426614174000",
  "subject": "Certified copy of the certificate for HSBC",
  "details": "The bank wants a certified copy dated within three months.",
  "createdAt": "2026-09-02T09:12:44.000Z",
  "updatedAt": "2026-09-02T09:12:44.000Z",
  "statusChangedAt": "2026-09-02T09:12:44.000Z"
}

Changes

No recorded changes to this operation across all 1 revision of this API.