Rekamedika Docs
Upload

upload.commitAbsensi

POST
/trpc/upload.commitAbsensi

Tenant-scoped tRPC mutation upload.commitAbsensi. 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.

mode*string

Value in

  • "masuk"
  • "keluar"
tanggal*string
Match^\d{4}-\d{2}-\d{2}$
jam*string
Match^\d{2}:\d{2}$
key*string
Length1 <= length
status?string
Default"hadir"

Value in

  • "hadir"
  • "terlambat"
  • "alpa"
  • "izin"

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/trpc/upload.commitAbsensi" \  -H "Content-Type: application/json" \  -d '{    "mode": "masuk",    "tanggal": "string",    "jam": "string",    "key": "string"  }'
{  "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?