Skip to content
Seal
Esc
navigateopen⌘Jpreview

Create a document

Creates a new document in draft status. You must first upload the PDF with the Uploads API to obtain a storage_id.

POST/documents
Authorization
AuthorizationBearer token · headerrequired

Pass your API key as a Bearer token. API keys are scoped to specific operations — configure scopes in your organization's Settings → Developer → API Keys.

Request body
requiredapplication/json
titlestringrequired

Document title displayed to recipients

descriptionstring
storage_idstringrequired

Storage ID returned by the Uploads API

file_sizeintegerrequired

File size in bytes

file_typestring
default: "application/pdf"
page_countinteger

Number of pages in the document

deadlinestring<date-time>

Signing deadline — recipients cannot sign after this date

Responses
200

Document created

idstringrequired
400

Invalid request parameters

typestringrequired

Machine-readable error code

statusintegerrequired

HTTP status code

titlestringrequired

Human-readable error message

detailsobject

Field-level validation errors

401

Missing or invalid API key

typestringrequired

Machine-readable error code

statusintegerrequired

HTTP status code

titlestringrequired

Human-readable error message

detailsobject

Field-level validation errors

Try it
Server
Authorization
Bodyapplication/json
Request
curl -X POST "https://api.seal.nyc/api/v1/documents" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "Service Agreement Q1 2026",
  "storage_id": "kg2a7b3c8d9e0f1a2b3c",
  "file_size": 245760,
  "page_count": 3
}'
Response
{
  "id": "j572a8b1c2d3e4f5a6b7"
}