Rekamedika Docs
Upload

upload.presignDokumen

POST
/trpc/upload.presignDokumen

Tenant-scoped tRPC mutation upload.presignDokumen. Requires a verified session cookie or an OAuth Bearer token; OAuth callers additionally need the simrs:write scope. Mutations are RBAC-gated server-side (requireRoles) — a broad scope never widens the user's roles.

Authorization

AuthorizationBearer <token>

OAuth 2.0 / OIDC issued by the API itself (better-auth oidcProvider). Dynamic client registration per RFC 7591 at /api/auth/oauth2/register.

In: header

Scope: simrs:write

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

contentType*string

Value in

  • "image/jpeg"
  • "image/png"
  • "image/webp"
  • "application/pdf"
size*integer
Range0 < value <= 5242880

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/trpc/upload.presignDokumen" \  -H "Content-Type: application/json" \  -d '{    "contentType": "image/jpeg",    "size": 1  }'
{  "result": {    "data": null  }}
{  "error": {    "message": "string",    "code": 0,    "data": {      "code": "string",      "httpStatus": 0,      "path": "string"    }  }}
{  "error": {    "message": "string",    "code": 0,    "data": {      "code": "string",      "httpStatus": 0,      "path": "string"    }  }}
{  "error": {    "message": "string",    "code": 0,    "data": {      "code": "string",      "httpStatus": 0,      "path": "string"    }  }}
{  "error": {    "message": "string",    "code": 0,    "data": {      "code": "string",      "httpStatus": 0,      "path": "string"    }  }}

Is this page helpful?