POST
/
v1
/
uploads
// POST https://api.signatureapi.com/v1/uploads
// X-API-Key: key_test_...
// binary file data
{
  "id": "upl_7kWstHtxXmje18omrlV6OA",
  "retention": "temporary",
  "url": "https://api.signatureapi.com/v1/uploads/upl_7kWstHtxXmje18omrlV6OA",
  "format": "docx",
  "sha_256": "89c8b8aec98e905a5f7d5f8cd23f6a9138b05f6f1b50f5429509fafe0fe5b86b",
  "size": 2302931,
  "created_at": "2025-12-30T23:59:59.999Z",
  "expires_at": "2025-12-31T23:59:59.999Z"
}
Uploads a file that can be used in other parts of this API. After uploading a file, you can reference it in other parts of the API by using its URL in the url field. For example, to use it as the source of a document, you can do the following:
{
  "documents": [
    {
      "url": "https://api.signatureapi.com/v1/uploads/upl_7kWstHtxXmje18omrlV6OA",
      ...
    }
  ]
}
These files are intended for temporary use and expire within 24 hours. To store files you intend to use for longer timeframes, use the Library section in your Dashboard.
The Create Upload endpoint is the successor to the Create File endpoint. The File resource has been soft-deprecated but remains available for backward compatibility.

Request

Files has to be uploaded as a raw binary file, along with their content type. Here are some examples of how to upload a file to SignatureAPI using different tools and languages:
curl -X POST https://api.signatureapi.com/v1/uploads \
  --data-binary "@/path/to/file.pdf" \
  -H "Content-Type: application/pdf" \
  -H "X-API-Key: key_test_..."

Returns

Returns a 201 Created status code along with an upload object after successful creation, or an error otherwise.
// POST https://api.signatureapi.com/v1/uploads
// X-API-Key: key_test_...
// binary file data
{
  "id": "upl_7kWstHtxXmje18omrlV6OA",
  "retention": "temporary",
  "url": "https://api.signatureapi.com/v1/uploads/upl_7kWstHtxXmje18omrlV6OA",
  "format": "docx",
  "sha_256": "89c8b8aec98e905a5f7d5f8cd23f6a9138b05f6f1b50f5429509fafe0fe5b86b",
  "size": 2302931,
  "created_at": "2025-12-30T23:59:59.999Z",
  "expires_at": "2025-12-31T23:59:59.999Z"
}