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
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/pdfis 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"
}