Files
Upload PDFs, PNGs, and JPEGs to `/files`, then reference them from agreements and themes.
Upload before you attach
Before you can add a file to an agreement or theme, upload it to your archive.
- One place for your files: The archive stores the files you upload, so you can find them again.
- File ID: The upload response includes a file ID. Use that ID when you create or update an agreement or theme.
Lookup keys
Attach a lookup key to a file when you want to find it later without looking up the file ID. That helps once you have a lot of files.
Supported file types:
- PDFs: Required for agreements, either as the main document to be signed, or an attachment.
- PNGs & JPEGs: For logos and icons in themes.
Size limit: 15 MB
Uploads are capped at 15 MB.
Files are immutable
Once uploaded, a file's content cannot be changed. You can still delete the file. Copies already used in an agreement or theme are kept.
What stays fixed
- No edits after upload: You cannot change a file after it has been uploaded. The content stays as it was.
- Same content wherever it is used: An agreement or theme keeps the content from the moment you attached the file.
Cloning on use
- A clone is made: When you use a file in an agreement or theme, we create a clone. The original in your archive stays as it was.
- Deleting the original: Deleting a file from your archive does not affect its clones in agreements or themes.
Multipart uploads
Uploading to /files sends the file as multipart/form-data. That is common in HTTP file transfers, and it can be a bit tricky in server-to-server calls. The format can carry a file together with ordinary fields.
Server-to-server uploads
When uploading from server to server:
- Headers: Set
Content-Typetomultipart/form-data. - Boundary: HTTP libraries usually set the boundary for you. You have to set it yourself if you build the request by hand.
- Binary data: Read the file as binary and send those bytes.
Before you ship
- Use a library:
axiosandnode-fetchboth handle multipart data. - Test the upload: Try it in a test environment before you deploy.
- Stay within the limits: Use a supported format, and keep the file under 15 MB.
If an upload fails and these checks don't explain it, contact support.