vetsgpt
signed-url
Get a VetsGPT attachment upload URL
Issues a presigned URL for uploading one file to an existing chat the caller owns or can contribute to. Steps:
- Call this endpoint for each file.
- PUT the raw bytes to chatAttachmentUploadUrl within 24 hours, with the file's real Content-Type (for example image/jpeg or application/pdf).
- Pass the key in imageKeys or pdfKeys on the ask endpoint for the same chat.
VetsGPT can read images, PDFs, plain text, CSV, Word (.docx) and Excel files; other types are skipped without an error. No size limit is enforced on the upload (the web app caps PDFs at 50 MB), and at most 100,000 extracted characters per file are used.
post/workspaces/{workspaceId}/vetsgpt/chats/{chatId}/attachments/upload-url
Request
- Base URLhttps://vetnio.com/api/v2
- URLhttps://vetnio.com/api/v2/workspaces/{workspaceId}/vetsgpt/chats/{chatId}/attachments/upload-url
- AuthHTTP bearer
Path parameters
workspaceIdstring required
Identifier of the workspace (clinic). The caller must be a member, and VetsGPT must be enabled for them in this workspace.
Example:furunculotic-loud-chihuahua
chatIdstring required
Identifier of a VetsGPT chat owned by or explicitly shared with the caller. Unshared chats behave as if they did not exist.
Example:3f9c2a71-5b8e-4d1a-9c47-0e6b2d8f1a53
Request body
Example request
{
"filename": "bella_bloodwork_2026-10-01.pdf"
}Response
A signed upload URL and attachment key.
Example response
{
"chatAttachmentUploadUrl": "https://vetnio-bucket.s3.eu-central-1.amazonaws.com/chats/furunculotic-loud-chihuahua/3f9c2a71-.../attachments/6a1e0f3c-...?X-Amz-Signature=...",
"key": "chats/furunculotic-loud-chihuahua/3f9c2a71-5b8e-4d1a-9c47-0e6b2d8f1a53/attachments/6a1e0f3c-2b9d-4c7e-8f5a-1d3b9e7c2a40"
}Changes
No recorded changes to this operation across all 1 revision of this API.