GuideLab Docs

Reserve and sign a patient file transfer

Reserves (practice, sourceRef) with its patient, size and SHA-256 before signing, so a replay reuses the same file; a finalized transfer answers exists. PUT the bytes to uploadUrl with uploadContentType and the declared length, then finalize. Up to 2,147,483,647 bytes.

POST
/smileline/v1/files/presign

Reserves (practice, sourceRef) with its patient, size and SHA-256 before signing, so a replay reuses the same file; a finalized transfer answers exists. PUT the bytes to uploadUrl with uploadContentType and the declared length, then finalize. Up to 2,147,483,647 bytes.

Authorization

smilelineBearer
AuthorizationBearer <token>

Smileline cell credential gl_sl_v1_<cell>_<secret>, one per Smileline cell; accepted only on /smileline/v1. A practice belongs to one cell and is not found from any other.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/smileline/v1/files/presign" \  -H "Content-Type: application/json" \  -d '{    "practiceRef": "string",    "sourceRef": "string",    "patientRef": "string",    "filename": "string",    "size": 1,    "sha256": "string"  }'
{  "status": "pending",  "fileId": "string",  "uploadUrl": "string",  "uploadContentType": "string",  "finalizeToken": "string"}
{  "status": "pending",  "fileId": "string",  "uploadUrl": "string",  "uploadContentType": "string",  "finalizeToken": "string"}
Empty
Empty
Empty
{  "error": "string",  "code": "string"}
Empty