SignSecureSignSecure Docs
Documents

Create Document

Create a new document. Returns a presigned upload URL for uploading the PDF file. After creating the document, use the returned `uploadUrl` to upload your PDF via a `PUT` request to S3. **File Constraints:** - Only `application/pdf` is supported - Max file size: 10MB

POST
/documents

Create a new document. Returns a presigned upload URL for uploading the PDF file.

After creating the document, use the returned uploadUrl to upload your PDF via a PUT request to S3.

File Constraints:

  • Only application/pdf is supported
  • Max file size: 10MB

Authorization

bearerAuth
AuthorizationBearer <token>

API key as Bearer token. Format: signsecure_xxxxxxxx...

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.signsecure.com/api/v1/documents" \  -H "Content-Type: application/json" \  -d '{    "fileName": "string",    "fileType": "application/pdf",    "fileSize": 0  }'
{
  "id": "string",
  "title": "string",
  "fileName": "string",
  "status": "draft",
  "fileKey": "string",
  "uploadUrl": "string",
  "expiresIn": 3600,
  "createdAt": "2019-08-24T14:15:22Z",
  "recipientsAdded": 0
}

{
  "code": "VALIDATION_ERROR",
  "message": "fileName: Required",
  "requestId": "req_abc123",
  "timestamp": "2026-03-11T10:30:00.000Z",
  "details": {
    "validation": {
      "fieldErrors": {
        "fileName": [
          "Required"
        ]
      },
      "formErrors": [],
      "issues": [
        {
          "path": "fileName",
          "message": "Required",
          "code": "invalid_type"
        }
      ]
    }
  }
}

{
  "code": "UNAUTHORIZED",
  "message": "Invalid or missing API key",
  "requestId": "req_abc123",
  "timestamp": "2026-03-11T10:30:00.000Z"
}

{
  "code": "FORBIDDEN",
  "message": "API key is disabled",
  "requestId": "req_abc123",
  "timestamp": "2026-03-11T10:30:00.000Z"
}

{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "An internal error occurred",
  "requestId": "req_abc123",
  "timestamp": "2026-03-11T10:30:00.000Z"
}