SATUSEHAT Patient
POST /satusehat/patient
SATUSEHAT proxy route (apps/server/src/satusehat/routes-patient.ts). Requires a verified session cookie or OAuth Bearer; OAuth callers need simrs:write. Tenant + roles come from the credential — never from the request. Access tokens for the national SATUSEHAT platform stay server-side.
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.
nik?string
Match
^\d{16}$nikIbu?string
Match
^\d{16}$noKk?string
Length
length <= 32passportNo?string
Length
length <= 32name*string
Length
1 <= length <= 255family?string
Length
length <= 128given?array<string>
gender*string
Value in
- "male"
- "female"
- "unknown"
birthDate*string
Match
^\d{4}-\d{2}-\d{2}$birthPlaceCity?string
Length
length <= 128citizenshipStatus?string
Value in
- "wni"
- "wna"
multipleBirthBoolean?boolean
languageCode?string
Length
length <= 16religionCode?string
Length
length <= 32religionDisplay?string
Length
length <= 64maritalStatusCode?string
Length
length <= 16maritalStatusDisplay?string
Length
length <= 64deceased?boolean
deceasedDateTime?string
contact?array<>
address?
telecom?array<>
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/satusehat/patient" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "gender": "male", "birthDate": "string" }'{}{ "error": "string", "issues": []}{ "error": "string", "code": "string", "upstreamStatus": 0}{ "error": "string", "code": "string", "upstreamStatus": 0}{ "error": "string", "code": "string", "upstreamStatus": 0}Is this page helpful?