GuideLab Docs

Prepare a team chat attachment upload

Lab only, members only. The conversation attachment contract: a one-use staging key and an exact-size, content-type-bound presigned PUT (15 minutes). Team chat makes no thumbnails, so the thumbnail fields are null. Call finalize after the upload.

POST
/team-chat/threads/{threadId}/attachments/presign

Lab only, members only. The conversation attachment contract: a one-use staging key and an exact-size, content-type-bound presigned PUT (15 minutes). Team chat makes no thumbnails, so the thumbnail fields are null. Call finalize after the upload.

Authorization

__Secure-guidelab-prod.session_token<token>

Production session cookie set for the guidelab.co domain by Better Auth

In: cookie

Path Parameters

threadId*string
Length1 <= length <= 200

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/team-chat/threads/string/attachments/presign" \  -H "Content-Type: application/json" \  -d '{    "filename": "string",    "mimeType": "string",    "size": 1  }'
{  "attachmentId": "string",  "uploadUrl": "string",  "uploadContentType": "string",  "thumbnailUploadUrl": "string",  "thumbnailUploadContentType": "string",  "name": "string",  "mimeType": "string",  "size": 0,  "category": "images"}
Empty
Empty
Empty
Empty
Empty