Upload
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.
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
Length
1 <= lengthstatus?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?