Rekamedika Docs
SATUSEHAT Patient

POST /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.

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.

nik?string
Match^\d{16}$
nikIbu?string
Match^\d{16}$
noKk?string
Lengthlength <= 32
passportNo?string
Lengthlength <= 32
name*string
Length1 <= length <= 255
family?string
Lengthlength <= 128
given?array<string>
gender*string

Value in

  • "male"
  • "female"
  • "unknown"
birthDate*string
Match^\d{4}-\d{2}-\d{2}$
birthPlaceCity?string
Lengthlength <= 128
citizenshipStatus?string

Value in

  • "wni"
  • "wna"
multipleBirthBoolean?boolean
languageCode?string
Lengthlength <= 16
religionCode?string
Lengthlength <= 32
religionDisplay?string
Lengthlength <= 64
maritalStatusCode?string
Lengthlength <= 16
maritalStatusDisplay?string
Lengthlength <= 64
deceased?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?