Skip to main content

Create a Dock

Creates a new dock — an isolated workspace for managing artifacts, recipients, and access policies.
POST /v1/docks

Request Body

ParameterTypeRequiredDescription
namestringRequiredDisplay name for the dock
domainstringOptionalPrimary domain for verification (e.g., acme.com)
customDomainstringOptionalCustom domain for branded portal access
legalNamestringOptionalOfficial business name
businessTypestringOptionalBusiness entity type (e.g., corporation, llc, partnership)
taxIdstringOptionalTax identification number / EIN
registrationNumberstringOptionalBusiness registration number
businessAddressobjectOptionalCompany address (see below)
businessPhonestringOptionalBusiness phone number
businessEmailstringOptionalBusiness email (validated format)
primaryColorstringOptionalHex color for branding (e.g., #0066cc)
secondaryColorstringOptionalHex color for secondary branding
customCssstringOptionalCustom CSS for the recipient portal
businessAddress Object:
FieldTypeDescription
streetstringStreet address
citystringCity
statestringState or province
postalCodestringPostal / ZIP code
countrystringCountry code

Example Request

curl -X POST https://api.docyard.io/v1/docks \
  -H "Authorization: Bearer dk_live_a1b2c3d4..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme Insurance",
    "domain": "acme-insurance.com",
    "legalName": "Acme Insurance Co.",
    "businessType": "corporation",
    "taxId": "12-3456789",
    "businessEmail": "[email protected]",
    "primaryColor": "#003366"
  }'

Response

{
  "id": "dock_01HQ3K...",
  "name": "Acme Insurance",
  "domain": "acme-insurance.com",
  "customDomain": null,
  "status": "ACTIVE",
  "domainVerificationStatus": "UNVERIFIED",
  "kycStatus": "NOT_STARTED",
  "legalName": "Acme Insurance Co.",
  "businessType": "corporation",
  "taxId": "12-3456789",
  "businessEmail": "[email protected]",
  "primaryColor": "#003366",
  "secondaryColor": null,
  "createdAt": "2025-01-15T10:30:00.000Z",
  "updatedAt": "2025-01-15T10:30:00.000Z"
}

Error Handling

StatusCondition
400domain or customDomain is already registered to another dock
400businessEmail is not a valid email format
401Missing or invalid API key
The domain and customDomain fields must be globally unique across all docks. If a domain is already claimed, you must contact support to transfer it.