{"info":{"_postman_id":"13f20a0b-9bf3-4c28-870e-bb97d149f666","name":"HBDRP INTEGRATION","description":"<html><head></head><body><h1 id=\"hbdrp-integration-api\">HBDRP Integration API</h1>\n<blockquote>\n<p><strong>Postman collection for all HBDRP Integration API endpoints</strong> — birth &amp; death registration, authentication, status lookups, and real-time callback events for third-party systems.</p>\n</blockquote>\n<hr>\n<h2 id=\"base-url\">Base URL</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Scope</th>\n<th>Base URL</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Integration APIs</strong></td>\n<td><code>https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/</code></td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"how-the-registration-flow-works\">How the Registration Flow Works</h2>\n<p>When a third-party system submits a <strong>birth</strong> or <strong>death</strong> record, a unique <strong>document number</strong> is always generated and returned immediately in the API response — regardless of the record's status. This document number is the record's identifier and is used to track its current state throughout the flow.</p>\n<p>From there, the record moves through <strong>review → verification → registration → approval &amp; numbering → certification</strong> before it is final. At every stage change after submission:</p>\n<ul>\n<li>A <strong>callback event</strong> is sent to your configured <code>callback_url</code></li>\n<li>The current status can always be pulled via the <strong>status lookup endpoint</strong></li>\n</ul>\n<p><strong>Steps 2 through 6 each fire a callback event. Step 1 (Submitted) fires no callback — the document number is returned directly in the API response.</strong></p>\n<p>There are exactly <strong>six</strong> callback events, and no others: <code>MARKED_COMPLETE</code>, <code>VERIFIED</code>, <code>DUPLICATE_REJECTED</code>, <code>PUSHED_TO_REGISTRATION</code>, <code>COMPLETED</code>, <code>CERTIFIED</code>.</p>\n<h3 id=\"the-flow-at-a-glance\">The Flow at a Glance</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Submitted\n   |\n   ▼\nOfficer Review .......... (MARKED_COMPLETE)\n   |\n   ▼\nDuplicate Verification .. (VERIFIED ✔ / DUPLICATE_REJECTED ✗)\n   |\n   ▼\nPushed to Registration .. (PUSHED_TO_REGISTRATION)\n   |\n   ▼\nApproval &amp; Numbering .... (COMPLETED)\n   |\n   ▼\nCertification ........... (CERTIFIED ★ terminal success)\n</code></pre><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Stage</th>\n<th>Callback Event</th>\n<th>Meaning</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1. Submitted</td>\n<td>— none —</td>\n<td>Record received, document number generated and returned in the API response</td>\n</tr>\n<tr>\n<td>2. Officer Review</td>\n<td><code>MARKED_COMPLETE</code></td>\n<td>Officer reviewed the record and moved it to verification</td>\n</tr>\n<tr>\n<td>3. Duplicate Verification</td>\n<td><code>VERIFIED</code> / <code>DUPLICATE_REJECTED</code></td>\n<td>Checked against existing records</td>\n</tr>\n<tr>\n<td>4. Pushed to Registration</td>\n<td><code>PUSHED_TO_REGISTRATION</code></td>\n<td>Moved into the main registration pipeline</td>\n</tr>\n<tr>\n<td>5. Approval &amp; Numbering</td>\n<td><code>COMPLETED</code></td>\n<td>All approval levels passed; registration number (UBNC) generated</td>\n</tr>\n<tr>\n<td>6. Certification</td>\n<td><code>CERTIFIED</code></td>\n<td>Certificate issued — terminal, successful end state</td>\n</tr>\n</tbody>\n</table>\n</div><blockquote>\n<p>⚠️ <strong><code>DUPLICATE_REJECTED</code></strong> ends the flow — the record does <strong>not</strong> continue to registration.</p>\n</blockquote>\n<h3 id=\"completed-vs-certified--important\">COMPLETED vs CERTIFIED — Important</h3>\n<ul>\n<li><strong><code>COMPLETED</code></strong> means the record has passed all approval levels and the registration number / UBNC has been generated. It does <strong>not</strong> mean a certificate has been issued. At this point the certification record exists but is still pending.</li>\n<li><strong><code>CERTIFIED</code></strong> is the terminal success event. It fires later, when the certifying officer formally issues the certificate. Integrators expecting a final \"certificate issued\" signal must listen for <strong><code>CERTIFIED</code></strong>, not <code>COMPLETED</code>.</li>\n<li>Both <code>COMPLETED</code> and <code>CERTIFIED</code> carry <code>registration_no</code>, <code>ubnc</code> and <code>certificate_number</code> — these three fields always hold the <strong>same</strong> value.</li>\n<li><strong><code>APPROVED</code></strong> is <strong>not</strong> a callback event and is never sent to your <code>callback_url</code>. It appears only as a <em>polling stage</em> returned by the status lookup endpoint. Use the <code>COMPLETED</code> callback to be notified of this stage.</li>\n</ul>\n<p>Status can always be checked directly via:</p>\n<ul>\n<li><code>GET /integrations/registrations/birth/{documentNumber}</code></li>\n<li><code>GET /integrations/registrations/death/{documentNumber}</code></li>\n</ul>\n<h3 id=\"callback-delivery-behaviour\">Callback Delivery Behaviour</h3>\n<ul>\n<li>Callbacks are <code>POST</code>ed to the institution's configured <code>callback_url</code>.</li>\n<li>Headers sent with each callback: <code>Content-Type</code>, <code>Accept</code>, <code>X-Event-Type</code>, <code>X-Document-Number</code>, <code>X-Timestamp</code>.</li>\n<li>Failed deliveries retry with exponential backoff: <strong>1 min, 5 min, 15 min, 30 min, 60 min</strong> (5 attempts total). Respond with any <strong>2xx</strong> status to acknowledge.</li>\n</ul>\n<blockquote>\n<p>📁 See the \"Callback Events Documentation\" folder (under <strong>BETA</strong>) for the full flow reference — including the complete event table, callback delivery requirements, and a step-by-step breakdown of each stage.</p>\n</blockquote>\n<hr>\n<h2 id=\"getting-started\">Getting Started</h2>\n<h3 id=\"1-environment-setup\">1. Environment Setup</h3>\n<p>Create a new environment in Postman and add the following variables:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Variable</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>base_url</code></td>\n<td>Your API base URL</td>\n<td><code>https://bdrbeta.npontu.com</code></td>\n</tr>\n<tr>\n<td><code>token</code></td>\n<td>Your API authentication token (for Integration APIs)</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>selected_affiliation</code></td>\n<td>Your selected affiliation</td>\n<td><code>REGISTRY</code> · <code>DISTRICT</code> · <code>REGION</code> · <code>NATIONAL</code></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"2-authentication\">2. Authentication</h3>\n<p><strong>Integration APIs (Third-Party)</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Method</th>\n<th>How it works</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Legacy</strong></td>\n<td>Send a long-lived <code>api_token</code> in the <code>Token</code> or <code>Authorization: Bearer</code> header on <strong>every</strong> request.</td>\n</tr>\n<tr>\n<td><strong>Preferred</strong></td>\n<td>Call <code>POST /integrations/auth/token</code> with <code>api_token</code> → receive an <code>access_token</code> (60 min TTL) and a <code>refresh_token</code>. Send <code>Authorization: Bearer</code> on each request. Before 60 min, call <code>POST /integrations/auth/refresh</code> with the <code>refresh_token</code> in the body to get new tokens.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Middleware:</strong> <code>apiConsumer</code> — automatically injects <code>user_id</code> and <code>source_institution_code</code>.</p>\n<h3 id=\"3-headers-configuration\">3. Headers Configuration</h3>\n<p>All requests require:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-http\">Content-Type: application/json\nAccept: application/json\nToken: your-token-here\n# — or —\nAuthorization: Bearer your-token-here\n</code></pre>\n<blockquote>\n<p>For Integration APIs, use the <code>access_token</code> when using the token-refresh flow.</p>\n</blockquote>\n<hr>\n<h2 id=\"request-guidelines\">Request Guidelines</h2>\n<h3 id=\"request-body\">Request Body</h3>\n<ul>\n<li>All request bodies must be in <strong>JSON</strong> format.</li>\n<li>For fields requiring specific values, use the <strong>Utility</strong> endpoint to fetch valid options.</li>\n<li>Required fields are marked with comments.</li>\n</ul>\n<h3 id=\"common-utility-types\">Common Utility Types</h3>\n<p><code>REGION</code> · <code>DISTRICT</code> · <code>REGISTRY</code> · <code>TOWN</code> · <code>NATIONAL_ID</code> · <code>GENDER</code> · <code>MARITAL_STATUS</code> · <code>EDUCATIONAL_LEVEL</code> · <code>RELIGION</code> · <code>NATIONALITY</code> · <code>INFORMANT_TYPE</code> · <code>BIRTH_TYPE</code> · <code>BIRTH_ATTENDANT</code> · <code>PLACE_OF_BIRTH</code></p>\n<h3 id=\"rate-limiting\">Rate Limiting</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>API Type</th>\n<th>Policy</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Integration APIs</strong></td>\n<td>Per-consumer rate limiting (configurable per <code>ApiConsumer</code>)</td>\n</tr>\n<tr>\n<td><strong>Admin APIs</strong></td>\n<td>Standard rate limiting</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"collection-structure\">Collection Structure</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Folder</th>\n<th>Contents</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Auth (Token &amp; Refresh)</strong></td>\n<td>Get Access Token, Refresh Token</td>\n</tr>\n<tr>\n<td><strong>Birth Registrations</strong></td>\n<td>Create / Update / Get Birth Record</td>\n</tr>\n<tr>\n<td><strong>Death Registrations</strong></td>\n<td>Create / Get Death Record</td>\n</tr>\n<tr>\n<td><strong>Callback Events Documentation</strong></td>\n<td>Full flow reference &amp; event payload examples</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"support\">Support</h2>\n<p>For additional support, please contact our support team.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"HBDRP Integration API","slug":"hbdrp-integration-api"}],"owner":"26097188","collectionId":"13f20a0b-9bf3-4c28-870e-bb97d149f666","publishedId":"2sB2qZE2N9","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-05-20T17:13:19.000Z"},"item":[{"name":"BETA","item":[{"name":"Auth (Token & Refresh)","item":[{"name":"Get Access Token","id":"5fc33b1a-d56f-45ab-b029-212993976580","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your-token-here"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/auth/token","description":"<h1 id=\"get-access-token\">Get Access Token</h1>\n<p><code>POST https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/auth/token</code></p>\n<p>Exchanges your long-lived API-consumer token for a short-lived <strong>access token</strong> (and a <strong>refresh token</strong>). Send your API token in the <code>Token</code> header (or <code>Authorization: Bearer &lt;api_token&gt;</code>). The request body is empty (<code>{}</code>).</p>\n<h2 id=\"auth\">Auth</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Required</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Token</code></td>\n<td>Required</td>\n<td>Your long-lived API-consumer token.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response\">Response</h2>\n<p>Returns an <code>access_token</code> and a <code>refresh_token</code>.</p>\n<ul>\n<li><strong><code>access_token</code></strong> expires in <strong>60 minutes</strong> — use it as the <code>Token</code> on registration/utility requests.</li>\n<li><strong><code>refresh_token</code></strong> — pass to the <strong>Refresh Token</strong> request to get a new pair without re-sending your long-lived token.</li>\n</ul>\n<p>Tip: save <code>access_token</code> and <code>refresh_token</code> to your environment after this call so downstream requests pick them up automatically.</p>\n","urlObject":{"path":["api","v1","UserManagementService","integrations","auth","token"],"host":["https://bdrbeta.npontu.com"],"query":[],"variable":[]}},"response":[{"id":"375f143d-0a15-4a7b-881a-3da3f6c097b0","name":"Get Access Token","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Token","value":"your-token-here","description":"Long-lived API consumer token","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"{{base_local_user_url}}/api/v1/UserManagementService/integrations/auth/token"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.25.4"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"PHP/8.2.30"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Tue, 27 Jan 2026 11:56:07 GMT"},{"key":"X-RateLimit-Limit","value":"1500"},{"key":"X-RateLimit-Remaining","value":"1497"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"api_code\": 200,\n    \"api_status\": \"success\",\n    \"api_message\": \"Token issued successfully\",\n    \"api_data\": {\n        \"access_token\": \"9Jry1iJfS63nMNtxmxNOx0qwQ1aAtznw0Yvmta8pS6KnbbURuGxzE6v44Wbjwl7Zef6a1f2ebfa613e5f365050d137f5499\",\n        \"refresh_token\": \"A4Fz1HgCsQu3jHjOGFGEtWkwwruQt5kvq3zV8xRPSh4GSmjr6TBpmTx7FwAWiIbd37bca475b5755c9c813e0f5cdc2ecfc3\",\n        \"token_type\": \"Bearer\",\n        \"expires_in\": 3600\n    }\n}"}],"_postman_id":"5fc33b1a-d56f-45ab-b029-212993976580"},{"name":"Refresh Token","id":"2b18c108-bbf2-485b-9003-15786c6dc5ad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your-token-here"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"refresh_token\": \"{{refresh_token}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/auth/refresh","description":"<h1 id=\"refresh-token\">Refresh Token</h1>\n<p><code>POST https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/auth/refresh</code></p>\n<p>Exchanges a valid <strong>refresh token</strong> for a new <code>access_token</code> / <code>refresh_token</code> pair, so you can keep calling the API after the 60-minute access token expires — without re-sending your long-lived API-consumer token.</p>\n<h2 id=\"request-body\">Request body</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Required</th>\n<th>Type</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>refresh_token</code></td>\n<td>Required</td>\n<td>string</td>\n<td>The <code>refresh_token</code> returned by <strong>Get Access Token</strong> (or the previous refresh).</td>\n</tr>\n</tbody>\n</table>\n</div><pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{ \"refresh_token\": \"{{refresh_token}}\" }\n</code></pre>\n<h2 id=\"auth\">Auth</h2>\n<p>No additional auth header is required — the <code>refresh_token</code> in the body is the credential.</p>\n<h2 id=\"response\">Response</h2>\n<p>Returns a new <code>access_token</code> (valid 60 minutes) and a new <code>refresh_token</code>. Save both to your environment; the previous refresh token should be considered rotated/invalid after use.</p>\n","urlObject":{"path":["api","v1","UserManagementService","integrations","auth","refresh"],"host":["https://bdrbeta.npontu.com"],"query":[],"variable":[]}},"response":[{"id":"9399a244-6adc-4096-afc5-b39552749920","name":"Refresh Token","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"refresh_token\": \"{{refresh_token}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_local_user_url}}/api/v1/UserManagementService/integrations/auth/refresh"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.25.4"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"PHP/8.2.30"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Tue, 27 Jan 2026 11:57:09 GMT"},{"key":"X-RateLimit-Limit","value":"1500"},{"key":"X-RateLimit-Remaining","value":"1499"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"api_code\": 200,\n    \"api_status\": \"success\",\n    \"api_message\": \"Token refreshed successfully\",\n    \"api_data\": {\n        \"access_token\": \"6XrcR96xdhod74UoPdeY5og8LTlbAwqR2uDKoztnbUhsR6SJAmGCz1XcXzXsVGXree6d4d85c48cd925b11ab84bd10c4256\",\n        \"refresh_token\": \"mzUVhf7Czjj9erewKjqBM5tLgHy7qHe3hTl7eRPeZKGccFA9sNisTavXOtd9vrOY3466ec39589cb23a907f9108194fcb5e\",\n        \"token_type\": \"Bearer\",\n        \"expires_in\": 3600\n    }\n}"}],"_postman_id":"2b18c108-bbf2-485b-9003-15786c6dc5ad"}],"id":"6e9744bb-299d-48a6-9db2-1f5e29d50f77","description":"<h2 id=\"authentication-token--refresh\">Authentication (Token &amp; Refresh)</h2>\n<h3 id=\"overview\">Overview</h3>\n<p>Every third-party integration call is authenticated with a short-lived <strong>access token</strong>. You start from a long-lived <strong>API-consumer token</strong> (issued to you during setup) and exchange it for an access/refresh token pair. This folder contains the two endpoints that manage that lifecycle.</p>\n<h3 id=\"the-token-lifecycle\">The token lifecycle</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Step</th>\n<th>Call</th>\n<th>You send</th>\n<th>You get back</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td><strong>Get Access Token</strong></td>\n<td>Long-lived API token (in <code>Token</code> / <code>Authorization: Bearer</code> header)</td>\n<td><code>access_token</code> (valid 60 min) + <code>refresh_token</code></td>\n</tr>\n<tr>\n<td>2</td>\n<td>Use the API</td>\n<td><code>access_token</code> as the <code>Token</code> header on registration/utility calls</td>\n<td>Normal API responses</td>\n</tr>\n<tr>\n<td>3</td>\n<td><strong>Refresh Token</strong> (before the 60 min elapses)</td>\n<td><code>refresh_token</code> in the body</td>\n<td>A new <code>access_token</code> + <code>refresh_token</code> pair</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"recommended-flow\">Recommended flow</h3>\n<ol>\n<li>Call <strong>Get Access Token</strong> once with your long-lived API token. Store the returned <code>access_token</code> and <code>refresh_token</code> (e.g. in your Postman environment).</li>\n<li>Send <code>access_token</code> as the <code>Token</code> header on all registration, utility, and record-lookup requests.</li>\n<li>Before the access token's 60-minute window expires, call <strong>Refresh Token</strong> with the stored <code>refresh_token</code> to rotate to a fresh pair — without re-sending your long-lived token.</li>\n<li>Persist the new tokens each time; a used <code>refresh_token</code> should be treated as rotated/invalid.</li>\n</ol>\n<h3 id=\"notes\">Notes</h3>\n<ul>\n<li>Keep the long-lived API token secret — it is only used against <strong>Get Access Token</strong>, never on data endpoints.</li>\n<li>If a request returns an auth error, refresh the token (or re-run Get Access Token) and retry.</li>\n</ul>\n<h3 id=\"requests-in-this-folder\">Requests in this folder</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Request</th>\n<th>Method &amp; Path</th>\n<th>Purpose</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Get Access Token</td>\n<td><code>POST .../integrations/auth/token</code></td>\n<td>Exchange long-lived token for an access/refresh pair.</td>\n</tr>\n<tr>\n<td>Refresh Token</td>\n<td><code>POST .../integrations/auth/refresh</code></td>\n<td>Rotate an expiring access token using the refresh token.</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"6e9744bb-299d-48a6-9db2-1f5e29d50f77"},{"name":"Birth Registrations","item":[{"name":"Get Birth Record","id":"e5cbfa00-3ce8-450b-8e4d-f7b570493b98","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your-token-here"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/registrations/birth/{{documentNumber}}","description":"<h2 id=\"get-birth-record-status-lookup\">Get Birth Record (Status Lookup)</h2>\n<p><code>GET /integrations/registrations/birth/{documentNumber}</code></p>\n<p>Returns the current state and callback history of a birth record. Use this to poll a record's progress at any time.</p>\n<h3 id=\"process_flowcurrent_stage\">process_flow.current_stage</h3>\n<p>The <code>process_flow.current_stage</code> field returns one of:</p>\n<p><code>SUBMITTED</code>, <code>DRAFT</code>, <code>PENDING_REVIEW</code>, <code>MARKED_COMPLETE</code>, <code>IN_VERIFICATION</code>, <code>VERIFIED</code>, <code>DUPLICATE_REJECTED</code>, <code>IN_REGISTRATION</code>, <code>APPROVED</code>, <code>CERTIFIED</code></p>\n<blockquote>\n<p><strong><code>APPROVED</code> appears here as a polling stage only — it is never delivered as a webhook. Use the <code>COMPLETED</code> callback to be notified of this stage.</strong></p>\n</blockquote>\n<h3 id=\"certification-status\">Certification status</h3>\n<p><code>process_flow.stages.certification.is_certified</code> is <code>false</code> while the record is approved but not yet certified, and becomes <code>true</code> once the certificate has been issued.</p>\n<h3 id=\"callback_history\">callback_history</h3>\n<p>The <code>callback_history</code> array lists every callback event that has been dispatched for the record, each with its <code>event_type</code>, <code>callback_status</code> and <code>timestamp</code>.</p>\n","urlObject":{"path":["api","v1","UserManagementService","integrations","registrations","birth","{{documentNumber}}"],"host":["https://bdrbeta.npontu.com"],"query":[],"variable":[]}},"response":[{"id":"3fb034e2-a2da-435c-b865-1b26aec3e91b","name":"Get Birth Record","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Token","value":"your-token-here","description":"API consumer token","type":"text","disabled":true}],"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/registrations/birth/{{documentNumber}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.20"},{"key":"Date","value":"Tue, 27 Jan 2026 12:29:44 GMT"},{"key":"X-RateLimit-Limit","value":"1500"},{"key":"X-RateLimit-Remaining","value":"1498"},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"sameorigin"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubdomains; preload"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"api_code\": 200,\n    \"api_status\": \"success\",\n    \"api_message\": \"Record fetched successfully\",\n    \"api_data\": {\n        \"document_number\": \"BIRTH-121234-2026-0000003\",\n        \"service_type\": \"EARLY_BIRTH\",\n        \"status\": \"PENDING\",\n        \"type_of_birth\": \"SINGLETON\",\n        \"informant_type\": \"MOTHER\",\n        \"informant_national_id_type\": \"GHANA CARD\",\n        \"informant_national_id_number\": \"34454344\",\n        \"informant_first_name\": \"DAVID\",\n        \"informant_middle_name\": null,\n        \"informant_last_name\": \"GODSON\",\n        \"informant_region_id\": 1,\n        \"informant_district_id\": 1,\n        \"informant_town\": null,\n        \"informant_residential_address\": \"DANSOMAN\",\n        \"informant_phone_number\": \"2335648498309\",\n        \"child_first_name\": \"FRANCIS\",\n        \"child_middle_name\": null,\n        \"child_last_name\": \"BENZOIC\",\n        \"child_gender\": \"MALE\",\n        \"child_dob\": \"2025-06-26\",\n        \"child_national_id_type\": null,\n        \"child_national_id_number\": null,\n        \"child_place_of_birth\": \"HOSPITAL\",\n        \"child_birth_attendant\": \"MID-WIFE\",\n        \"child_birth_institution\": \"LUDRA HOSPITAL\",\n        \"child_region_id\": 1,\n        \"child_district_id\": 1,\n        \"child_town\": \"ASHAIMAN\",\n        \"child_house_no\": \"H/F286\",\n        \"child_street_name\": \"ASHAIMAN NEWTOWN\",\n        \"mother_first_name\": \"ADWOA\",\n        \"mother_middle_name\": null,\n        \"mother_last_name\": \"GODSON\",\n        \"mother_age\": 30,\n        \"mother_marital_status\": \"MARRIED\",\n        \"mother_religion\": \"CHRISTIANITY\",\n        \"mother_occupation\": \"TEACHER\",\n        \"mother_nationality\": \"GHANA\",\n        \"mother_national_id_type\": \"GHANA CARD\",\n        \"mother_national_id_number\": \"32432423433\",\n        \"mother_phone_number\": \"2335456823893\",\n        \"mother_region_id\": 1,\n        \"mother_district_id\": 1,\n        \"mother_town\": \"ACCRA\",\n        \"mother_residence\": \"TAMALE\",\n        \"doubtful_maternity\": false,\n        \"father_first_name\": \"DAVID\",\n        \"father_middle_name\": null,\n        \"father_last_name\": \"GODSON\",\n        \"father_national_id_type\": \"GHANA CARD\",\n        \"father_national_id_number\": \"32432423433\",\n        \"father_phone_number\": \"233548791223\",\n        \"father_region_id\": 1,\n        \"father_district_id\": 1,\n        \"father_town\": \"TEMA\",\n        \"father_residence\": \"TEMA\",\n        \"father_age\": 33,\n        \"father_marital_status\": \"MARRIED\",\n        \"father_religion\": \"CHRISTIANITY\",\n        \"father_occupation\": \"DOCTOR\",\n        \"father_nationality\": \"GHANA\",\n        \"father_children_no\": 5,\n        \"doubtful_paternity\": false,\n        \"evidence_content\": [\n            \"Physics.jpg\"\n        ],\n        \"evidence_url\": [\n            \"https://bdrbeta.npontu.com/api/v1/EarlyBirthService/storage/third-party-integrations/early-birth-evidences/FRANCIS-BENZOIC-19/file/Physics.jpg\"\n        ],\n        \"region_id\": 1,\n        \"district_id\": 1,\n        \"registry_id\": 1,\n        \"created_at\": \"2026-01-27 12:25:01\",\n        \"updated_at\": \"2026-01-27 12:27:42\",\n        \"completed_at\": null\n    }\n}"}],"_postman_id":"e5cbfa00-3ce8-450b-8e4d-f7b570493b98"},{"name":"Create Birth Record","id":"82568c18-b110-4841-b904-222e6d405626","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your-token-here"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Token","value":"your-token-here","description":"<p>API consumer token</p>\n","type":"text"}],"body":{"mode":"raw","raw":"{\n    // status controls validation depth:\n    //   DRAFT    -> saved as-is; return status is PENDING; only status/region_id/district_id enforced; editable via the update endpoint.\n    //   COMPLETE -> full validation of every REQUIRED field below before it moves to verification/approval/certification.\n    // Early vs Late birth is auto-determined from child_dob (under 1yr => Early Birth, 1yr or older => Late Birth). Do not send it.\n    \"status\": \"COMPLETE\", // REQUIRED (DRAFT | COMPLETE)\n\n    \"region_id\": 4348, // utility_type=REGION (REQUIRED for third-party integrations)\n    \"district_id\": 338, // utility_type=DISTRICT (REQUIRED for third-party integrations) -- must belong to region_id\n    \n    \"type_of_birth\": \"SINGLETON\", // utility_type=BIRTH_TYPE // REQUIRED\n\n    \"informant_type\": \"MOTHER\", // utility_type=INFORMANT_TYPE // REQUIRED\n    \"informant_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID // REQUIRED\n    \"informant_national_id_number\": \"34454344\", // REQUIRED (alphanumeric + hyphen, max 20)\n    \"informant_first_name\": \"David\", // REQUIRED\n    \"informant_middle_name\": \"\", // OPTIONAL\n    \"informant_last_name\": \"Godson\", // REQUIRED\n    \"informant_region_id\": 4348, // utility_type=REGION // OPTIONAL (if both region+district sent, district must match region)\n    \"informant_district_id\": 338, // utility_type=DISTRICT // OPTIONAL\n    \"informant_residential_address\": \"Dansoman\", // REQUIRED (max 300)\n    \"informant_phone_number\": \"2335648498309\", // REQUIRED (phone ^(\\+)?[0-9]{10,}$)\n\n    \"child_first_name\": \"Gideon\", // REQUIRED (blacklist-checked)\n    \"child_middle_name\": \"\", // OPTIONAL\n    \"child_last_name\": \"Oduro\", // REQUIRED (blacklist-checked)\n    \"child_gender\": \"MALE\", // utility_type=GENDER // REQUIRED\n    \"child_dob\": \"2026-04-05\", // REQUIRED (date YYYY-MM-DD, not future; determines Early/Late birth)\n    \"child_national_id_type\": \"\", // utility_type=NATIONAL_ID // OPTIONAL\n    \"child_national_id_number\": \"\", // OPTIONAL (alphanumeric + hyphen, max 20)\n    \"child_place_of_birth\": \"HOSPITAL\", // utility_type=PLACE_OF_BIRTH // REQUIRED\n    \"child_birth_attendant\": \"MID-WIFE\", // utility_type=BIRTH_ATTENDANT // REQUIRED\n    \"child_birth_institution\": \"Ludra Hospital\", // REQUIRED (max 500)\n    \"child_town\": \"Ashaiman\", // utility_type=TOWN // REQUIRED\n    \"child_house_no\": \"H/F286\", // OPTIONAL\n    \"child_street_name\": \"Ashaiman Newtown\", // OPTIONAL\n\n    \"mother_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID // CONDITIONAL: required if mother is non-Ghanaian\n    \"mother_national_id_number\": \"32432423433\", // CONDITIONAL: required if mother is non-Ghanaian (alphanumeric + hyphen, max 20)\n    \"mother_phone_number\": \"2335456823893\", // CONDITIONAL: required unless doubtful_maternity=1 (phone ^(\\+)?[0-9]{10,}$)\n    \"mother_first_name\": \"Adwoa\", // CONDITIONAL: required unless doubtful_maternity=1\n    \"mother_middle_name\": \"\", // OPTIONAL\n    \"mother_last_name\": \"Godson\", // CONDITIONAL: required unless doubtful_maternity=1\n    \"mother_age\": 30, // CONDITIONAL: required unless doubtful_maternity=1 (11-70)\n    \"mother_marital_status\": \"MARRIED\", // utility_type=MARITAL_STATUS // CONDITIONAL: required unless doubtful_maternity=1\n    \"mother_previous_birth_no\": 50, // CONDITIONAL: required unless doubtful_maternity=1 (max 50)\n    \"mother_occupation\": \"teacher\", // CONDITIONAL: required unless doubtful_maternity=1\n    \"mother_educational_level\": \"DIPLOMA\", // utility_type=EDUCATIONAL_LEVEL // CONDITIONAL: required unless doubtful_maternity=1\n    \"mother_region_id\": 4348, // utility_type=REGION // OPTIONAL\n    \"mother_district_id\": 338, // utility_type=DISTRICT // OPTIONAL\n    \"mother_town\": \"Accra\", // utility_type=TOWN // OPTIONAL\n    \"mother_religion\": \"CHRISTIAN\", // utility_type=RELIGION // OPTIONAL\n    \"mother_residence\": \"Tamale\", // CONDITIONAL: required unless doubtful_maternity=1\n    \"mother_nationality\": \"GHANA\", // utility_type=NATIONALITY // CONDITIONAL: required unless doubtful_maternity=1\n    \"doubtful_maternity\": 0, // OPTIONAL (0/1; set 1 to skip mother requirements)\n    \n    \"father_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID // CONDITIONAL: required if father is non-Ghanaian\n    \"father_national_id_number\": \"32432423433\", // CONDITIONAL: required if father is non-Ghanaian (alphanumeric + hyphen, max 20)\n    \"father_phone_number\": \"233548791223\", // CONDITIONAL: required unless doubtful_paternity=1 (phone ^(\\+)?[0-9]{10,}$)\n    \"father_first_name\": \"David\", // CONDITIONAL: required unless doubtful_paternity=1\n    \"father_middle_name\": \"\", // OPTIONAL\n    \"father_last_name\": \"Oduro\", // CONDITIONAL: required unless doubtful_paternity=1\n    \"father_age\": 33, // CONDITIONAL: required unless doubtful_paternity=1 (11-80)\n    \"father_marital_status\": \"MARRIED\", // utility_type=MARITAL_STATUS // CONDITIONAL: required unless doubtful_paternity=1\n    \"father_children_no\": 5, // CONDITIONAL: required unless doubtful_paternity=1 (max 50)\n    \"father_occupation\": \"Doctor\", // CONDITIONAL: required unless doubtful_paternity=1\n    \"father_educational_level\": \"DIPLOMA\", // utility_type=EDUCATIONAL_LEVEL // CONDITIONAL: required unless doubtful_paternity=1\n    \"father_region_id\": 4348, // utility_type=REGION // OPTIONAL\n    \"father_district_id\": 338, // utility_type=DISTRICT // OPTIONAL\n    \"father_town\": \"Tema\", // utility_type=TOWN // OPTIONAL\n    \"father_residence\": \"Tema\", // CONDITIONAL: required unless doubtful_paternity=1\n    \"father_nationality\": \"GHANA\", // utility_type=NATIONALITY // CONDITIONAL: required unless doubtful_paternity=1\n    \"father_religion\": \"CHRISTIAN\", // utility_type=RELIGION // CONDITIONAL: required unless doubtful_paternity=1\n    \"doubtful_paternity\": 0, // OPTIONAL (0/1; set 1 to skip father requirements)\n    \n    \"child_file_birth_evidence_name\": [\"Physics.jpg\"], // OPTIONAL (array of file names; PDF/JPG/PNG)\n    \"child_file_birth_evidence_data\": [\"data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QOJaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzEzOCA3OS4xNTk4MjQsIDIwMTYvMDkvMTQtMDE6MDk6MDEgICAgICAgICI=\" // OPTIONAL (array of base64 data: URLs; PDF/JPG/PNG)\n    ]\n    // SYSTEM-SET (do not send): created_by, third_party_user_id, registry_id, document_number\n}\n","options":{"raw":{"language":"json"}}},"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/registrations/birth","description":"<h1 id=\"create-birth-record\">Create Birth Record</h1>\n<p><code>POST https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/registrations/birth</code></p>\n<p>Creates a new birth registration record for third-party integrations. Authenticate with your API-consumer <strong>Token</strong> header.</p>\n<ul>\n<li><strong><code>status</code> = DRAFT</strong> — saved as-is (return status <code>PENDING</code>); only <code>status</code>, <code>region_id</code>, <code>district_id</code> are enforced. Editable later via the update endpoint.</li>\n<li><strong><code>status</code> = COMPLETE</strong> — every <strong>Required</strong> field below is validated before the record moves to verification, approval &amp; certification.</li>\n<li><strong>Early vs Late birth is auto-determined</strong> from <code>child_dob</code> (under 1 year → Early Birth; 1 year or older → Late Birth). Do not send it.</li>\n</ul>\n<p>Field status below matches the third-party field reference exactly (COMPLETE validation).</p>\n<h2 id=\"informant\">Informant</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Req/Cond/Opt</th>\n<th>Type / Constraints</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>informant_type</code></td>\n<td>Required</td>\n<td>coded (<code>INFORMANT_TYPE</code>)</td>\n<td>e.g. <code>MOTHER</code></td>\n</tr>\n<tr>\n<td><code>informant_national_id_type</code></td>\n<td>Required</td>\n<td>coded (<code>NATIONAL_ID</code>)</td>\n<td>e.g. <code>GHANA CARD</code></td>\n</tr>\n<tr>\n<td><code>informant_national_id_number</code></td>\n<td>Required</td>\n<td>alphanumeric + hyphen, max 20</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_first_name</code></td>\n<td>Required</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_last_name</code></td>\n<td>Required</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_residential_address</code></td>\n<td>Required</td>\n<td>string, max 300</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_phone_number</code></td>\n<td>Required</td>\n<td><code>^(\\+)?[0-9]{10,}$</code></td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_middle_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_region_id</code></td>\n<td>Optional</td>\n<td>numeric ID (<code>REGION</code>)</td>\n<td>If sent with district, district must match region</td>\n</tr>\n<tr>\n<td><code>informant_district_id</code></td>\n<td>Optional</td>\n<td>numeric ID (<code>DISTRICT</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_town</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"child\">Child</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Req/Cond/Opt</th>\n<th>Type / Constraints</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>child_first_name</code></td>\n<td>Required</td>\n<td>string</td>\n<td>Blacklist-checked</td>\n</tr>\n<tr>\n<td><code>child_last_name</code></td>\n<td>Required</td>\n<td>string</td>\n<td>Blacklist-checked</td>\n</tr>\n<tr>\n<td><code>child_gender</code></td>\n<td>Required</td>\n<td>coded (<code>GENDER</code>)</td>\n<td>e.g. <code>MALE</code></td>\n</tr>\n<tr>\n<td><code>child_dob</code></td>\n<td>Required</td>\n<td>date <code>YYYY-MM-DD</code>, not future</td>\n<td>Determines Early/Late birth</td>\n</tr>\n<tr>\n<td><code>child_place_of_birth</code></td>\n<td>Required</td>\n<td>coded (<code>PLACE_OF_BIRTH</code>)</td>\n<td>e.g. <code>HOSPITAL</code></td>\n</tr>\n<tr>\n<td><code>child_birth_attendant</code></td>\n<td>Required</td>\n<td>coded (<code>BIRTH_ATTENDANT</code>)</td>\n<td>e.g. <code>MID-WIFE</code></td>\n</tr>\n<tr>\n<td><code>child_birth_institution</code></td>\n<td>Required</td>\n<td>string, max 500</td>\n<td></td>\n</tr>\n<tr>\n<td><code>child_town</code></td>\n<td>Required</td>\n<td>coded (<code>TOWN</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>child_middle_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>child_national_id_type</code></td>\n<td>Optional</td>\n<td>coded (<code>NATIONAL_ID</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>child_national_id_number</code></td>\n<td>Optional</td>\n<td>alphanumeric + hyphen, max 20</td>\n<td></td>\n</tr>\n<tr>\n<td><code>child_house_no</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>child_street_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"mother\">Mother</h2>\n<p>Required <strong>unless</strong> <code>doubtful_maternity=1</code>. If the mother is <strong>non-Ghanaian</strong>, her national-ID fields also become required.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Req/Cond/Opt</th>\n<th>Type / Constraints</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>mother_nationality</code></td>\n<td>Conditional</td>\n<td>coded (<code>NATIONALITY</code>)</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_first_name</code></td>\n<td>Conditional</td>\n<td>string</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_last_name</code></td>\n<td>Conditional</td>\n<td>string</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_age</code></td>\n<td>Conditional</td>\n<td>integer 11–70</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_phone_number</code></td>\n<td>Conditional</td>\n<td><code>^(\\+)?[0-9]{10,}$</code></td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_marital_status</code></td>\n<td>Conditional</td>\n<td>coded (<code>MARITAL_STATUS</code>)</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_previous_birth_no</code></td>\n<td>Conditional</td>\n<td>integer, max 50</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_occupation</code></td>\n<td>Conditional</td>\n<td>string</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_educational_level</code></td>\n<td>Conditional</td>\n<td>coded (<code>EDUCATIONAL_LEVEL</code>)</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_residence</code></td>\n<td>Conditional</td>\n<td>string</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_national_id_type</code></td>\n<td>Conditional</td>\n<td>coded (<code>NATIONAL_ID</code>)</td>\n<td>Required if mother is non-Ghanaian</td>\n</tr>\n<tr>\n<td><code>mother_national_id_number</code></td>\n<td>Conditional</td>\n<td>alphanumeric + hyphen, max 20</td>\n<td>Required if mother is non-Ghanaian</td>\n</tr>\n<tr>\n<td><code>mother_nationality_issued_date</code></td>\n<td>Conditional</td>\n<td>date <code>YYYY-MM-DD</code></td>\n<td>Required if non-Ghanaian; must be before <code>child_dob</code></td>\n</tr>\n<tr>\n<td><code>mother_middle_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mother_religion</code></td>\n<td>Optional</td>\n<td>coded (<code>RELIGION</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mother_region_id</code></td>\n<td>Optional</td>\n<td>numeric ID (<code>REGION</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mother_district_id</code></td>\n<td>Optional</td>\n<td>numeric ID (<code>DISTRICT</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mother_town</code></td>\n<td>Optional</td>\n<td>coded (<code>TOWN</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>doubtful_maternity</code></td>\n<td>Optional</td>\n<td><code>0</code> / <code>1</code></td>\n<td>Set <code>1</code> to skip mother requirements</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"father\">Father</h2>\n<p>Same pattern as mother, keyed on <code>doubtful_paternity</code> and the father's nationality.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Req/Cond/Opt</th>\n<th>Type / Constraints</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>father_nationality</code></td>\n<td>Conditional</td>\n<td>coded (<code>NATIONALITY</code>)</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_first_name</code></td>\n<td>Conditional</td>\n<td>string</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_last_name</code></td>\n<td>Conditional</td>\n<td>string</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_age</code></td>\n<td>Conditional</td>\n<td>integer 11–80</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_phone_number</code></td>\n<td>Conditional</td>\n<td><code>^(\\+)?[0-9]{10,}$</code></td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_marital_status</code></td>\n<td>Conditional</td>\n<td>coded (<code>MARITAL_STATUS</code>)</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_children_no</code></td>\n<td>Conditional</td>\n<td>integer, max 50</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_occupation</code></td>\n<td>Conditional</td>\n<td>string</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_religion</code></td>\n<td>Conditional</td>\n<td>coded (<code>RELIGION</code>)</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_educational_level</code></td>\n<td>Conditional</td>\n<td>coded (<code>EDUCATIONAL_LEVEL</code>)</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_residence</code></td>\n<td>Conditional</td>\n<td>string</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_national_id_type</code></td>\n<td>Conditional</td>\n<td>coded (<code>NATIONAL_ID</code>)</td>\n<td>Required if father is non-Ghanaian</td>\n</tr>\n<tr>\n<td><code>father_national_id_number</code></td>\n<td>Conditional</td>\n<td>alphanumeric + hyphen, max 20</td>\n<td>Required if father is non-Ghanaian</td>\n</tr>\n<tr>\n<td><code>father_nationality_issued_date</code></td>\n<td>Conditional</td>\n<td>date <code>YYYY-MM-DD</code></td>\n<td>Required if non-Ghanaian; must be before <code>child_dob</code></td>\n</tr>\n<tr>\n<td><code>father_middle_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>father_region_id</code></td>\n<td>Optional</td>\n<td>numeric ID (<code>REGION</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>father_district_id</code></td>\n<td>Optional</td>\n<td>numeric ID (<code>DISTRICT</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>father_town</code></td>\n<td>Optional</td>\n<td>coded (<code>TOWN</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>doubtful_paternity</code></td>\n<td>Optional</td>\n<td><code>0</code> / <code>1</code></td>\n<td>Set <code>1</code> to skip father requirements</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"evidence\">Evidence</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Req/Cond/Opt</th>\n<th>Type / Constraints</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>child_file_birth_evidence_name</code></td>\n<td>Optional</td>\n<td>array of strings</td>\n<td>File names</td>\n</tr>\n<tr>\n<td><code>child_file_birth_evidence_data</code></td>\n<td>Optional</td>\n<td>array of base64 <code>data:</code> URLs</td>\n<td>PDF / JPG / PNG (parallel to the name array)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"top-level\">Top-level</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Req/Cond/Opt</th>\n<th>Type / Constraints</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>status</code></td>\n<td>Required</td>\n<td><code>DRAFT</code> | <code>COMPLETE</code></td>\n<td></td>\n</tr>\n<tr>\n<td><code>region_id</code></td>\n<td>Required</td>\n<td>numeric ID (<code>REGION</code>)</td>\n<td>Region of registration</td>\n</tr>\n<tr>\n<td><code>district_id</code></td>\n<td>Required</td>\n<td>numeric ID (<code>DISTRICT</code>)</td>\n<td>Must belong to <code>region_id</code></td>\n</tr>\n<tr>\n<td><code>type_of_birth</code></td>\n<td>Required</td>\n<td>coded (<code>BIRTH_TYPE</code>)</td>\n<td>e.g. <code>SINGLETON</code></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"system-set-fields--do-not-send\">System-set fields — do NOT send</h2>\n<p>These are taken from your token or assigned automatically; sending them has no effect:</p>\n<ul>\n<li><code>created_by</code></li>\n<li><code>third_party_user_id</code></li>\n<li><code>registry_id</code> (auto-assigned round-robin among active registries in the submitted district)</li>\n<li><code>document_number</code> (generated on create; passed back in the URL to update)</li>\n</ul>\n<h2 id=\"coded-lookup-values\">Coded (lookup) values</h2>\n<p>Fields marked <em>coded</em> accept only values that exist in the system's reference tables and are <strong>case/spelling sensitive</strong>. Fetch the allowed values from the utilities endpoint before submitting (by <code>utility_type</code>): <code>REGION</code>, <code>DISTRICT</code>, <code>TOWN</code>, <code>GENDER</code>, <code>INFORMANT_TYPE</code>, <code>NATIONAL_ID</code>, <code>PLACE_OF_BIRTH</code>, <code>BIRTH_ATTENDANT</code>, <code>MARITAL_STATUS</code>, <code>EDUCATIONAL_LEVEL</code>, <code>RELIGION</code>, <code>NATIONALITY</code>, <code>BIRTH_TYPE</code>.</p>\n<ul>\n<li><code>region_id</code> / <code>district_id</code> are numeric IDs; the district must belong to the region.</li>\n<li>Coded name fields (gender, marital status, etc.) are exact names, e.g. <code>\"MALE\"</code>, <code>\"MARRIED\"</code>.</li>\n</ul>\n<h2 id=\"minimal-draft-example\">Minimal DRAFT example</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"DRAFT\",\n  \"region_id\": 1,\n  \"district_id\": 1\n}\n</code></pre>\n","urlObject":{"path":["api","v1","UserManagementService","integrations","registrations","birth"],"host":["https://bdrbeta.npontu.com"],"query":[],"variable":[]}},"response":[{"id":"038712a7-d702-4ffa-b8a0-a4d1bd079a01","name":"Create Birth Record | DRAFT","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Token","value":"your-token-here","description":"API consumer token","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\n    \"status\": \"DRAFT\", // DRAFT | COMPLETE\n    // If status is DRAFT, the return status will be PENDING\n    // If status is COMPLETE, that means it will go through all rigorous & thorough validations for it to be moved to the next stages of record verification, approval & certification\n\n    \"region_id\": 1, // utility_type=REGION (REQUIRED for third-party integrations)\n    \"district_id\": 1, // utility_type=DISTRICT (REQUIRED for third-party integrations)\n    // \"registry_id\": 1, // utility_type=REGISTRY (OPTIONAL for third-party integrations - Hospital/Registry)\n    \"type_of_birth\": \"SINGLETON\", // utility_type=BIRTH_TYPE\n\n    \"informant_type\": \"MOTHER\", // utility_type=INFORMANT_TYPE\n    \"informant_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"informant_national_id_number\": \"34454344\",\n    \"informant_first_name\": \"David\",\n    \"informant_middle_name\": \"\",\n    \"informant_last_name\": \"Godson\",\n    \"informant_region_id\": 1, // utility_type=REGION\n    \"informant_district_id\": 1, // utility_type=DISTRICT\n    \"informant_residential_address\": \"Dansoman\",\n    \"informant_phone_number\": \"2335648498309\",\n\n    \"child_first_name\": \"Francis\",\n    \"child_middle_name\": \"\",\n    \"child_last_name\": \"Benzoic\",\n    \"child_gender\": \"MALE\", // utility_type=GENDER\n    \"child_dob\": \"2025-06-26\",\n    \"child_national_id_type\": \"\", // utility_type=NATIONAL_ID\n    \"child_national_id_number\": \"\",\n    \"child_place_of_birth\": \"HOSPITAL\", // utility_type=PLACE_OF_BIRTH\n    \"child_birth_attendant\": \"MID-WIFE\", // utility_type=BIRTH_ATTENDANT\n    \"child_birth_institution\": \"Ludra Hospital\",\n    \"child_town\": \"Ashaiman\", // utility_type=TOWN\n    \"child_house_no\": \"H/F286\",\n    \"child_street_name\": \"Ashaiman Newtown\",\n\n    \"mother_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"mother_national_id_number\": \"32432423433\",\n    \"mother_phone_number\": \"2335456823893\",\n    \"mother_first_name\": \"Adwoa\",\n    \"mother_middle_name\": \"\",\n    \"mother_last_name\": \"Godson\",\n    \"mother_age\": 30,\n    \"mother_marital_status\": \"MARRIED\", // utility_type=MARITAL_STATUS\n    \"mother_previous_birth_no\": 50,\n    \"mother_occupation\": \"teacher\",\n    \"mother_educational_level\": \"DIPLOMA\", // utility_type=EDUCATIONAL_LEVEL\n    \"mother_region_id\": 1, // utility_type=REGION\n    \"mother_district_id\": 1, // utility_type=DISTRICT\n    \"mother_town\": \"Accra\", // utility_type=TOWN\n    \"mother_religion\": \"CHRISTIANITY\", // utility_type=RELIGION\n    \"mother_residence\": \"Tamale\",\n    \"mother_nationality\": \"GHANA\", // utility_type=NATIONALITY\n    \"doubtful_maternity\": 0,\n\n    \"father_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"father_national_id_number\": \"32432423433\",\n    \"father_phone_number\": \"233548791223\",\n    \"father_first_name\": \"David\",\n    \"father_middle_name\": \"\",\n    \"father_last_name\": \"Godson\",\n    \"father_age\": 33,\n    \"father_marital_status\": \"MARRIED\", // utility_type=MARITAL_STATUS\n    \"father_children_no\": 5,\n    \"father_occupation\": \"Doctor\",\n    \"father_educational_level\": \"DIPLOMA\", // utility_type=EDUCATIONAL_LEVEL\n    \"father_region_id\": 1, // utility_type=REGION\n    \"father_district_id\": 1, // utility_type=DISTRICT\n    \"father_town\": \"Tema\", // utility_type=TOWN\n    \"father_residence\": \"Tema\",\n    \"father_nationality\": \"GHANA\", // utility_type=NATIONALITY\n    \"father_religion\": \"CHRISTIANITY\", // utility_type=RELIGION\n    \"doubtful_paternity\": 0,\n    \n    \"child_file_birth_evidence_name\": [\"Physics.jpg\"],\n    \"child_file_birth_evidence_data\": [\"data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QOJaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzEzOCA3OS4xNTk4MjQsIDIwMTYvMDkvMTQtMDE6MDk6MDEgICAgICAgICI=\"\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/registrations/birth"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.20"},{"key":"Date","value":"Tue, 27 Jan 2026 12:14:39 GMT"},{"key":"X-RateLimit-Limit","value":"1500"},{"key":"X-RateLimit-Remaining","value":"1499"},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"sameorigin"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubdomains; preload"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"api_code\": 200,\n    \"api_status\": \"success\",\n    \"api_message\": \"Your action has been processed.\",\n    \"api_data\": {\n        \"document_number\": \"BIRTH-121234-2026-0000002\",\n        \"service_type\": \"EARLY_BIRTH\",\n        \"status\": \"PENDING\",\n        \"type_of_birth\": \"SINGLETON\",\n        \"informant_type\": \"MOTHER\",\n        \"informant_national_id_type\": \"GHANA CARD\",\n        \"informant_national_id_number\": \"34454344\",\n        \"informant_first_name\": \"DAVID\",\n        \"informant_middle_name\": null,\n        \"informant_last_name\": \"GODSON\",\n        \"informant_region_id\": 1,\n        \"informant_district_id\": 1,\n        \"informant_town\": null,\n        \"informant_residential_address\": \"DANSOMAN\",\n        \"informant_phone_number\": \"2335648498309\",\n        \"child_first_name\": \"FRANCIS\",\n        \"child_middle_name\": null,\n        \"child_last_name\": \"BENZOIC\",\n        \"child_gender\": \"MALE\",\n        \"child_dob\": \"2025-06-26\",\n        \"child_national_id_type\": null,\n        \"child_national_id_number\": null,\n        \"child_place_of_birth\": \"HOSPITAL\",\n        \"child_birth_attendant\": \"MID-WIFE\",\n        \"child_birth_institution\": \"LUDRA HOSPITAL\",\n        \"child_region_id\": 1,\n        \"child_district_id\": 1,\n        \"child_town\": \"ASHAIMAN\",\n        \"child_house_no\": \"H/F286\",\n        \"child_street_name\": \"ASHAIMAN NEWTOWN\",\n        \"mother_first_name\": \"ADWOA\",\n        \"mother_middle_name\": null,\n        \"mother_last_name\": \"GODSON\",\n        \"mother_age\": 30,\n        \"mother_marital_status\": \"MARRIED\",\n        \"mother_religion\": \"CHRISTIANITY\",\n        \"mother_occupation\": \"TEACHER\",\n        \"mother_nationality\": \"GHANA\",\n        \"mother_national_id_type\": \"GHANA CARD\",\n        \"mother_national_id_number\": \"32432423433\",\n        \"mother_phone_number\": \"2335456823893\",\n        \"mother_region_id\": 1,\n        \"mother_district_id\": 1,\n        \"mother_town\": \"ACCRA\",\n        \"mother_residence\": \"TAMALE\",\n        \"doubtful_maternity\": false,\n        \"father_first_name\": \"DAVID\",\n        \"father_middle_name\": null,\n        \"father_last_name\": \"GODSON\",\n        \"father_national_id_type\": \"GHANA CARD\",\n        \"father_national_id_number\": \"32432423433\",\n        \"father_phone_number\": \"233548791223\",\n        \"father_region_id\": 1,\n        \"father_district_id\": 1,\n        \"father_town\": \"TEMA\",\n        \"father_residence\": \"TEMA\",\n        \"father_age\": 33,\n        \"father_marital_status\": \"MARRIED\",\n        \"father_religion\": \"CHRISTIANITY\",\n        \"father_occupation\": \"DOCTOR\",\n        \"father_nationality\": \"GHANA\",\n        \"father_children_no\": 5,\n        \"doubtful_paternity\": false,\n        \"region_id\": 1,\n        \"district_id\": 1,\n        \"registry_id\": 1,\n        \"evidence_content\": [\n            \"Physics.jpg\"\n        ],\n        \"evidence_url\": [\n            \"https://bdrbeta.npontu.com/api/v1/EarlyBirthService/storage/third-party-integrations/early-birth-evidences/FRANCIS-BENZOIC-18/file/Physics.jpg\"\n        ],\n        \"created_at\": \"2026-01-27 12:14:35\",\n        \"updated_at\": \"2026-01-27 12:14:36\",\n        \"completed_at\": null\n    }\n}"},{"id":"b3cae5f9-0a43-4828-86d4-ca405a594174","name":"Create Birth Record | COMPLETED","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Token","value":"your-token-here","description":"API consumer token","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\n    \"status\": \"COMPLETE\", // DRAFT | COMPLETE\n    // If status is DRAFT, the return status will be PENDING\n    // If status is COMPLETE, that means it will go through all rigorous & thorough validations for it to be moved to the next stages of record verification, approval & certification\n\n    \"region_id\": 1, // utility_type=REGION (REQUIRED for third-party integrations)\n    \"district_id\": 1, // utility_type=DISTRICT (REQUIRED for third-party integrations)\n    \n    \"type_of_birth\": \"SINGLETON\", // utility_type=BIRTH_TYPE\n\n    \"informant_type\": \"MOTHER\", // utility_type=INFORMANT_TYPE\n    \"informant_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"informant_national_id_number\": \"34454344\",\n    \"informant_first_name\": \"David\",\n    \"informant_middle_name\": \"\",\n    \"informant_last_name\": \"Godson\",\n    \"informant_region_id\": 1, // utility_type=REGION\n    \"informant_district_id\": 1, // utility_type=DISTRICT\n    \"informant_residential_address\": \"Dansoman\",\n    \"informant_phone_number\": \"2335648498309\",\n\n    \"child_first_name\": \"Francis\",\n    \"child_middle_name\": \"\",\n    \"child_last_name\": \"Benzoic\",\n    \"child_gender\": \"MALE\", // utility_type=GENDER\n    \"child_dob\": \"2025-06-26\",\n    \"child_national_id_type\": \"\", // utility_type=NATIONAL_ID\n    \"child_national_id_number\": \"\",\n    \"child_place_of_birth\": \"HOSPITAL\", // utility_type=PLACE_OF_BIRTH\n    \"child_birth_attendant\": \"MID-WIFE\", // utility_type=BIRTH_ATTENDANT\n    \"child_birth_institution\": \"Ludra Hospital\",\n    \"child_town\": \"Ashaiman\", // utility_type=TOWN\n    \"child_house_no\": \"H/F286\",\n    \"child_street_name\": \"Ashaiman Newtown\",\n\n    \"mother_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"mother_national_id_number\": \"32432423433\",\n    \"mother_phone_number\": \"2335456823893\",\n    \"mother_first_name\": \"Adwoa\",\n    \"mother_middle_name\": \"\",\n    \"mother_last_name\": \"Godson\",\n    \"mother_age\": 30,\n    \"mother_marital_status\": \"MARRIED\", // utility_type=MARITAL_STATUS\n    \"mother_previous_birth_no\": 50,\n    \"mother_occupation\": \"teacher\",\n    \"mother_educational_level\": \"DIPLOMA\", // utility_type=EDUCATIONAL_LEVEL\n    \"mother_region_id\": 1, // utility_type=REGION\n    \"mother_district_id\": 1, // utility_type=DISTRICT\n    \"mother_town\": \"Accra\", // utility_type=TOWN\n    \"mother_religion\": \"CHRISTIANITY\", // utility_type=RELIGION\n    \"mother_residence\": \"Tamale\",\n    \"mother_nationality\": \"GHANA\", // utility_type=NATIONALITY\n    \"doubtful_maternity\": 0,\n\n    \"father_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"father_national_id_number\": \"32432423433\",\n    \"father_phone_number\": \"233548791223\",\n    \"father_first_name\": \"David\",\n    \"father_middle_name\": \"\",\n    \"father_last_name\": \"Godson\",\n    \"father_age\": 33,\n    \"father_marital_status\": \"MARRIED\", // utility_type=MARITAL_STATUS\n    \"father_children_no\": 5,\n    \"father_occupation\": \"Doctor\",\n    \"father_educational_level\": \"DIPLOMA\", // utility_type=EDUCATIONAL_LEVEL\n    \"father_region_id\": 1, // utility_type=REGION\n    \"father_district_id\": 1, // utility_type=DISTRICT\n    \"father_town\": \"Tema\", // utility_type=TOWN\n    \"father_residence\": \"Tema\",\n    \"father_nationality\": \"GHANA\", // utility_type=NATIONALITY\n    \"father_religion\": \"CHRISTIANITY\", // utility_type=RELIGION\n    \"doubtful_paternity\": 0,\n    \n    \"child_file_birth_evidence_name\": [\"Physics.jpg\"],\n    \"child_file_birth_evidence_data\": [\"data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QOJaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzEzOCA3OS4xNTk4MjQsIDIwMTYvMDkvMTQtMDE6MDk6MDEgICAgICAgICI=\"\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/registrations/birth"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.20"},{"key":"Date","value":"Tue, 27 Jan 2026 12:33:48 GMT"},{"key":"X-RateLimit-Limit","value":"1500"},{"key":"X-RateLimit-Remaining","value":"1499"},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"sameorigin"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubdomains; preload"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"api_code\": 200,\n    \"api_status\": \"success\",\n    \"api_message\": \"Your action has been processed.\",\n    \"api_data\": {\n        \"document_number\": \"BIRTH-121234-2026-0000004\",\n        \"service_type\": \"EARLY_BIRTH\",\n        \"status\": \"COMPLETED\",\n        \"type_of_birth\": \"SINGLETON\",\n        \"informant_type\": \"MOTHER\",\n        \"informant_national_id_type\": \"GHANA CARD\",\n        \"informant_national_id_number\": \"34454344\",\n        \"informant_first_name\": \"DAVID\",\n        \"informant_middle_name\": null,\n        \"informant_last_name\": \"GODSON\",\n        \"informant_region_id\": 1,\n        \"informant_district_id\": 1,\n        \"informant_town\": null,\n        \"informant_residential_address\": \"DANSOMAN\",\n        \"informant_phone_number\": \"2335648498309\",\n        \"child_first_name\": \"FRANCIS\",\n        \"child_middle_name\": null,\n        \"child_last_name\": \"BENZOIC\",\n        \"child_gender\": \"MALE\",\n        \"child_dob\": \"2025-06-26\",\n        \"child_national_id_type\": null,\n        \"child_national_id_number\": null,\n        \"child_place_of_birth\": \"HOSPITAL\",\n        \"child_birth_attendant\": \"MID-WIFE\",\n        \"child_birth_institution\": \"LUDRA HOSPITAL\",\n        \"child_region_id\": 1,\n        \"child_district_id\": 1,\n        \"child_town\": \"ASHAIMAN\",\n        \"child_house_no\": null,\n        \"child_street_name\": \"ASHAIMAN NEWTOWN\",\n        \"mother_first_name\": \"ADWOA\",\n        \"mother_middle_name\": null,\n        \"mother_last_name\": \"GODSON\",\n        \"mother_age\": 30,\n        \"mother_marital_status\": \"MARRIED\",\n        \"mother_religion\": \"CHRISTIANITY\",\n        \"mother_occupation\": \"TEACHER\",\n        \"mother_nationality\": \"GHANA\",\n        \"mother_national_id_type\": \"GHANA CARD\",\n        \"mother_national_id_number\": \"32432423433\",\n        \"mother_phone_number\": \"2335456823893\",\n        \"mother_region_id\": 1,\n        \"mother_district_id\": 1,\n        \"mother_town\": \"ACCRA\",\n        \"mother_residence\": \"TAMALE\",\n        \"doubtful_maternity\": false,\n        \"father_first_name\": \"DAVID\",\n        \"father_middle_name\": null,\n        \"father_last_name\": \"GODSON\",\n        \"father_national_id_type\": \"GHANA CARD\",\n        \"father_national_id_number\": \"32432423433\",\n        \"father_phone_number\": \"233548791223\",\n        \"father_region_id\": 1,\n        \"father_district_id\": 1,\n        \"father_town\": \"TEMA\",\n        \"father_residence\": \"TEMA\",\n        \"father_age\": 33,\n        \"father_marital_status\": \"MARRIED\",\n        \"father_religion\": \"CHRISTIANITY\",\n        \"father_occupation\": \"DOCTOR\",\n        \"father_nationality\": \"GHANA\",\n        \"father_children_no\": 5,\n        \"doubtful_paternity\": false,\n        \"region_id\": 1,\n        \"district_id\": 1,\n        \"registry_id\": 1,\n        \"evidence_content\": [\n            \"Physics.jpg\"\n        ],\n        \"evidence_url\": [\n            \"https://bdrbeta.npontu.com/api/v1/EarlyBirthService/storage/third-party-integrations/early-birth-evidences/FRANCIS-BENZOIC-20/file/Physics.jpg\"\n        ],\n        \"created_at\": \"2026-01-27 12:33:46\",\n        \"updated_at\": \"2026-01-27 12:33:47\",\n        \"completed_at\": \"2026-01-27 12:33:47\"\n    }\n}"}],"_postman_id":"82568c18-b110-4841-b904-222e6d405626"},{"name":"Update Birth Record","id":"910e3b8e-6529-462b-b2f0-dc76740d93b0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your-token-here"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"status\": \"COMPLETE\", // DRAFT | COMPLETE\n    // If status is DRAFT, the return status will be PENDING\n    // If status is COMPLETE, that means it will go through all rigorous & thorough validations for it to be moved to the next stages of record verification, approval & certification\n\n    \"region_id\": 1, // utility_type=REGION (REQUIRED for third-party integrations)\n    \"district_id\": 1, // utility_type=DISTRICT (REQUIRED for third-party integrations)\n   \n    \"type_of_birth\": \"SINGLETON\", // utility_type=BIRTH_TYPE\n    \"informant_type\": \"MOTHER\", // utility_type=INFORMANT_TYPE\n    \"informant_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"informant_national_id_number\": \"34454344\",\n    \"informant_first_name\": \"David\",\n    \"informant_middle_name\": \"\",\n    \"informant_last_name\": \"Godson\",\n    \"informant_region_id\": 1, // utility_type=REGION\n    \"informant_district_id\": 1, // utility_type=DISTRICT\n    \"informant_residential_address\": \"Dansoman\",\n    \"informant_phone_number\": \"2335648498309\",\n\n    \"child_first_name\": \"Francis\",\n    \"child_middle_name\": \"\",\n    \"child_last_name\": \"Benzoic\",\n    \"child_gender\": \"MALE\", // utility_type=GENDER\n    \"child_dob\": \"2025-06-26\",\n    \"child_national_id_type\": \"\", // utility_type=NATIONAL_ID\n    \"child_national_id_number\": \"\",\n    \"child_place_of_birth\": \"HOSPITAL\", // utility_type=PLACE_OF_BIRTH\n    \"child_birth_attendant\": \"MID-WIFE\", // utility_type=BIRTH_ATTENDANT\n    \"child_birth_institution\": \"Ludra Hospital\",\n    \"child_town\": \"Ashaiman\", // utility_type=TOWN\n    \"child_house_no\": \"H/F286\",\n    \"child_street_name\": \"Ashaiman Newtown\",\n\n    \"mother_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"mother_national_id_number\": \"32432423433\",\n    \"mother_phone_number\": \"2335456823893\",\n    \"mother_first_name\": \"Adwoa\",\n    \"mother_middle_name\": \"\",\n    \"mother_last_name\": \"Godson\",\n    \"mother_age\": 30,\n    \"mother_marital_status\": \"MARRIED\", // utility_type=MARITAL_STATUS\n    \"mother_previous_birth_no\": 50,\n    \"mother_occupation\": \"teacher\",\n    \"mother_educational_level\": \"DIPLOMA\", // utility_type=EDUCATIONAL_LEVEL\n    \"mother_region_id\": 1, // utility_type=REGION\n    \"mother_district_id\": 1, // utility_type=DISTRICT\n    \"mother_town\": \"Accra\", // utility_type=TOWN\n    \"mother_religion\": \"CHRISTIANITY\", // utility_type=RELIGION\n    \"mother_residence\": \"Tamale\",\n    \"mother_nationality\": \"GHANA\", // utility_type=NATIONALITY\n    \"doubtful_maternity\": 0,\n\n    \"father_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"father_national_id_number\": \"32432423433\",\n    \"father_phone_number\": \"233548791223\",\n    \"father_first_name\": \"David\",\n    \"father_middle_name\": \"\",\n    \"father_last_name\": \"Godson\",\n    \"father_age\": 33,\n    \"father_marital_status\": \"MARRIED\", // utility_type=MARITAL_STATUS\n    \"father_children_no\": 5,\n    \"father_occupation\": \"Doctor\",\n    \"father_educational_level\": \"DIPLOMA\", // utility_type=EDUCATIONAL_LEVEL\n    \"father_region_id\": 1, // utility_type=REGION\n    \"father_district_id\": 1, // utility_type=DISTRICT\n    \"father_town\": \"Tema\", // utility_type=TOWN\n    \"father_residence\": \"Tema\",\n    \"father_nationality\": \"GHANA\", // utility_type=NATIONALITY\n    \"father_religion\": \"CHRISTIANITY\", // utility_type=RELIGION\n    \"doubtful_paternity\": 0,\n    \n    \"child_file_birth_evidence_name\": [\"Physics.jpg\"],\n    \"child_file_birth_evidence_data\": [\"data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QOJaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzEzOCA3OS4xNTk4MjQsIDIwMTYvMDkvMTQtMDE6MDk6MDEgICAgICAgICI=\"\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/registrations/birth/{{documentNumber}}","description":"<h1 id=\"update-birth-record\">Update Birth Record</h1>\n<p><code>POST https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/registrations/birth/{{documentNumber}}</code></p>\n<p>Updates an existing birth registration record identified by <code>documentNumber</code> in the URL. Authenticate with your API-consumer <strong>Token</strong> header. The body uses the same fields and validation rules as <strong>Create Birth Record</strong>; you re-submit the full record for the document you are updating.</p>\n<ul>\n<li><strong><code>status</code> = DRAFT</strong> — saved as-is (return status <code>PENDING</code>); only <code>status</code>, <code>region_id</code>, <code>district_id</code> are enforced. A DRAFT can be updated repeatedly while you gather data.</li>\n<li><strong><code>status</code> = COMPLETE</strong> — every <strong>Required</strong> field below is validated before the record moves to verification, approval &amp; certification. Typical flow: submit DRAFT first, then re-submit the same <code>documentNumber</code> with <code>COMPLETE</code> once everything is filled in.</li>\n<li><strong>Early vs Late birth is auto-determined</strong> from <code>child_dob</code> (under 1 year → Early Birth; 1 year or older → Late Birth). Do not send it.</li>\n<li><code>documentNumber</code> is passed in the <strong>URL path</strong> (not the body) to identify the record.</li>\n</ul>\n<p>Field status below matches the third-party field reference exactly (COMPLETE validation).</p>\n<h2 id=\"informant\">Informant</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Req/Cond/Opt</th>\n<th>Type / Constraints</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>informant_type</code></td>\n<td>Required</td>\n<td>coded (<code>INFORMANT_TYPE</code>)</td>\n<td>e.g. <code>MOTHER</code></td>\n</tr>\n<tr>\n<td><code>informant_national_id_type</code></td>\n<td>Required</td>\n<td>coded (<code>NATIONAL_ID</code>)</td>\n<td>e.g. <code>GHANA CARD</code></td>\n</tr>\n<tr>\n<td><code>informant_national_id_number</code></td>\n<td>Required</td>\n<td>alphanumeric + hyphen, max 20</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_first_name</code></td>\n<td>Required</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_last_name</code></td>\n<td>Required</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_residential_address</code></td>\n<td>Required</td>\n<td>string, max 300</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_phone_number</code></td>\n<td>Required</td>\n<td><code>^(\\+)?[0-9]{10,}$</code></td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_middle_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_region_id</code></td>\n<td>Optional</td>\n<td>numeric ID (<code>REGION</code>)</td>\n<td>If sent with district, district must match region</td>\n</tr>\n<tr>\n<td><code>informant_district_id</code></td>\n<td>Optional</td>\n<td>numeric ID (<code>DISTRICT</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_town</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"child\">Child</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Req/Cond/Opt</th>\n<th>Type / Constraints</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>child_first_name</code></td>\n<td>Required</td>\n<td>string</td>\n<td>Blacklist-checked</td>\n</tr>\n<tr>\n<td><code>child_last_name</code></td>\n<td>Required</td>\n<td>string</td>\n<td>Blacklist-checked</td>\n</tr>\n<tr>\n<td><code>child_gender</code></td>\n<td>Required</td>\n<td>coded (<code>GENDER</code>)</td>\n<td>e.g. <code>MALE</code></td>\n</tr>\n<tr>\n<td><code>child_dob</code></td>\n<td>Required</td>\n<td>date <code>YYYY-MM-DD</code>, not future</td>\n<td>Determines Early/Late birth</td>\n</tr>\n<tr>\n<td><code>child_place_of_birth</code></td>\n<td>Required</td>\n<td>coded (<code>PLACE_OF_BIRTH</code>)</td>\n<td>e.g. <code>HOSPITAL</code></td>\n</tr>\n<tr>\n<td><code>child_birth_attendant</code></td>\n<td>Required</td>\n<td>coded (<code>BIRTH_ATTENDANT</code>)</td>\n<td>e.g. <code>MID-WIFE</code></td>\n</tr>\n<tr>\n<td><code>child_birth_institution</code></td>\n<td>Required</td>\n<td>string, max 500</td>\n<td></td>\n</tr>\n<tr>\n<td><code>child_town</code></td>\n<td>Required</td>\n<td>coded (<code>TOWN</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>child_middle_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>child_national_id_type</code></td>\n<td>Optional</td>\n<td>coded (<code>NATIONAL_ID</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>child_national_id_number</code></td>\n<td>Optional</td>\n<td>alphanumeric + hyphen, max 20</td>\n<td></td>\n</tr>\n<tr>\n<td><code>child_house_no</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>child_street_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"mother\">Mother</h2>\n<p>Required <strong>unless</strong> <code>doubtful_maternity=1</code>. If the mother is <strong>non-Ghanaian</strong>, her national-ID fields also become required.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Req/Cond/Opt</th>\n<th>Type / Constraints</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>mother_nationality</code></td>\n<td>Conditional</td>\n<td>coded (<code>NATIONALITY</code>)</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_first_name</code></td>\n<td>Conditional</td>\n<td>string</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_last_name</code></td>\n<td>Conditional</td>\n<td>string</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_age</code></td>\n<td>Conditional</td>\n<td>integer 11–70</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_phone_number</code></td>\n<td>Conditional</td>\n<td><code>^(\\+)?[0-9]{10,}$</code></td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_marital_status</code></td>\n<td>Conditional</td>\n<td>coded (<code>MARITAL_STATUS</code>)</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_previous_birth_no</code></td>\n<td>Conditional</td>\n<td>integer, max 50</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_occupation</code></td>\n<td>Conditional</td>\n<td>string</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_educational_level</code></td>\n<td>Conditional</td>\n<td>coded (<code>EDUCATIONAL_LEVEL</code>)</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_residence</code></td>\n<td>Conditional</td>\n<td>string</td>\n<td>Required unless <code>doubtful_maternity=1</code></td>\n</tr>\n<tr>\n<td><code>mother_national_id_type</code></td>\n<td>Conditional</td>\n<td>coded (<code>NATIONAL_ID</code>)</td>\n<td>Required if mother is non-Ghanaian</td>\n</tr>\n<tr>\n<td><code>mother_national_id_number</code></td>\n<td>Conditional</td>\n<td>alphanumeric + hyphen, max 20</td>\n<td>Required if mother is non-Ghanaian</td>\n</tr>\n<tr>\n<td><code>mother_nationality_issued_date</code></td>\n<td>Conditional</td>\n<td>date <code>YYYY-MM-DD</code></td>\n<td>Required if non-Ghanaian; must be before <code>child_dob</code></td>\n</tr>\n<tr>\n<td><code>mother_middle_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mother_religion</code></td>\n<td>Optional</td>\n<td>coded (<code>RELIGION</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mother_region_id</code></td>\n<td>Optional</td>\n<td>numeric ID (<code>REGION</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mother_district_id</code></td>\n<td>Optional</td>\n<td>numeric ID (<code>DISTRICT</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mother_town</code></td>\n<td>Optional</td>\n<td>coded (<code>TOWN</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>doubtful_maternity</code></td>\n<td>Optional</td>\n<td><code>0</code> / <code>1</code></td>\n<td>Set <code>1</code> to skip mother requirements</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"father\">Father</h2>\n<p>Same pattern as mother, keyed on <code>doubtful_paternity</code> and the father's nationality.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Req/Cond/Opt</th>\n<th>Type / Constraints</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>father_nationality</code></td>\n<td>Conditional</td>\n<td>coded (<code>NATIONALITY</code>)</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_first_name</code></td>\n<td>Conditional</td>\n<td>string</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_last_name</code></td>\n<td>Conditional</td>\n<td>string</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_age</code></td>\n<td>Conditional</td>\n<td>integer 11–80</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_phone_number</code></td>\n<td>Conditional</td>\n<td><code>^(\\+)?[0-9]{10,}$</code></td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_marital_status</code></td>\n<td>Conditional</td>\n<td>coded (<code>MARITAL_STATUS</code>)</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_children_no</code></td>\n<td>Conditional</td>\n<td>integer, max 50</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_occupation</code></td>\n<td>Conditional</td>\n<td>string</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_religion</code></td>\n<td>Conditional</td>\n<td>coded (<code>RELIGION</code>)</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_educational_level</code></td>\n<td>Conditional</td>\n<td>coded (<code>EDUCATIONAL_LEVEL</code>)</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_residence</code></td>\n<td>Conditional</td>\n<td>string</td>\n<td>Required unless <code>doubtful_paternity=1</code></td>\n</tr>\n<tr>\n<td><code>father_national_id_type</code></td>\n<td>Conditional</td>\n<td>coded (<code>NATIONAL_ID</code>)</td>\n<td>Required if father is non-Ghanaian</td>\n</tr>\n<tr>\n<td><code>father_national_id_number</code></td>\n<td>Conditional</td>\n<td>alphanumeric + hyphen, max 20</td>\n<td>Required if father is non-Ghanaian</td>\n</tr>\n<tr>\n<td><code>father_nationality_issued_date</code></td>\n<td>Conditional</td>\n<td>date <code>YYYY-MM-DD</code></td>\n<td>Required if non-Ghanaian; must be before <code>child_dob</code></td>\n</tr>\n<tr>\n<td><code>father_middle_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>father_region_id</code></td>\n<td>Optional</td>\n<td>numeric ID (<code>REGION</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>father_district_id</code></td>\n<td>Optional</td>\n<td>numeric ID (<code>DISTRICT</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>father_town</code></td>\n<td>Optional</td>\n<td>coded (<code>TOWN</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>doubtful_paternity</code></td>\n<td>Optional</td>\n<td><code>0</code> / <code>1</code></td>\n<td>Set <code>1</code> to skip father requirements</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"evidence\">Evidence</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Req/Cond/Opt</th>\n<th>Type / Constraints</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>child_file_birth_evidence_name</code></td>\n<td>Optional</td>\n<td>array of strings</td>\n<td>File names</td>\n</tr>\n<tr>\n<td><code>child_file_birth_evidence_data</code></td>\n<td>Optional</td>\n<td>array of base64 <code>data:</code> URLs</td>\n<td>PDF / JPG / PNG (parallel to the name array)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"top-level\">Top-level</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Req/Cond/Opt</th>\n<th>Type / Constraints</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>status</code></td>\n<td>Required</td>\n<td><code>DRAFT</code> | <code>COMPLETE</code></td>\n<td></td>\n</tr>\n<tr>\n<td><code>region_id</code></td>\n<td>Required</td>\n<td>numeric ID (<code>REGION</code>)</td>\n<td>Region of registration</td>\n</tr>\n<tr>\n<td><code>district_id</code></td>\n<td>Required</td>\n<td>numeric ID (<code>DISTRICT</code>)</td>\n<td>Must belong to <code>region_id</code></td>\n</tr>\n<tr>\n<td><code>type_of_birth</code></td>\n<td>Required</td>\n<td>coded (<code>BIRTH_TYPE</code>)</td>\n<td>e.g. <code>SINGLETON</code></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"system-set-fields--do-not-send\">System-set fields — do NOT send</h2>\n<p>These are taken from your token or assigned automatically; sending them has no effect:</p>\n<ul>\n<li><code>created_by</code></li>\n<li><code>third_party_user_id</code></li>\n<li><code>registry_id</code> (auto-assigned round-robin among active registries in the submitted district)</li>\n<li><code>document_number</code> (identifies the record; passed in the URL path, not the body)</li>\n</ul>\n<h2 id=\"coded-lookup-values\">Coded (lookup) values</h2>\n<p>Fields marked <em>coded</em> accept only values that exist in the system's reference tables and are <strong>case/spelling sensitive</strong>. Fetch the allowed values from the utilities endpoint before submitting (by <code>utility_type</code>): <code>REGION</code>, <code>DISTRICT</code>, <code>TOWN</code>, <code>GENDER</code>, <code>INFORMANT_TYPE</code>, <code>NATIONAL_ID</code>, <code>PLACE_OF_BIRTH</code>, <code>BIRTH_ATTENDANT</code>, <code>MARITAL_STATUS</code>, <code>EDUCATIONAL_LEVEL</code>, <code>RELIGION</code>, <code>NATIONALITY</code>, <code>BIRTH_TYPE</code>.</p>\n<ul>\n<li><code>region_id</code> / <code>district_id</code> are numeric IDs; the district must belong to the region.</li>\n<li>Coded name fields (gender, marital status, etc.) are exact names, e.g. <code>\"MALE\"</code>, <code>\"MARRIED\"</code>.</li>\n</ul>\n<h2 id=\"minimal-draft-example\">Minimal DRAFT example</h2>\n<p>Send to <code>.../registrations/birth/{{documentNumber}}</code>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"DRAFT\",\n  \"region_id\": 1,\n  \"district_id\": 1\n}\n</code></pre>\n","urlObject":{"path":["api","v1","UserManagementService","integrations","registrations","birth","{{documentNumber}}"],"host":["https://bdrbeta.npontu.com"],"query":[],"variable":[]}},"response":[{"id":"bf55f028-409e-492c-9222-a2c3401fd3c2","name":"Update Birth Record | DRAFT","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Token","value":"your-token-here","description":"API consumer token","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\n    \"status\": \"DRAFT\", // DRAFT | COMPLETE\n    // If status is DRAFT, the return status will be PENDING\n    // If status is COMPLETE, that means it will go through all rigorous & thorough validations for it to be moved to the next stages of record verification, approval & certification\n\n    \"region_id\": 1, // utility_type=REGION (REQUIRED for third-party integrations)\n    \"district_id\": 1, // utility_type=DISTRICT (REQUIRED for third-party integrations)\n    // \"registry_id\": 1, // utility_type=REGISTRY (OPTIONAL for third-party integrations - Hospital/Registry)\n    \"type_of_birth\": \"SINGLETON\", // utility_type=BIRTH_TYPE\n\n    \"informant_type\": \"MOTHER\", // utility_type=INFORMANT_TYPE\n    \"informant_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"informant_national_id_number\": \"34454344\",\n    \"informant_first_name\": \"David\",\n    \"informant_middle_name\": \"\",\n    \"informant_last_name\": \"Godson\",\n    \"informant_region_id\": 1, // utility_type=REGION\n    \"informant_district_id\": 1, // utility_type=DISTRICT\n    \"informant_residential_address\": \"Dansoman\",\n    \"informant_phone_number\": \"2335648498309\",\n\n    \"child_first_name\": \"Francis\",\n    \"child_middle_name\": \"\",\n    \"child_last_name\": \"Benzoic\",\n    \"child_gender\": \"MALE\", // utility_type=GENDER\n    \"child_dob\": \"2025-06-26\",\n    \"child_national_id_type\": \"\", // utility_type=NATIONAL_ID\n    \"child_national_id_number\": \"\",\n    \"child_place_of_birth\": \"HOSPITAL\", // utility_type=PLACE_OF_BIRTH\n    \"child_birth_attendant\": \"MID-WIFE\", // utility_type=BIRTH_ATTENDANT\n    \"child_birth_institution\": \"Ludra Hospital\",\n    \"child_town\": \"Ashaiman\", // utility_type=TOWN\n    \"child_house_no\": \"H/F286\",\n    \"child_street_name\": \"Ashaiman Newtown\",\n\n    \"mother_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"mother_national_id_number\": \"32432423433\",\n    \"mother_phone_number\": \"2335456823893\",\n    \"mother_first_name\": \"Adwoa\",\n    \"mother_middle_name\": \"\",\n    \"mother_last_name\": \"Godson\",\n    \"mother_age\": 30,\n    \"mother_marital_status\": \"MARRIED\", // utility_type=MARITAL_STATUS\n    \"mother_previous_birth_no\": 50,\n    \"mother_occupation\": \"teacher\",\n    \"mother_educational_level\": \"DIPLOMA\", // utility_type=EDUCATIONAL_LEVEL\n    \"mother_region_id\": 1, // utility_type=REGION\n    \"mother_district_id\": 1, // utility_type=DISTRICT\n    \"mother_town\": \"Accra\", // utility_type=TOWN\n    \"mother_religion\": \"CHRISTIANITY\", // utility_type=RELIGION\n    \"mother_residence\": \"Tamale\",\n    \"mother_nationality\": \"GHANA\", // utility_type=NATIONALITY\n    \"doubtful_maternity\": 0,\n\n    \"father_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"father_national_id_number\": \"32432423433\",\n    \"father_phone_number\": \"233548791223\",\n    \"father_first_name\": \"David\",\n    \"father_middle_name\": \"\",\n    \"father_last_name\": \"Godson\",\n    \"father_age\": 33,\n    \"father_marital_status\": \"MARRIED\", // utility_type=MARITAL_STATUS\n    \"father_children_no\": 5,\n    \"father_occupation\": \"Doctor\",\n    \"father_educational_level\": \"DIPLOMA\", // utility_type=EDUCATIONAL_LEVEL\n    \"father_region_id\": 1, // utility_type=REGION\n    \"father_district_id\": 1, // utility_type=DISTRICT\n    \"father_town\": \"Tema\", // utility_type=TOWN\n    \"father_residence\": \"Tema\",\n    \"father_nationality\": \"GHANA\", // utility_type=NATIONALITY\n    \"father_religion\": \"CHRISTIANITY\", // utility_type=RELIGION\n    \"doubtful_paternity\": 0,\n    \n    \"child_file_birth_evidence_name\": [\"Physics.jpg\"],\n    \"child_file_birth_evidence_data\": [\"data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QOJaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzEzOCA3OS4xNTk4MjQsIDIwMTYvMDkvMTQtMDE6MDk6MDEgICAgICAgICI=\"\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/registrations/birth/{{documentNumber}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.20"},{"key":"Date","value":"Tue, 27 Jan 2026 12:27:43 GMT"},{"key":"X-RateLimit-Limit","value":"1500"},{"key":"X-RateLimit-Remaining","value":"1499"},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"sameorigin"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubdomains; preload"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"api_code\": 200,\n    \"api_status\": \"success\",\n    \"api_message\": \"Your action has been processed.\",\n    \"api_data\": {\n        \"document_number\": \"BIRTH-121234-2026-0000003\",\n        \"service_type\": \"EARLY_BIRTH\",\n        \"status\": \"PENDING\",\n        \"type_of_birth\": \"SINGLETON\",\n        \"informant_type\": \"MOTHER\",\n        \"informant_national_id_type\": \"GHANA CARD\",\n        \"informant_national_id_number\": \"34454344\",\n        \"informant_first_name\": \"DAVID\",\n        \"informant_middle_name\": null,\n        \"informant_last_name\": \"GODSON\",\n        \"informant_region_id\": 1,\n        \"informant_district_id\": 1,\n        \"informant_town\": null,\n        \"informant_residential_address\": \"DANSOMAN\",\n        \"informant_phone_number\": \"2335648498309\",\n        \"child_first_name\": \"FRANCIS\",\n        \"child_middle_name\": null,\n        \"child_last_name\": \"BENZOIC\",\n        \"child_gender\": \"MALE\",\n        \"child_dob\": \"2025-06-26\",\n        \"child_national_id_type\": null,\n        \"child_national_id_number\": null,\n        \"child_place_of_birth\": \"HOSPITAL\",\n        \"child_birth_attendant\": \"MID-WIFE\",\n        \"child_birth_institution\": \"LUDRA HOSPITAL\",\n        \"child_region_id\": 1,\n        \"child_district_id\": 1,\n        \"child_town\": \"ASHAIMAN\",\n        \"child_house_no\": \"H/F286\",\n        \"child_street_name\": \"ASHAIMAN NEWTOWN\",\n        \"mother_first_name\": \"ADWOA\",\n        \"mother_middle_name\": null,\n        \"mother_last_name\": \"GODSON\",\n        \"mother_age\": 30,\n        \"mother_marital_status\": \"MARRIED\",\n        \"mother_religion\": \"CHRISTIANITY\",\n        \"mother_occupation\": \"TEACHER\",\n        \"mother_nationality\": \"GHANA\",\n        \"mother_national_id_type\": \"GHANA CARD\",\n        \"mother_national_id_number\": \"32432423433\",\n        \"mother_phone_number\": \"2335456823893\",\n        \"mother_region_id\": 1,\n        \"mother_district_id\": 1,\n        \"mother_town\": \"ACCRA\",\n        \"mother_residence\": \"TAMALE\",\n        \"doubtful_maternity\": false,\n        \"father_first_name\": \"DAVID\",\n        \"father_middle_name\": null,\n        \"father_last_name\": \"GODSON\",\n        \"father_national_id_type\": \"GHANA CARD\",\n        \"father_national_id_number\": \"32432423433\",\n        \"father_phone_number\": \"233548791223\",\n        \"father_region_id\": 1,\n        \"father_district_id\": 1,\n        \"father_town\": \"TEMA\",\n        \"father_residence\": \"TEMA\",\n        \"father_age\": 33,\n        \"father_marital_status\": \"MARRIED\",\n        \"father_religion\": \"CHRISTIANITY\",\n        \"father_occupation\": \"DOCTOR\",\n        \"father_nationality\": \"GHANA\",\n        \"father_children_no\": 5,\n        \"doubtful_paternity\": false,\n        \"region_id\": 1,\n        \"district_id\": 1,\n        \"registry_id\": 1,\n        \"evidence_content\": [\n            \"Physics.jpg\"\n        ],\n        \"evidence_url\": [\n            \"https://bdrbeta.npontu.com/api/v1/EarlyBirthService/storage/third-party-integrations/early-birth-evidences/FRANCIS-BENZOIC-19/file/Physics.jpg\"\n        ],\n        \"created_at\": \"2026-01-27 12:25:01\",\n        \"updated_at\": \"2026-01-27 12:27:42\",\n        \"completed_at\": null\n    }\n}"},{"id":"f66b961b-c617-4626-8e5e-9632b1324c66","name":"Update Birth Record | COMPLETED","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Token","value":"your-token-here","description":"API consumer token","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\n    \"status\": \"COMPLETE\", // DRAFT | COMPLETE\n    // If status is DRAFT, the return status will be PENDING\n    // If status is COMPLETE, that means it will go through all rigorous & thorough validations for it to be moved to the next stages of record verification, approval & certification\n\n    \"region_id\": 1, // utility_type=REGION (REQUIRED for third-party integrations)\n    \"district_id\": 1, // utility_type=DISTRICT (REQUIRED for third-party integrations)\n   \n    \"type_of_birth\": \"SINGLETON\", // utility_type=BIRTH_TYPE\n    \"informant_type\": \"MOTHER\", // utility_type=INFORMANT_TYPE\n    \"informant_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"informant_national_id_number\": \"34454344\",\n    \"informant_first_name\": \"David\",\n    \"informant_middle_name\": \"\",\n    \"informant_last_name\": \"Godson\",\n    \"informant_region_id\": 1, // utility_type=REGION\n    \"informant_district_id\": 1, // utility_type=DISTRICT\n    \"informant_residential_address\": \"Dansoman\",\n    \"informant_phone_number\": \"2335648498309\",\n\n    \"child_first_name\": \"Francis\",\n    \"child_middle_name\": \"\",\n    \"child_last_name\": \"Benzoic\",\n    \"child_gender\": \"MALE\", // utility_type=GENDER\n    \"child_dob\": \"2025-06-26\",\n    \"child_national_id_type\": \"\", // utility_type=NATIONAL_ID\n    \"child_national_id_number\": \"\",\n    \"child_place_of_birth\": \"HOSPITAL\", // utility_type=PLACE_OF_BIRTH\n    \"child_birth_attendant\": \"MID-WIFE\", // utility_type=BIRTH_ATTENDANT\n    \"child_birth_institution\": \"Ludra Hospital\",\n    \"child_town\": \"Ashaiman\", // utility_type=TOWN\n    \"child_house_no\": \"H/F286\",\n    \"child_street_name\": \"Ashaiman Newtown\",\n\n    \"mother_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"mother_national_id_number\": \"32432423433\",\n    \"mother_phone_number\": \"2335456823893\",\n    \"mother_first_name\": \"Adwoa\",\n    \"mother_middle_name\": \"\",\n    \"mother_last_name\": \"Godson\",\n    \"mother_age\": 30,\n    \"mother_marital_status\": \"MARRIED\", // utility_type=MARITAL_STATUS\n    \"mother_previous_birth_no\": 50,\n    \"mother_occupation\": \"teacher\",\n    \"mother_educational_level\": \"DIPLOMA\", // utility_type=EDUCATIONAL_LEVEL\n    \"mother_region_id\": 1, // utility_type=REGION\n    \"mother_district_id\": 1, // utility_type=DISTRICT\n    \"mother_town\": \"Accra\", // utility_type=TOWN\n    \"mother_religion\": \"CHRISTIANITY\", // utility_type=RELIGION\n    \"mother_residence\": \"Tamale\",\n    \"mother_nationality\": \"GHANA\", // utility_type=NATIONALITY\n    \"doubtful_maternity\": 0,\n\n    \"father_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"father_national_id_number\": \"32432423433\",\n    \"father_phone_number\": \"233548791223\",\n    \"father_first_name\": \"David\",\n    \"father_middle_name\": \"\",\n    \"father_last_name\": \"Godson\",\n    \"father_age\": 33,\n    \"father_marital_status\": \"MARRIED\", // utility_type=MARITAL_STATUS\n    \"father_children_no\": 5,\n    \"father_occupation\": \"Doctor\",\n    \"father_educational_level\": \"DIPLOMA\", // utility_type=EDUCATIONAL_LEVEL\n    \"father_region_id\": 1, // utility_type=REGION\n    \"father_district_id\": 1, // utility_type=DISTRICT\n    \"father_town\": \"Tema\", // utility_type=TOWN\n    \"father_residence\": \"Tema\",\n    \"father_nationality\": \"GHANA\", // utility_type=NATIONALITY\n    \"father_religion\": \"CHRISTIANITY\", // utility_type=RELIGION\n    \"doubtful_paternity\": 0,\n    \n    \"child_file_birth_evidence_name\": [\"Physics.jpg\"],\n    \"child_file_birth_evidence_data\": [\"data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QOJaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzEzOCA3OS4xNTk4MjQsIDIwMTYvMDkvMTQtMDE6MDk6MDEgICAgICAgICI=\"\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/registrations/birth/{{documentNumber}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.20"},{"key":"Date","value":"Tue, 27 Jan 2026 12:36:01 GMT"},{"key":"X-RateLimit-Limit","value":"1500"},{"key":"X-RateLimit-Remaining","value":"1500"},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"sameorigin"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubdomains; preload"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"api_code\": 200,\n    \"api_status\": \"success\",\n    \"api_message\": \"Your action has been processed.\",\n    \"api_data\": {\n        \"document_number\": \"BIRTH-121234-2026-0000003\",\n        \"service_type\": \"EARLY_BIRTH\",\n        \"status\": \"COMPLETED\",\n        \"type_of_birth\": \"SINGLETON\",\n        \"informant_type\": \"MOTHER\",\n        \"informant_national_id_type\": \"GHANA CARD\",\n        \"informant_national_id_number\": \"34454344\",\n        \"informant_first_name\": \"DAVID\",\n        \"informant_middle_name\": null,\n        \"informant_last_name\": \"GODSON\",\n        \"informant_region_id\": 1,\n        \"informant_district_id\": 1,\n        \"informant_town\": null,\n        \"informant_residential_address\": \"DANSOMAN\",\n        \"informant_phone_number\": \"2335648498309\",\n        \"child_first_name\": \"FRANCIS\",\n        \"child_middle_name\": null,\n        \"child_last_name\": \"BENZOIC\",\n        \"child_gender\": \"MALE\",\n        \"child_dob\": \"2025-06-26\",\n        \"child_national_id_type\": null,\n        \"child_national_id_number\": null,\n        \"child_place_of_birth\": \"HOSPITAL\",\n        \"child_birth_attendant\": \"MID-WIFE\",\n        \"child_birth_institution\": \"LUDRA HOSPITAL\",\n        \"child_region_id\": 1,\n        \"child_district_id\": 1,\n        \"child_town\": \"ASHAIMAN\",\n        \"child_house_no\": \"H/F286\",\n        \"child_street_name\": \"ASHAIMAN NEWTOWN\",\n        \"mother_first_name\": \"ADWOA\",\n        \"mother_middle_name\": null,\n        \"mother_last_name\": \"GODSON\",\n        \"mother_age\": 30,\n        \"mother_marital_status\": \"MARRIED\",\n        \"mother_religion\": \"CHRISTIANITY\",\n        \"mother_occupation\": \"TEACHER\",\n        \"mother_nationality\": \"GHANA\",\n        \"mother_national_id_type\": \"GHANA CARD\",\n        \"mother_national_id_number\": \"32432423433\",\n        \"mother_phone_number\": \"2335456823893\",\n        \"mother_region_id\": 1,\n        \"mother_district_id\": 1,\n        \"mother_town\": \"ACCRA\",\n        \"mother_residence\": \"TAMALE\",\n        \"doubtful_maternity\": false,\n        \"father_first_name\": \"DAVID\",\n        \"father_middle_name\": null,\n        \"father_last_name\": \"GODSON\",\n        \"father_national_id_type\": \"GHANA CARD\",\n        \"father_national_id_number\": \"32432423433\",\n        \"father_phone_number\": \"233548791223\",\n        \"father_region_id\": 1,\n        \"father_district_id\": 1,\n        \"father_town\": \"TEMA\",\n        \"father_residence\": \"TEMA\",\n        \"father_age\": 33,\n        \"father_marital_status\": \"MARRIED\",\n        \"father_religion\": \"CHRISTIANITY\",\n        \"father_occupation\": \"DOCTOR\",\n        \"father_nationality\": \"GHANA\",\n        \"father_children_no\": 5,\n        \"doubtful_paternity\": false,\n        \"region_id\": 1,\n        \"district_id\": 1,\n        \"registry_id\": 1,\n        \"evidence_content\": [\n            \"Physics.jpg\"\n        ],\n        \"evidence_url\": [\n            \"https://bdrbeta.npontu.com/api/v1/EarlyBirthService/storage/third-party-integrations/early-birth-evidences/FRANCIS-BENZOIC-19/file/Physics.jpg\"\n        ],\n        \"created_at\": \"2026-01-27 12:25:01\",\n        \"updated_at\": \"2026-01-27 12:35:59\",\n        \"completed_at\": \"2026-01-27 12:35:59\"\n    }\n}"}],"_postman_id":"910e3b8e-6529-462b-b2f0-dc76740d93b0"}],"id":"3e4ec2ef-0831-4a2c-bca0-418b33947aa3","description":"<h2 id=\"birth-registrations\">Birth Registrations</h2>\n<p>Endpoints for submitting, updating and looking up <strong>birth</strong> records.</p>\n<ul>\n<li><strong>Create Birth Record</strong> — submits a new birth record. A unique <strong>document number</strong> is generated and returned directly in the API response (no callback is fired at submission).</li>\n<li><strong>Update Birth Record</strong> — updates a record that is still in <code>DRAFT</code>/editable state.</li>\n<li><strong>Get Birth Record</strong> — status lookup. Returns the current <code>process_flow.current_stage</code> and the <code>callback_history</code> for the record.</li>\n</ul>\n<p>After submission the record moves through <strong>review → verification → registration → approval &amp; numbering → certification</strong>. Steps 2–6 each fire a callback event (<code>MARKED_COMPLETE</code>, <code>VERIFIED</code> or <code>DUPLICATE_REJECTED</code>, <code>PUSHED_TO_REGISTRATION</code>, <code>COMPLETED</code>, <code>CERTIFIED</code>) to your configured <code>callback_url</code>. See the <strong>Callback Events Documentation</strong> folder for full details.</p>\n","_postman_id":"3e4ec2ef-0831-4a2c-bca0-418b33947aa3"},{"name":"Death Registrations","item":[{"name":"Get Death Record","id":"bbaf2fdf-08f5-4304-86a3-7565c2bb49ce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your-token-here"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/registrations/death/{{documentNumber}}","description":"<h2 id=\"get-death-record-status-lookup\">Get Death Record (Status Lookup)</h2>\n<p><code>GET /integrations/registrations/death/{documentNumber}</code></p>\n<p>Returns the current state and callback history of a death record. Use this to poll a record's progress at any time.</p>\n<h3 id=\"process_flowcurrent_stage\">process_flow.current_stage</h3>\n<p>The <code>process_flow.current_stage</code> field returns one of:</p>\n<p><code>SUBMITTED</code>, <code>DRAFT</code>, <code>PENDING_REVIEW</code>, <code>MARKED_COMPLETE</code>, <code>IN_VERIFICATION</code>, <code>VERIFIED</code>, <code>DUPLICATE_REJECTED</code>, <code>IN_REGISTRATION</code>, <code>APPROVED</code>, <code>CERTIFIED</code></p>\n<blockquote>\n<p><strong><code>APPROVED</code> appears here as a polling stage only — it is never delivered as a webhook. Use the <code>COMPLETED</code> callback to be notified of this stage.</strong></p>\n</blockquote>\n<h3 id=\"certification-status\">Certification status</h3>\n<p><code>process_flow.stages.certification.is_certified</code> is <code>false</code> while the record is approved but not yet certified, and becomes <code>true</code> once the certificate has been issued.</p>\n<h3 id=\"callback_history\">callback_history</h3>\n<p>The <code>callback_history</code> array lists every callback event that has been dispatched for the record, each with its <code>event_type</code>, <code>callback_status</code> and <code>timestamp</code>.</p>\n","urlObject":{"path":["api","v1","UserManagementService","integrations","registrations","death","{{documentNumber}}"],"host":["https://bdrbeta.npontu.com"],"query":[],"variable":[]}},"response":[{"id":"ce76f51b-32ad-454f-b191-0e213f3990d2","name":"Get Death Record","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Token","value":"your-token-here","description":"API consumer token","type":"text","disabled":true}],"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/registrations/death/{{documentNumber}}"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.20"},{"key":"Date","value":"Tue, 27 Jan 2026 12:32:18 GMT"},{"key":"X-RateLimit-Limit","value":"1500"},{"key":"X-RateLimit-Remaining","value":"1498"},{"key":"X-Frame-Options","value":"sameorigin"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"api_code\": 403,\n    \"api_status\": \"error\",\n    \"api_message\": \"Your institution is not authorized for EARLY_DEATH service. Allowed services: EARLY_BIRTH\",\n    \"api_data\": []\n}"}],"_postman_id":"bbaf2fdf-08f5-4304-86a3-7565c2bb49ce"},{"name":"Create Death Record","id":"f2551fb3-3eee-41c1-b808-d4fb25b25540","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your-token-here"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    // status controls validation depth:\n    //   DRAFT    -> saved as-is; return status is PENDING; only region_id/district_id/deceased_date_of_death enforced; editable via the update endpoint.\n    //   COMPLETE -> at submit only region_id/district_id/deceased_date_of_death are strictly enforced; the remaining REQUIRED fields are enforced during registry review/verification (a COMPLETE record missing them is accepted at submit but rejected later). Treat REQUIRED as needed to actually pass.\n    // Early vs Late death is auto-determined from deceased_date_of_death (<=14 days => Early Death, >14 days => Late Death). service_type is recomputed by the server; safe to omit.\n    \"service_type\": \"LATE_DEATH\", // OPTIONAL (EARLY_DEATH or LATE_DEATH; recomputed by the server)\n    \"region_id\": 1, // utility_type=REGION (REQUIRED for third-party integrations)\n    \"district_id\": 1, // utility_type=DISTRICT (REQUIRED for third-party integrations) -- must belong to region_id\n    // \"registry_id\": 1, // utility_type=REGISTRY // SYSTEM-SET: do not send (auto-assigned round-robin among active registries in the submitted district)\n    \n    \"informant_type\": \"FATHER\", // utility_type=INFORMANT_TYPE // REQUIRED\n    \"informant_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID // OPTIONAL\n    \"informant_national_id_number\": \"34454344\", // OPTIONAL (alphanumeric + hyphen, max 20)\n    \"informant_first_name\": \"David\", // REQUIRED\n    \"informant_middle_name\": \"\", // OPTIONAL\n    \"informant_last_name\": \"Godson\", // REQUIRED\n    \"informant_region_id\": 1, // utility_type=REGION // OPTIONAL\n    \"informant_residential_address\": \"Dansoman\", // OPTIONAL\n    \"informant_phone_number\": \"2335648498309\", // OPTIONAL (phone ^(\\+)?[0-9]{10,}$)\n    \n    \"deceased_first_name\": \"Deigo\", // REQUIRED (blacklist-checked)\n    \"deceased_middle_name\": \"\", // OPTIONAL\n    \"deceased_last_name\": \"Busquet\", // REQUIRED (blacklist-checked)\n    \"deceased_gender\": \"MALE\", // utility_type=GENDER // REQUIRED\n    \"deceased_age\": 49, // REQUIRED (0-200; paired with deceased_age_unit)\n    \"deceased_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID // OPTIONAL\n    \"deceased_national_id_number\": \"0987654321\", // OPTIONAL (alphanumeric + hyphen, max 20)\n    \"deceased_place_of_death\": \"Tema\", // REQUIRED\n    \"deceased_date_of_death\": \"2024-04-30\", // REQUIRED (date YYYY-MM-DD, not future; determines Early/Late death)\n    \"deceased_occupation\": \"Farmer\", // OPTIONAL\n    \"deceased_region_id\": 1, // utility_type=REGION // OPTIONAL\n    \"deceased_district_id\": 4, // utility_type=DISTRICT // OPTIONAL\n    \"deceased_town_id\": 3, // utility_type=TOWN // OPTIONAL\n    \"deceased_house_no\": \"H/F286\", // OPTIONAL\n    \n    \"examiner_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID // OPTIONAL\n    \"examiner_national_id_number\": \"32432423433\", // OPTIONAL (alphanumeric + hyphen, max 20)\n    \"examiner_phone_number\": \"2335456823893\", // OPTIONAL (phone ^(\\+)?[0-9]{10,}$)\n    \"examiner_first_name\": \"Adwoa\", // OPTIONAL\n    \"examiner_middle_name\": \"\", // OPTIONAL\n    \"examiner_last_name\": \"Godson\", // OPTIONAL\n    \"examiner_type\": \"Medical Examiner/Doctor\", // OPTIONAL\n    \"examiner_qualification\": \"Doctor\", // OPTIONAL\n    \"examiner_place_of_operation\": \"Ridge General\", // OPTIONAL\n    \"examiner_cause_of_death\": \"Other Conditions\", // OPTIONAL\n    \"examiner_evidence_of_death_name\": [\"Physics.jpg\"], // OPTIONAL (array of file names; PDF/JPG/PNG)\n    \n    \"death_region_id\": 1, // utility_type=REGION // REQUIRED\n    \"death_district_id\": 4, // utility_type=DISTRICT // REQUIRED\n    \"death_town\": \"Accra\", // utility_type=TOWN // REQUIRED\n    \"death_institution\": \"General Hospital\", // OPTIONAL\n    \"death_house_no\": \"H/FMNO234\", // OPTIONAL\n    \"death_street_name\": \"Kaako Street\", // OPTIONAL\n    \n    \"coroner_name\": \"IGP Florinda Hamza\", // OPTIONAL\n    \"coroner_issued_by\": \"Accra Circuit Court\", // OPTIONAL\n    \"cemetery_name\": \"Awudome\", // REQUIRED\n    \"cemetery_town\": \"Accra Circle\", // REQUIRED\n    \"deceased_age_unit\": \"YEARS\", // REQUIRED (one of HOURS, DAYS, MONTHS, YEARS)\n    \"deceased_marital_status\": \"SINGLE\", // utility_type=MARITAL_STATUS // OPTIONAL\n    \"deceased_educational_level\": \"DIPLOMA\", // utility_type=EDUCATIONAL_LEVEL // OPTIONAL\n    \"deceased_town\": \"Cape Coast\", // OPTIONAL\n    \"deceased_is_buried\": 1, // OPTIONAL\n    \"deceased_nationality\": \"GHANA\", // utility_type=NATIONALITY // REQUIRED (deceased_nationality_issued_date required if deceased is non-Ghanaian)\n    \n    \"examiner_evidence_of_death_data\": [\"data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QOJaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzEzOCA3OS4xNTk4MjQsIDIwMTYvMDkvMTQtMDE6MDk6MDEgICAgICAgICI=\" // OPTIONAL (array of base64 data: URLs; PDF/JPG/PNG)\n    ]\n    // SYSTEM-SET (do not send): created_by, third_party_user_id, registry_id, document_number\n}","options":{"raw":{"language":"text"}}},"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/registrations/death","description":"<h1 id=\"create-death-record\">Create Death Record</h1>\n<p><code>POST https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/registrations/death</code></p>\n<p>Creates a new death registration record for third-party integrations. Authenticate with your API-consumer <strong>Token</strong> header (Bearer).</p>\n<ul>\n<li><strong><code>status</code> = DRAFT</strong> — saved as-is (return status <code>PENDING</code>); only <code>region_id</code>, <code>district_id</code> and <code>deceased_date_of_death</code> are enforced. Editable later via the update endpoint.</li>\n<li><strong><code>status</code> = COMPLETE</strong> — at submit time only <code>region_id</code>, <code>district_id</code> and <code>deceased_date_of_death</code> are strictly enforced. The remaining <strong>Required</strong> fields below are enforced when the record moves through registry review/verification, so a COMPLETE record missing them is accepted at submit but rejected later. Treat the Required list as needed to actually pass.</li>\n<li><strong>Early vs Late death is auto-determined</strong> from <code>deceased_date_of_death</code> (≤14 days → Early Death; &gt;14 days → Late Death). <code>service_type</code> is recomputed by the server and is safe to omit.</li>\n</ul>\n<p>Field status below matches the third-party field reference exactly (COMPLETE, to pass review).</p>\n<h2 id=\"informant\">Informant</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Req/Cond/Opt</th>\n<th>Type / Constraints</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>informant_type</code></td>\n<td>Required</td>\n<td>coded (<code>INFORMANT_TYPE</code>)</td>\n<td>e.g. <code>FATHER</code></td>\n</tr>\n<tr>\n<td><code>informant_first_name</code></td>\n<td>Required</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_last_name</code></td>\n<td>Required</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_national_id_type</code></td>\n<td>Optional</td>\n<td>coded (<code>NATIONAL_ID</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_national_id_number</code></td>\n<td>Optional</td>\n<td>alphanumeric + hyphen, max 20</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_middle_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_region_id</code></td>\n<td>Optional</td>\n<td>numeric ID (<code>REGION</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_residential_address</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>informant_phone_number</code></td>\n<td>Optional</td>\n<td><code>^(\\+)?[0-9]{10,}$</code></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"deceased\">Deceased</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Req/Cond/Opt</th>\n<th>Type / Constraints</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>deceased_first_name</code></td>\n<td>Required</td>\n<td>string</td>\n<td>Blacklist-checked</td>\n</tr>\n<tr>\n<td><code>deceased_last_name</code></td>\n<td>Required</td>\n<td>string</td>\n<td>Blacklist-checked</td>\n</tr>\n<tr>\n<td><code>deceased_gender</code></td>\n<td>Required</td>\n<td>coded (<code>GENDER</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deceased_age</code></td>\n<td>Required</td>\n<td>integer 0–200</td>\n<td>Paired with <code>deceased_age_unit</code></td>\n</tr>\n<tr>\n<td><code>deceased_age_unit</code></td>\n<td>Required</td>\n<td>one of <code>HOURS</code>, <code>DAYS</code>, <code>MONTHS</code>, <code>YEARS</code></td>\n<td></td>\n</tr>\n<tr>\n<td><code>deceased_nationality</code></td>\n<td>Required</td>\n<td>coded (<code>NATIONALITY</code>)</td>\n<td>Country lookup</td>\n</tr>\n<tr>\n<td><code>deceased_nationality_issued_date</code></td>\n<td>Conditional</td>\n<td>date <code>YYYY-MM-DD</code></td>\n<td>Required if deceased is non-Ghanaian</td>\n</tr>\n<tr>\n<td><code>deceased_middle_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deceased_national_id_type</code></td>\n<td>Optional</td>\n<td>coded (<code>NATIONAL_ID</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deceased_national_id_number</code></td>\n<td>Optional</td>\n<td>alphanumeric + hyphen, max 20</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deceased_marital_status</code></td>\n<td>Optional</td>\n<td>coded (<code>MARITAL_STATUS</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deceased_educational_level</code></td>\n<td>Optional</td>\n<td>coded (<code>EDUCATIONAL_LEVEL</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deceased_occupation</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deceased_region_id</code></td>\n<td>Optional</td>\n<td>numeric ID (<code>REGION</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deceased_district_id</code></td>\n<td>Optional</td>\n<td>numeric ID (<code>DISTRICT</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deceased_town</code> / <code>deceased_town_id</code></td>\n<td>Optional</td>\n<td>coded (<code>TOWN</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deceased_house_no</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deceased_street_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"death-event--place\">Death event / place</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Req/Cond/Opt</th>\n<th>Type / Constraints</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>deceased_place_of_death</code></td>\n<td>Required</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>death_region_id</code></td>\n<td>Required</td>\n<td>numeric ID (<code>REGION</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>death_district_id</code></td>\n<td>Required</td>\n<td>numeric ID (<code>DISTRICT</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>death_town</code></td>\n<td>Required</td>\n<td>coded (<code>TOWN</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>cemetery_name</code></td>\n<td>Required</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>cemetery_town</code></td>\n<td>Required</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>death_institution</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>death_house_no</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>death_street_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>coroner_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>coroner_issued_by</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deceased_is_buried</code></td>\n<td>Optional</td>\n<td><code>0</code> / <code>1</code></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"examiner\">Examiner</h2>\n<p>All examiner fields are optional.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Req/Cond/Opt</th>\n<th>Type / Constraints</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>examiner_type</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>examiner_qualification</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>examiner_cause_of_death</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>examiner_first_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>examiner_middle_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>examiner_last_name</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>examiner_national_id_type</code></td>\n<td>Optional</td>\n<td>coded (<code>NATIONAL_ID</code>)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>examiner_national_id_number</code></td>\n<td>Optional</td>\n<td>alphanumeric + hyphen, max 20</td>\n<td></td>\n</tr>\n<tr>\n<td><code>examiner_phone_number</code></td>\n<td>Optional</td>\n<td><code>^(\\+)?[0-9]{10,}$</code></td>\n<td></td>\n</tr>\n<tr>\n<td><code>examiner_place_of_operation</code></td>\n<td>Optional</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td><code>examiner_evidence_of_death_name</code></td>\n<td>Optional</td>\n<td>array of strings</td>\n<td>File names</td>\n</tr>\n<tr>\n<td><code>examiner_evidence_of_death_data</code></td>\n<td>Optional</td>\n<td>array of base64 <code>data:</code> URLs</td>\n<td>PDF / JPG / PNG (parallel to the name array)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"deceaseds-parents-mother--father\">Deceased's parents (Mother / Father)</h2>\n<p>All <code>mother_*</code> and <code>father_*</code> fields are <strong>Optional</strong> unless the deceased is a <strong>minor</strong> (age under the system's minor threshold). In that case <code>mother_first_name</code>/<code>mother_last_name</code> and <code>father_first_name</code>/<code>father_last_name</code> become <strong>Conditional (required)</strong>, and if a parent is <strong>non-Ghanaian</strong> their national-ID fields are required too.</p>\n<h2 id=\"top-level\">Top-level</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Req/Cond/Opt</th>\n<th>Type / Constraints</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>status</code></td>\n<td>Required (COMPLETE) / Optional (submit)</td>\n<td><code>DRAFT</code> | <code>COMPLETE</code></td>\n<td></td>\n</tr>\n<tr>\n<td><code>region_id</code></td>\n<td>Required</td>\n<td>numeric ID (<code>REGION</code>)</td>\n<td>Region of registration</td>\n</tr>\n<tr>\n<td><code>district_id</code></td>\n<td>Required</td>\n<td>numeric ID (<code>DISTRICT</code>)</td>\n<td>Must belong to <code>region_id</code></td>\n</tr>\n<tr>\n<td><code>deceased_date_of_death</code></td>\n<td>Required</td>\n<td>date <code>YYYY-MM-DD</code>, not future</td>\n<td>Determines Early/Late death</td>\n</tr>\n<tr>\n<td><code>service_type</code></td>\n<td>Optional</td>\n<td><code>EARLY_DEATH</code> | <code>LATE_DEATH</code></td>\n<td>Recomputed by the server; safe to omit</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"system-set-fields--do-not-send\">System-set fields — do NOT send</h2>\n<p>These are taken from your token or assigned automatically; sending them has no effect:</p>\n<ul>\n<li><code>created_by</code></li>\n<li><code>third_party_user_id</code></li>\n<li><code>registry_id</code> (auto-assigned round-robin among active registries in the submitted district)</li>\n<li><code>document_number</code> (generated on create; passed back in the URL to update)</li>\n</ul>\n<h2 id=\"coded-lookup-values\">Coded (lookup) values</h2>\n<p>Fields marked <em>coded</em> accept only values that exist in the system's reference tables and are <strong>case/spelling sensitive</strong>. Fetch the allowed values from the utilities endpoint before submitting (by <code>utility_type</code>): <code>REGION</code>, <code>DISTRICT</code>, <code>TOWN</code>, <code>GENDER</code>, <code>INFORMANT_TYPE</code>, <code>NATIONAL_ID</code>, <code>MARITAL_STATUS</code>, <code>EDUCATIONAL_LEVEL</code>, <code>NATIONALITY</code>, and age unit.</p>\n<ul>\n<li><code>region_id</code> / <code>district_id</code> are numeric IDs; the district must belong to the region.</li>\n<li>Coded name fields (gender, marital status, etc.) are exact names, e.g. <code>\"MALE\"</code>, <code>\"SINGLE\"</code>.</li>\n</ul>\n<h2 id=\"minimal-draft-example\">Minimal DRAFT example</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"DRAFT\",\n  \"region_id\": 1,\n  \"district_id\": 1,\n  \"deceased_date_of_death\": \"2026-04-30\"\n}\n</code></pre>\n","urlObject":{"path":["api","v1","UserManagementService","integrations","registrations","death"],"host":["https://bdrbeta.npontu.com"],"query":[],"variable":[]}},"response":[{"id":"d5dd0634-f966-4afe-b834-496e5e0e78e4","name":"Create Death Record","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Token","value":"your-token-here","description":"API consumer token","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\n    \"service_type\": \"LATE_DEATH\", // EARLY_DEATH or LATE_DEATH\n    \"region_id\": 1, // utility_type=REGION (REQUIRED for third-party integrations)\n    \"district_id\": 1, // utility_type=DISTRICT (REQUIRED for third-party integrations)\n    // \"registry_id\": 1, // utility_type=REGISTRY (OPTIONAL for third-party integrations - Hospital/Registry)\n    \n    \"informant_type\": \"FATHER\", // utility_type=INFORMANT_TYPE\n    \"informant_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"informant_national_id_number\": \"34454344\",\n    \"informant_first_name\": \"David\",\n    \"informant_middle_name\": \"\",\n    \"informant_last_name\": \"Godson\",\n    \"informant_region_id\": 1, // utility_type=REGION\n    \"informant_residential_address\": \"Dansoman\",\n    \"informant_phone_number\": \"2335648498309\",\n    \n    \"deceased_first_name\": \"Deigo\",\n    \"deceased_middle_name\": \"\",\n    \"deceased_last_name\": \"Busquet\",\n    \"deceased_gender\": \"MALE\", // utility_type=GENDER\n    \"deceased_age\": 49,\n    \"deceased_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"deceased_national_id_number\": \"0987654321\",\n    \"deceased_place_of_death\": \"Tema\",\n    \"deceased_date_of_death\": \"2024-04-30\",\n    \"deceased_occupation\": \"Farmer\",\n    \"deceased_region_id\": 1, // utility_type=REGION\n    \"deceased_district_id\": 4, // utility_type=DISTRICT\n    \"deceased_town_id\": 3, // utility_type=TOWN\n    \"deceased_house_no\": \"H/F286\",\n    \n    \"examiner_national_id_type\": \"GHANA CARD\", // utility_type=NATIONAL_ID\n    \"examiner_national_id_number\": \"32432423433\",\n    \"examiner_phone_number\": \"2335456823893\",\n    \"examiner_first_name\": \"Adwoa\",\n    \"examiner_middle_name\": \"\",\n    \"examiner_last_name\": \"Godson\",\n    \"examiner_type\": \"Medical Examiner/Doctor\",\n    \"examiner_qualification\": \"Doctor\",\n    \"examiner_place_of_operation\": \"Ridge General\",\n    \"examiner_cause_of_death\": \"Other Conditions\",\n    \"examiner_evidence_of_death_name\": [\"Physics.jpg\"],\n    \n    \"death_region_id\": 1, // utility_type=REGION\n    \"death_district_id\": 4, // utility_type=DISTRICT\n    \"death_town\": \"Accra\", // utility_type=TOWN\n    \"death_institution\": \"General Hospital\",\n    \"death_house_no\": \"H/FMNO234\",\n    \"death_street_name\": \"Kaako Street\",\n    \n    \"coroner_name\": \"IGP Florinda Hamza\",\n    \"coroner_issued_by\": \"Accra Circuit Court\",\n    \"cemetery_name\": \"Awudome\",\n    \"cemetery_town\": \"Accra Circle\",\n    \"deceased_age_unit\": \"YEARS\",\n    \"deceased_marital_status\": \"SINGLE\", // utility_type=MARITAL_STATUS\n    \"deceased_educational_level\": \"DIPLOMA\", // utility_type=EDUCATIONAL_LEVEL\n    \"deceased_town\": \"Cape Coast\",\n    \"deceased_is_buried\": 1,\n    \"deceased_nationality\": \"GHANA\", // utility_type=NATIONALITY\n    \n    \"examiner_evidence_of_death_data\": [\"data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QOJaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzEzOCA3OS4xNTk4MjQsIDIwMTYvMDkvMTQtMDE6MDk6MDEgICAgICAgICI=\"\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/registrations/death"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.20"},{"key":"Date","value":"Tue, 27 Jan 2026 12:31:28 GMT"},{"key":"X-RateLimit-Limit","value":"1500"},{"key":"X-RateLimit-Remaining","value":"1499"},{"key":"X-Frame-Options","value":"sameorigin"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"api_code\": 403,\n    \"api_status\": \"error\",\n    \"api_message\": \"Your institution is not authorized for LATE_DEATH service. Allowed services: EARLY_BIRTH\",\n    \"api_data\": []\n}"}],"_postman_id":"f2551fb3-3eee-41c1-b808-d4fb25b25540"}],"id":"889b803d-0421-4697-bb53-a49c8185759b","description":"<h2 id=\"death-registrations\">Death Registrations</h2>\n<p>Endpoints for submitting and looking up <strong>death</strong> records.</p>\n<ul>\n<li><strong>Create Death Record</strong> — submits a new death record. A unique <strong>document number</strong> is generated and returned directly in the API response (no callback is fired at submission).</li>\n<li><strong>Get Death Record</strong> — status lookup. Returns the current <code>process_flow.current_stage</code> and the <code>callback_history</code> for the record.</li>\n</ul>\n<p>After submission the record moves through <strong>review → verification → registration → approval &amp; numbering → certification</strong>. Steps 2–6 each fire a callback event (<code>MARKED_COMPLETE</code>, <code>VERIFIED</code> or <code>DUPLICATE_REJECTED</code>, <code>PUSHED_TO_REGISTRATION</code>, <code>COMPLETED</code>, <code>CERTIFIED</code>) to your configured <code>callback_url</code>. See the <strong>Callback Events Documentation</strong> folder for full details..</p>\n","_postman_id":"889b803d-0421-4697-bb53-a49c8185759b"},{"name":"Callback Events Documentation","item":[{"name":"Event Types Summary","id":"12f764cb-b587-4887-bc9c-3b1ad875db7b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your-token-here"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/registrations/birth/{{documentNumber}}","description":"<h2 id=\"event-types-summary\">Event Types Summary</h2>\n<p>Use the <strong>Get Birth Record</strong> or <strong>Get Death Record</strong> endpoint to check the current status and callback history of a record.</p>\n<h3 id=\"the-six-callback-events\">The Six Callback Events</h3>\n<p>These are the only event types delivered to your <code>callback_url</code>:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Callback Event</th>\n<th>Status</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>MARKED_COMPLETE</code></td>\n<td>IN_VERIFICATION</td>\n<td>Officer marked record complete, moved to verification</td>\n</tr>\n<tr>\n<td><code>VERIFIED</code></td>\n<td>VERIFIED</td>\n<td>Passed duplicate verification</td>\n</tr>\n<tr>\n<td><code>DUPLICATE_REJECTED</code></td>\n<td>REJECTED</td>\n<td>Record failed duplicate check — flow ends</td>\n</tr>\n<tr>\n<td><code>PUSHED_TO_REGISTRATION</code></td>\n<td>IN_PROGRESS</td>\n<td>Moved to main registration table</td>\n</tr>\n<tr>\n<td><code>COMPLETED</code></td>\n<td>APPROVED</td>\n<td>All approval levels passed; registration number (UBNC) generated</td>\n</tr>\n<tr>\n<td><code>CERTIFIED</code></td>\n<td>CERTIFIED</td>\n<td>Certificate issued (terminal success)</td>\n</tr>\n</tbody>\n</table>\n</div><blockquote>\n<p>⚠️ <strong><code>APPROVED</code> is not a callback event</strong> and is never delivered to your <code>callback_url</code>. It appears only as a <em>polling stage</em> (see below). Use the <code>COMPLETED</code> callback to be notified when a record reaches this stage.</p>\n</blockquote>\n<h3 id=\"completed-vs-certified\">COMPLETED vs CERTIFIED</h3>\n<ul>\n<li><strong><code>COMPLETED</code></strong> = all approvals passed and the registration number / UBNC has been generated. The certificate has <strong>not</strong> yet been issued.</li>\n<li><strong><code>CERTIFIED</code></strong> = the certificate has been formally issued (terminal success).</li>\n<li>Both carry <code>registration_no</code>, <code>ubnc</code> and <code>certificate_number</code>, which always hold the <strong>same</strong> value.</li>\n</ul>\n<h3 id=\"process-flow-stages\">Process Flow Stages</h3>\n<p>The <code>process_flow</code> object in the response shows:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"process_flow\": {\n    \"current_stage\": \"IN_VERIFICATION\",\n    \"stages\": {\n      \"integration\": { },\n      \"verification\": { },\n      \"registration\": { },\n      \"certification\": { \"is_certified\": false }\n    }\n  },\n  \"callback_history\": [\n    {\n      \"event_type\": \"MARKED_COMPLETE\",\n      \"callback_status\": \"SUCCESS\",\n      \"timestamp\": \"2026-01-27T16:48:43+00:00\"\n    }\n  ]\n}\n</code></pre>\n<p><code>process_flow.stages.certification.is_certified</code> is <code>false</code> while the record is approved but not yet certified, and becomes <code>true</code> once the certificate has been issued.</p>\n<h3 id=\"current-stage-values-polling\">Current Stage Values (Polling)</h3>\n<p><code>process_flow.current_stage</code> returns one of:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Stage</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>SUBMITTED</td>\n<td>Record submitted</td>\n</tr>\n<tr>\n<td>DRAFT</td>\n<td>Third-party still editing</td>\n</tr>\n<tr>\n<td>PENDING_REVIEW</td>\n<td>Awaiting officer review</td>\n</tr>\n<tr>\n<td>MARKED_COMPLETE</td>\n<td>Officer marked complete</td>\n</tr>\n<tr>\n<td>IN_VERIFICATION</td>\n<td>Being verified for duplicates</td>\n</tr>\n<tr>\n<td>VERIFIED</td>\n<td>Passed verification</td>\n</tr>\n<tr>\n<td>DUPLICATE_REJECTED</td>\n<td>Failed duplicate check</td>\n</tr>\n<tr>\n<td>IN_REGISTRATION</td>\n<td>In registration workflow</td>\n</tr>\n<tr>\n<td>APPROVED</td>\n<td>All approvals complete (polling stage only — see note below)</td>\n</tr>\n<tr>\n<td>CERTIFIED</td>\n<td>Certificate issued</td>\n</tr>\n</tbody>\n</table>\n</div><blockquote>\n<p><strong><code>APPROVED</code> appears here as a polling stage only — it is never delivered as a webhook. Use the <code>COMPLETED</code> callback to be notified of this stage.</strong></p>\n</blockquote>\n","urlObject":{"path":["api","v1","UserManagementService","integrations","registrations","birth","{{documentNumber}}"],"host":["https://bdrbeta.npontu.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"12f764cb-b587-4887-bc9c-3b1ad875db7b"},{"name":"MARKED_COMPLETE Event","id":"7f9ee758-e33f-4465-8af0-ca12bf3a3fb7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"document_number\": \"BIRTH-121234-2026-0000003\",\n  \"event_type\": \"MARKED_COMPLETE\",\n  \"status\": \"IN_VERIFICATION\",\n  \"description\": \"Record marked complete by officer and moved to verification\",\n  \"record_type\": \"BIRTH\",\n  \"timestamp\": \"2026-01-29T14:00:00+00:00\",\n  \"service_type\": \"EARLY_BIRTH\",\n  \"data\": {\n    \"child_first_name\": \"JANE\",\n    \"child_middle_name\": \"AKOSUA\",\n    \"child_last_name\": \"SMITH\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{your_callback_url}}","description":"<h2 id=\"marked_complete-event\">MARKED_COMPLETE Event</h2>\n<p><strong>Triggered when:</strong> A registry officer marks the record as complete after reviewing all fields.</p>\n<p><strong>What happens next:</strong> Record moves to the verification table for duplicate checking.</p>\n<h3 id=\"payload-fields\">Payload Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>event_type</td>\n<td>string</td>\n<td>Always <code>MARKED_COMPLETE</code></td>\n</tr>\n<tr>\n<td>record_type</td>\n<td>string</td>\n<td><code>BIRTH</code> or <code>DEATH</code></td>\n</tr>\n<tr>\n<td>document_number</td>\n<td>string</td>\n<td>Unique document identifier</td>\n</tr>\n<tr>\n<td>status</td>\n<td>string</td>\n<td><code>IN_VERIFICATION</code></td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>Human-readable description</td>\n</tr>\n<tr>\n<td>timestamp</td>\n<td>string</td>\n<td>ISO 8601 timestamp</td>\n</tr>\n<tr>\n<td>data</td>\n<td>object</td>\n<td>Record summary (name, DOB, service type)</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"expected-response\">Expected Response</h3>\n<p>Return HTTP 200 with any body (body is ignored).</p>\n","urlObject":{"host":["{{your_callback_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"7f9ee758-e33f-4465-8af0-ca12bf3a3fb7"},{"name":"DUPLICATE_REJECTED Event","id":"1e2e4075-a27a-44db-a080-e0563e57f341","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"document_number\": \"BIRTH-121234-2026-0000003\",\n  \"event_type\": \"DUPLICATE_REJECTED\",\n  \"status\": \"REJECTED\",\n  \"description\": \"Record rejected as duplicate\",\n  \"record_type\": \"BIRTH\",\n  \"timestamp\": \"2026-01-29T14:00:00+00:00\",\n  \"duplicate_message\": \"Duplicate found - matches existing record BIRTH-121234-2026-0000001\",\n  \"data\": {\n    \"child_first_name\": \"JANE\",\n    \"child_middle_name\": \"AKOSUA\",\n    \"child_last_name\": \"SMITH\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{your_callback_url}}","description":"<h2 id=\"duplicate_rejected-event\">DUPLICATE_REJECTED Event</h2>\n<p><strong>Triggered when:</strong> The system detects the record is a duplicate during verification.</p>\n<p><strong>What happens next:</strong> Record is marked as rejected. No further processing occurs.</p>\n<h3 id=\"payload-fields\">Payload Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>event_type</td>\n<td>string</td>\n<td>Always <code>DUPLICATE_REJECTED</code></td>\n</tr>\n<tr>\n<td>record_type</td>\n<td>string</td>\n<td><code>BIRTH</code> or <code>DEATH</code></td>\n</tr>\n<tr>\n<td>document_number</td>\n<td>string</td>\n<td>Unique document identifier</td>\n</tr>\n<tr>\n<td>status</td>\n<td>string</td>\n<td><code>REJECTED</code></td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>Human-readable description</td>\n</tr>\n<tr>\n<td>duplicate_message</td>\n<td>string</td>\n<td>Details about the duplicate match</td>\n</tr>\n<tr>\n<td>timestamp</td>\n<td>string</td>\n<td>ISO 8601 timestamp</td>\n</tr>\n<tr>\n<td>data</td>\n<td>object</td>\n<td>Record summary and matched document info</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"action-required\">Action Required</h3>\n<p>You may need to:</p>\n<ul>\n<li>Notify the original submitter</li>\n<li>Review and correct the data</li>\n<li>Submit as a new record if appropriate</li>\n</ul>\n","urlObject":{"host":["{{your_callback_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"1e2e4075-a27a-44db-a080-e0563e57f341"},{"name":"VERIFIED Event","id":"69a0e8e8-ec34-4685-8141-3feae4d6d12a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"document_number\": \"BIRTH-121234-2026-0000003\",\n  \"event_type\": \"VERIFIED\",\n  \"status\": \"VERIFIED\",\n  \"description\": \"Record passed duplicate verification\",\n  \"record_type\": \"BIRTH\",\n  \"timestamp\": \"2026-01-29T14:00:00+00:00\",\n  \"data\": {\n    \"child_first_name\": \"JANE\",\n    \"child_middle_name\": \"AKOSUA\",\n    \"child_last_name\": \"SMITH\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{your_callback_url}}","description":"<h2 id=\"verified-event\">VERIFIED Event</h2>\n<p><strong>Triggered when:</strong> The record passes duplicate verification checks.</p>\n<p><strong>What happens next:</strong> Record is queued to be pushed to the main registration table.</p>\n<h3 id=\"payload-fields\">Payload Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>event_type</td>\n<td>string</td>\n<td>Always <code>VERIFIED</code></td>\n</tr>\n<tr>\n<td>record_type</td>\n<td>string</td>\n<td><code>BIRTH</code> or <code>DEATH</code></td>\n</tr>\n<tr>\n<td>document_number</td>\n<td>string</td>\n<td>Unique document identifier</td>\n</tr>\n<tr>\n<td>status</td>\n<td>string</td>\n<td><code>VERIFIED</code></td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>Human-readable description</td>\n</tr>\n<tr>\n<td>timestamp</td>\n<td>string</td>\n<td>ISO 8601 timestamp</td>\n</tr>\n<tr>\n<td>data</td>\n<td>object</td>\n<td>Record summary</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"host":["{{your_callback_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"69a0e8e8-ec34-4685-8141-3feae4d6d12a"},{"name":"PUSHED_TO_REGISTRATION Event","id":"ad0db30b-5205-4a98-adce-12b826c0e83c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"document_number\": \"BIRTH-121234-2026-0000003\",\n  \"event_type\": \"PUSHED_TO_REGISTRATION\",\n  \"status\": \"IN_PROGRESS\",\n  \"description\": \"Record moved to main registration table\",\n  \"record_type\": \"BIRTH\",\n  \"timestamp\": \"2026-01-29T14:00:00+00:00\",\n  \"service_type\": \"EARLY_BIRTH\",\n  \"data\": {\n    \"child_first_name\": \"JANE\",\n    \"child_middle_name\": \"AKOSUA\",\n    \"child_last_name\": \"SMITH\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{your_callback_url}}","description":"<h2 id=\"pushed_to_registration-event\">PUSHED_TO_REGISTRATION Event</h2>\n<p><strong>Triggered when:</strong> The verified record is moved to the main registration table (EarlyBirthRegistration, LateBirthRegistration, EarlyDeathRegistration, or LateDeathRegistration).</p>\n<p><strong>What happens next:</strong> Record enters the standard registration workflow with approval levels.</p>\n<h3 id=\"payload-fields\">Payload Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>event_type</td>\n<td>string</td>\n<td>Always <code>PUSHED_TO_REGISTRATION</code></td>\n</tr>\n<tr>\n<td>record_type</td>\n<td>string</td>\n<td><code>BIRTH</code> or <code>DEATH</code></td>\n</tr>\n<tr>\n<td>document_number</td>\n<td>string</td>\n<td>Unique document identifier</td>\n</tr>\n<tr>\n<td>status</td>\n<td>string</td>\n<td><code>IN_PROGRESS</code></td>\n</tr>\n<tr>\n<td>service_type</td>\n<td>string</td>\n<td><code>EARLY_BIRTH</code>, <code>LATE_BIRTH</code>, <code>EARLY_DEATH</code>, or <code>LATE_DEATH</code></td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>Human-readable description</td>\n</tr>\n<tr>\n<td>timestamp</td>\n<td>string</td>\n<td>ISO 8601 timestamp</td>\n</tr>\n<tr>\n<td>data</td>\n<td>object</td>\n<td>Record summary with registration_id</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"host":["{{your_callback_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"ad0db30b-5205-4a98-adce-12b826c0e83c"},{"name":"COMPLETED (BIRTH) Event","id":"604d1a6e-f496-42ae-a670-e763a9d1e559","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"document_number\": \"BIRTH-121234-2026-0000003\",\n  \"event_type\": \"COMPLETED\",\n  \"status\": \"COMPLETED\",\n  \"description\": \"Registration complete - UBNC generated\",\n  \"record_type\": \"BIRTH\",\n  \"timestamp\": \"2026-01-29T14:00:00+00:00\",\n  \"registration_no\": \"0101-20-2026\",\n  \"ubnc\": \"0101-20-2026\",\n  \"certificate_number\": \"0101-20-2026\",\n  \"service_type\": \"EARLY_BIRTH\",\n  \"date_of_registration\": \"2026-01-29 14:00:00\",\n  \"data\": {\n    \"child_first_name\": \"JANE\",\n    \"child_middle_name\": \"AKOSUA\",\n    \"child_last_name\": \"SMITH\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{your_callback_url}}","description":"<h2 id=\"completed-event-birth\">COMPLETED Event (Birth)</h2>\n<p><strong>Triggered when:</strong> The birth record passes all approval levels and the registration number / <strong>UBNC</strong> is generated.</p>\n<p><strong>Important:</strong> <code>COMPLETED</code> does <strong>not</strong> mean a certificate has been issued. At this point the certification record exists but is still <strong>pending</strong>. The terminal \"certificate issued\" signal is the separate <strong><code>CERTIFIED</code></strong> event — integrators expecting a final certificate signal must listen for <code>CERTIFIED</code>, not <code>COMPLETED</code>.</p>\n<blockquote>\n<p>The <code>APPROVED</code> status you may see on the status lookup endpoint corresponds to this stage. <code>APPROVED</code> is a polling stage only and is never delivered as a callback — this <code>COMPLETED</code> event is how you are notified of it.</p>\n</blockquote>\n<h3 id=\"payload-fields\">Payload Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>event_type</td>\n<td>string</td>\n<td>Always <code>COMPLETED</code></td>\n</tr>\n<tr>\n<td>record_type</td>\n<td>string</td>\n<td><code>BIRTH</code></td>\n</tr>\n<tr>\n<td>document_number</td>\n<td>string</td>\n<td>Unique document identifier</td>\n</tr>\n<tr>\n<td>status</td>\n<td>string</td>\n<td><code>APPROVED</code></td>\n</tr>\n<tr>\n<td>registration_no</td>\n<td>string</td>\n<td>Registration number (same value as <code>ubnc</code> and <code>certificate_number</code>)</td>\n</tr>\n<tr>\n<td>ubnc</td>\n<td>string</td>\n<td>UBNC (same value as <code>registration_no</code> and <code>certificate_number</code>)</td>\n</tr>\n<tr>\n<td>certificate_number</td>\n<td>string</td>\n<td>Certificate number (same value as <code>registration_no</code> and <code>ubnc</code>)</td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>Human-readable description</td>\n</tr>\n<tr>\n<td>timestamp</td>\n<td>string</td>\n<td>ISO 8601 timestamp</td>\n</tr>\n<tr>\n<td>data</td>\n<td>object</td>\n<td>Record summary</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"expected-response\">Expected Response</h3>\n<p>Return any <code>2xx</code> status to acknowledge. Failed deliveries retry with exponential backoff (1, 5, 15, 30, 60 min).</p>\n","urlObject":{"host":["{{your_callback_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"604d1a6e-f496-42ae-a670-e763a9d1e559"},{"name":"COMPLETED (DEATH) Event","id":"cedbc2b0-2e4c-4499-802f-b0823ecdd1af","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"document_number\": \"DEATH-121234-2026-0000007\",\n  \"event_type\": \"COMPLETED\",\n  \"status\": \"COMPLETED\",\n  \"description\": \"Registration complete - UBNC generated\",\n  \"record_type\": \"DEATH\",\n  \"timestamp\": \"2026-01-29T14:00:00+00:00\",\n  \"registration_no\": \"0101-77-2026\",\n  \"ubnc\": \"0101-77-2026\",\n  \"certificate_number\": \"0101-77-2026\",\n  \"service_type\": \"EARLY_DEATH\",\n  \"date_of_registration\": \"2026-01-29 14:00:00\",\n  \"data\": {\n    \"deceased_first_name\": \"KOFI\",\n    \"deceased_middle_name\": null,\n    \"deceased_last_name\": \"MENSAH\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{your_callback_url}}","description":"<h2 id=\"completed-event-death\">COMPLETED Event (Death)</h2>\n<p><strong>Triggered when:</strong> The death record passes all approval levels and the registration number / <strong>UBNC</strong> is generated.</p>\n<p><strong>Important:</strong> <code>COMPLETED</code> does <strong>not</strong> mean a certificate has been issued. At this point the certification record exists but is still <strong>pending</strong>. The terminal \"certificate issued\" signal is the separate <strong><code>CERTIFIED</code></strong> event — integrators expecting a final certificate signal must listen for <code>CERTIFIED</code>, not <code>COMPLETED</code>.</p>\n<blockquote>\n<p>The <code>APPROVED</code> status you may see on the status lookup endpoint corresponds to this stage. <code>APPROVED</code> is a polling stage only and is never delivered as a callback — this <code>COMPLETED</code> event is how you are notified of it.</p>\n</blockquote>\n<h3 id=\"payload-fields\">Payload Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>event_type</td>\n<td>string</td>\n<td>Always <code>COMPLETED</code></td>\n</tr>\n<tr>\n<td>record_type</td>\n<td>string</td>\n<td><code>DEATH</code></td>\n</tr>\n<tr>\n<td>document_number</td>\n<td>string</td>\n<td>Unique document identifier</td>\n</tr>\n<tr>\n<td>status</td>\n<td>string</td>\n<td><code>APPROVED</code></td>\n</tr>\n<tr>\n<td>registration_no</td>\n<td>string</td>\n<td>Registration number (same value as <code>ubnc</code> and <code>certificate_number</code>)</td>\n</tr>\n<tr>\n<td>ubnc</td>\n<td>string</td>\n<td>UBNC (same value as <code>registration_no</code> and <code>certificate_number</code>)</td>\n</tr>\n<tr>\n<td>certificate_number</td>\n<td>string</td>\n<td>Certificate number (same value as <code>registration_no</code> and <code>ubnc</code>)</td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>Human-readable description</td>\n</tr>\n<tr>\n<td>timestamp</td>\n<td>string</td>\n<td>ISO 8601 timestamp</td>\n</tr>\n<tr>\n<td>data</td>\n<td>object</td>\n<td>Record summary</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"expected-response\">Expected Response</h3>\n<p>Return any <code>2xx</code> status to acknowledge. Failed deliveries retry with exponential backoff (1, 5, 15, 30, 60 min).</p>\n","urlObject":{"host":["{{your_callback_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"cedbc2b0-2e4c-4499-802f-b0823ecdd1af"},{"name":"CERTIFIED (BIRTH) Event","id":"ab79692c-bccf-4541-92f5-6bf10fe859da","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"document_number\": \"BIRTH-121234-2026-0000003\",\n  \"event_type\": \"CERTIFIED\",\n  \"status\": \"CERTIFIED\",\n  \"description\": \"Certificate issued for record\",\n  \"record_type\": \"BIRTH\",\n  \"timestamp\": \"2026-01-29T14:00:00+00:00\",\n  \"registration_no\": \"0101-20-2026\",\n  \"ubnc\": \"0101-20-2026\",\n  \"certificate_number\": \"0101-20-2026\",\n  \"service_type\": \"EARLY_BIRTH\",\n  \"certified_at\": \"2026-01-29T14:00:00+00:00\",\n  \"data\": {\n    \"child_first_name\": \"JANE\",\n    \"child_middle_name\": \"AKOSUA\",\n    \"child_last_name\": \"SMITH\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{your_callback_url}}","description":"<h2 id=\"certified-event-birth\">CERTIFIED Event (Birth)</h2>\n<p><strong>Triggered when:</strong> The certifying officer formally issues the certificate for the birth record.</p>\n<p><strong>This is the final, terminal event</strong> in the registration workflow. Integrators expecting a \"certificate issued\" signal must listen for this event — <strong>not</strong> <code>COMPLETED</code>.</p>\n<blockquote>\n<p><strong><code>COMPLETED</code> vs <code>CERTIFIED</code>:</strong> <code>COMPLETED</code> fires earlier, when all approvals pass and the registration number / UBNC is generated (certificate still pending). <code>CERTIFIED</code> fires here, once the certificate is actually issued. At this point <code>process_flow.stages.certification.is_certified</code> becomes <code>true</code>.</p>\n</blockquote>\n<h3 id=\"payload-fields\">Payload Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>event_type</td>\n<td>string</td>\n<td>Always <code>CERTIFIED</code></td>\n</tr>\n<tr>\n<td>record_type</td>\n<td>string</td>\n<td><code>BIRTH</code></td>\n</tr>\n<tr>\n<td>document_number</td>\n<td>string</td>\n<td>Unique document identifier</td>\n</tr>\n<tr>\n<td>status</td>\n<td>string</td>\n<td><code>CERTIFIED</code></td>\n</tr>\n<tr>\n<td>registration_no</td>\n<td>string</td>\n<td>Registration number (same value as <code>ubnc</code> and <code>certificate_number</code>)</td>\n</tr>\n<tr>\n<td>ubnc</td>\n<td>string</td>\n<td>UBNC (same value as <code>registration_no</code> and <code>certificate_number</code>)</td>\n</tr>\n<tr>\n<td>certificate_number</td>\n<td>string</td>\n<td>Certificate number (same value as <code>registration_no</code> and <code>ubnc</code>)</td>\n</tr>\n<tr>\n<td>service_type</td>\n<td>string</td>\n<td>Service type</td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>Human-readable description</td>\n</tr>\n<tr>\n<td>timestamp</td>\n<td>string</td>\n<td>ISO 8601 timestamp</td>\n</tr>\n<tr>\n<td>data</td>\n<td>object</td>\n<td>Record summary including certificate details</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"expected-response\">Expected Response</h3>\n<p>Return any <code>2xx</code> status to acknowledge. Failed deliveries retry with exponential backoff (1, 5, 15, 30, 60 min).</p>\n","urlObject":{"host":["{{your_callback_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"ab79692c-bccf-4541-92f5-6bf10fe859da"},{"name":"CERTIFIED (DEATH) Event","id":"6cb9e4b5-88ba-4555-a5fb-3eb130135b28","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"document_number\": \"DEATH-121234-2026-0000007\",\n  \"event_type\": \"CERTIFIED\",\n  \"status\": \"CERTIFIED\",\n  \"description\": \"Certificate issued for record\",\n  \"record_type\": \"DEATH\",\n  \"timestamp\": \"2026-01-29T14:00:00+00:00\",\n  \"registration_no\": \"0101-77-2026\",\n  \"ubnc\": \"0101-77-2026\",\n  \"certificate_number\": \"0101-77-2026\",\n  \"service_type\": \"EARLY_DEATH\",\n  \"certified_at\": \"2026-01-29T14:00:00+00:00\",\n  \"data\": {\n    \"deceased_first_name\": \"KOFI\",\n    \"deceased_middle_name\": \"KWAME\",\n    \"deceased_last_name\": \"MENSAH\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{your_callback_url}}","description":"<h2 id=\"certified-event-death\">CERTIFIED Event (Death)</h2>\n<p><strong>Triggered when:</strong> The certifying officer formally issues the certificate for the death record.</p>\n<p><strong>This is the final, terminal event</strong> in the registration workflow. Integrators expecting a \"certificate issued\" signal must listen for this event — <strong>not</strong> <code>COMPLETED</code>.</p>\n<blockquote>\n<p><strong><code>COMPLETED</code> vs <code>CERTIFIED</code>:</strong> <code>COMPLETED</code> fires earlier, when all approvals pass and the registration number / UBNC is generated (certificate still pending). <code>CERTIFIED</code> fires here, once the certificate is actually issued. At this point <code>process_flow.stages.certification.is_certified</code> becomes <code>true</code>.</p>\n</blockquote>\n<h3 id=\"payload-fields\">Payload Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>event_type</td>\n<td>string</td>\n<td>Always <code>CERTIFIED</code></td>\n</tr>\n<tr>\n<td>record_type</td>\n<td>string</td>\n<td><code>DEATH</code></td>\n</tr>\n<tr>\n<td>document_number</td>\n<td>string</td>\n<td>Unique document identifier</td>\n</tr>\n<tr>\n<td>status</td>\n<td>string</td>\n<td><code>CERTIFIED</code></td>\n</tr>\n<tr>\n<td>registration_no</td>\n<td>string</td>\n<td>Registration number (same value as <code>ubnc</code> and <code>certificate_number</code>)</td>\n</tr>\n<tr>\n<td>ubnc</td>\n<td>string</td>\n<td>UBNC (same value as <code>registration_no</code> and <code>certificate_number</code>)</td>\n</tr>\n<tr>\n<td>certificate_number</td>\n<td>string</td>\n<td>Certificate number (same value as <code>registration_no</code> and <code>ubnc</code>)</td>\n</tr>\n<tr>\n<td>service_type</td>\n<td>string</td>\n<td>Service type</td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>Human-readable description</td>\n</tr>\n<tr>\n<td>timestamp</td>\n<td>string</td>\n<td>ISO 8601 timestamp</td>\n</tr>\n<tr>\n<td>data</td>\n<td>object</td>\n<td>Record summary including certificate details</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"expected-response\">Expected Response</h3>\n<p>Return any <code>2xx</code> status to acknowledge. Failed deliveries retry with exponential backoff (1, 5, 15, 30, 60 min).</p>\n","urlObject":{"host":["{{your_callback_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"6cb9e4b5-88ba-4555-a5fb-3eb130135b28"}],"id":"7f87f5e1-9a81-4c89-8610-10f0da66170e","description":"<h2 id=\"callback-events-documentation\">Callback Events Documentation</h2>\n<p>This folder documents the <strong>real-time callback events</strong> the HBDRP platform sends to your configured <code>callback_url</code> as a birth or death record moves through its lifecycle. Each request in this folder is a documentation stub whose body shows a representative payload for that event.</p>\n<h3 id=\"the-six-callback-events\">The Six Callback Events</h3>\n<p>There are exactly <strong>six</strong> callback events, in flow order:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>#</th>\n<th>Event</th>\n<th>Fired When</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td><code>MARKED_COMPLETE</code></td>\n<td>Officer reviews the record and moves it to verification</td>\n</tr>\n<tr>\n<td>2</td>\n<td><code>VERIFIED</code></td>\n<td>Record passes duplicate verification</td>\n</tr>\n<tr>\n<td>—</td>\n<td><code>DUPLICATE_REJECTED</code></td>\n<td>Record fails duplicate verification — <strong>flow ends</strong></td>\n</tr>\n<tr>\n<td>3</td>\n<td><code>PUSHED_TO_REGISTRATION</code></td>\n<td>Verified record enters the main registration pipeline</td>\n</tr>\n<tr>\n<td>4</td>\n<td><code>COMPLETED</code></td>\n<td>All approval levels passed; registration number / UBNC generated</td>\n</tr>\n<tr>\n<td>5</td>\n<td><code>CERTIFIED</code></td>\n<td>Certifying officer issues the certificate — <strong>terminal success</strong></td>\n</tr>\n</tbody>\n</table>\n</div><blockquote>\n<p><strong><code>APPROVED</code> is not a callback event</strong> and is never delivered to your <code>callback_url</code>. It exists only as a <em>polling stage</em> on the status lookup endpoint. Listen for the <code>COMPLETED</code> callback instead.</p>\n</blockquote>\n<h3 id=\"completed-vs-certified\">COMPLETED vs CERTIFIED</h3>\n<ul>\n<li><strong><code>COMPLETED</code></strong> = all approvals passed and the registration number / UBNC has been generated. The certificate has <strong>not</strong> yet been issued; the certification record is still pending.</li>\n<li><strong><code>CERTIFIED</code></strong> = the certificate has been formally issued. This is the terminal \"certificate issued\" signal integrators should wait for.</li>\n<li>Both events carry <code>registration_no</code>, <code>ubnc</code> and <code>certificate_number</code>, which always hold the <strong>same</strong> value.</li>\n</ul>\n<h3 id=\"delivery-behaviour\">Delivery Behaviour</h3>\n<ul>\n<li>Callbacks are <code>POST</code>ed to your configured <code>callback_url</code>.</li>\n<li>Headers sent with each callback: <code>Content-Type</code>, <code>Accept</code>, <code>X-Event-Type</code>, <code>X-Document-Number</code>, <code>X-Timestamp</code>.</li>\n<li>Failed deliveries retry with exponential backoff: <strong>1 min, 5 min, 15 min, 30 min, 60 min</strong> (5 attempts total). Respond with any <strong>2xx</strong> status to acknowledge.</li>\n</ul>\n","_postman_id":"7f87f5e1-9a81-4c89-8610-10f0da66170e"},{"name":"Utilities","id":"83b5227c-b971-4a76-96f8-9d8583ef1060","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"your-token-here"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"utility_type\": \"BIRTH_TYPE\" // COUNTRY | REGION | NATIONALITY | DISTRICT | REGISTRY | NATIONAL_ID | TOWN | GENDER | BIRTH_TYPE | BIRTH_ATTENDANT | RELIGION | EDUCATIONAL_LEVEL | INFORMANT_TYPE | MARITAL_STATUS | PLACE_OF_BIRTH\n    // \"country_id\": 1, // Required if utility_type is REGION\n    // \"region_id\": 1, // Required if utility_type is DISTRICT\n    // \"district_id\": 1 // Required if utility_type is REGISTRY\n}","options":{"raw":{"language":"json"}}},"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/utility","description":"<h1 id=\"utilities-coded-value-lookup\">Utilities (coded-value lookup)</h1>\n<p><code>POST https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/utility</code></p>\n<p>Fetches the allowed <strong>coded (lookup) values</strong> used across birth and death registration payloads (regions, districts, registries, gender, marital status, etc.). Any field marked <em>coded</em> in the registration docs must exactly match a value returned here (case/spelling sensitive). Authenticate with your API-consumer <strong>Token</strong> header.</p>\n<h2 id=\"request-body\">Request body</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Required</th>\n<th>Type</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>utility_type</code></td>\n<td>Required</td>\n<td>enum</td>\n<td>The lookup list to fetch. One of the values below.</td>\n</tr>\n<tr>\n<td><code>country_id</code></td>\n<td>Conditional</td>\n<td>integer</td>\n<td>Required when <code>utility_type</code> = <code>REGION</code>.</td>\n</tr>\n<tr>\n<td><code>region_id</code></td>\n<td>Conditional</td>\n<td>integer</td>\n<td>Required when <code>utility_type</code> = <code>DISTRICT</code>.</td>\n</tr>\n<tr>\n<td><code>district_id</code></td>\n<td>Conditional</td>\n<td>integer</td>\n<td>Required when <code>utility_type</code> = <code>REGISTRY</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"allowed-utility_type-values\">Allowed <code>utility_type</code> values</h3>\n<p><code>COUNTRY</code>, <code>REGION</code>, <code>NATIONALITY</code>, <code>DISTRICT</code>, <code>REGISTRY</code>, <code>NATIONAL_ID</code>, <code>TOWN</code>, <code>GENDER</code>, <code>BIRTH_TYPE</code>, <code>BIRTH_ATTENDANT</code>, <code>RELIGION</code>, <code>EDUCATIONAL_LEVEL</code>, <code>INFORMANT_TYPE</code>, <code>MARITAL_STATUS</code>, <code>PLACE_OF_BIRTH</code>.</p>\n<h2 id=\"how-the-hierarchy-works\">How the hierarchy works</h2>\n<p>Location lookups cascade — fetch each level using the ID from the level above:</p>\n<ol>\n<li><code>COUNTRY</code> → gives <code>country_id</code></li>\n<li><code>REGION</code> (needs <code>country_id</code>) → gives <code>region_id</code></li>\n<li><code>DISTRICT</code> (needs <code>region_id</code>) → gives <code>district_id</code></li>\n<li><code>REGISTRY</code> (needs <code>district_id</code>)</li>\n</ol>\n<p>Use the returned numeric IDs for <code>region_id</code> / <code>district_id</code> in registration payloads, and the returned exact names for coded name fields (e.g. gender <code>\"MALE\"</code>, marital status <code>\"MARRIED\"</code>).</p>\n<h2 id=\"examples\">Examples</h2>\n<p>Saved examples cover <code>REGION</code>, <code>DISTRICT</code>, <code>BIRTH_TYPE</code>, and <code>REGISTRY</code> responses.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{ \"utility_type\": \"REGION\", \"country_id\": 1 }\n</code></pre>\n","urlObject":{"path":["api","v1","UserManagementService","integrations","utility"],"host":["https://bdrbeta.npontu.com"],"query":[],"variable":[]}},"response":[{"id":"b28110e5-87f5-4be3-a2b2-97f0e2c76770","name":"Utilities | REGION","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Token","value":"your-token-here","description":"API consumer token","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\n    \"utility_type\": \"REGION\" // COUNTRY | REGION | NATIONALITY | DISTRICT | REGISTRY | NATIONAL_ID | TOWN | GENDER | BIRTH_TYPE | BIRTH_ATTENDANT | RELIGION | EDUCATIONAL_LEVEL | INFORMANT_TYPE | MARITAL_STATUS | PLACE_OF_BIRTH\n    // \"country_id\": 1, // Required if utility_type is REGION\n    // \"region_id\": 1, // Required if utility_type is DISTRICT\n    // \"district_id\": 1 // Required if utility_type is REGISTRY\n}","options":{"raw":{"language":"json"}}},"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/utility"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.20"},{"key":"Date","value":"Tue, 27 Jan 2026 12:08:33 GMT"},{"key":"X-RateLimit-Limit","value":"1500"},{"key":"X-RateLimit-Remaining","value":"1497"},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"sameorigin"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubdomains; preload"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"api_code\": 200,\n    \"api_status\": \"success\",\n    \"api_message\": \"Your action has been processed.\",\n    \"api_data\": [\n        {\n            \"id\": 1,\n            \"country_id\": 1,\n            \"name\": \"Ashanti\",\n            \"code\": \"05\",\n            \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": null\n        },\n        {\n            \"id\": 2,\n            \"country_id\": 1,\n            \"name\": \"Bono\",\n            \"code\": \"BO\",\n            \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": null\n        },\n        {\n            \"id\": 3,\n            \"country_id\": 1,\n            \"name\": \"Central\",\n            \"code\": \"01\",\n            \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": null\n        },\n        {\n            \"id\": 4,\n            \"country_id\": 1,\n            \"name\": \"Eastern\",\n            \"code\": \"03\",\n            \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": null\n        },\n        {\n            \"id\": 5,\n            \"country_id\": 1,\n            \"name\": \"Greater Accra\",\n            \"code\": \"02\",\n            \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": null\n        },\n        {\n            \"id\": 6,\n            \"country_id\": 1,\n            \"name\": \"Northern\",\n            \"code\": \"07\",\n            \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": null\n        },\n        {\n            \"id\": 7,\n            \"country_id\": 1,\n            \"name\": \"Upper East\",\n            \"code\": \"UE\",\n            \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": null\n        },\n        {\n            \"id\": 8,\n            \"country_id\": 1,\n            \"name\": \"Upper West\",\n            \"code\": \"UW\",\n            \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": null\n        },\n        {\n            \"id\": 9,\n            \"country_id\": 1,\n            \"name\": \"Volta\",\n            \"code\": \"TV\",\n            \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": null\n        },\n        {\n            \"id\": 10,\n            \"country_id\": 1,\n            \"name\": \"Western\",\n            \"code\": \"WP\",\n            \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": null\n        },\n        {\n            \"id\": 11,\n            \"country_id\": 1,\n            \"name\": \"Savannah\",\n            \"code\": \"08\",\n            \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": null\n        },\n        {\n            \"id\": 12,\n            \"country_id\": 1,\n            \"name\": \"North East\",\n            \"code\": \"NOE\",\n            \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": null\n        },\n        {\n            \"id\": 13,\n            \"country_id\": 1,\n            \"name\": \"Bono East\",\n            \"code\": \"04\",\n            \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": null\n        },\n        {\n            \"id\": 14,\n            \"country_id\": 1,\n            \"name\": \"Ahafo\",\n            \"code\": \"00\",\n            \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": null\n        },\n        {\n            \"id\": 15,\n            \"country_id\": 1,\n            \"name\": \"Oti\",\n            \"code\": \"06\",\n            \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": null\n        },\n        {\n            \"id\": 16,\n            \"country_id\": 1,\n            \"name\": \"Western North\",\n            \"code\": \"09\",\n            \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": null\n        }\n    ]\n}"},{"id":"307ca622-2c3a-4db5-97d6-2d3cafa90b7e","name":"Utilities | DISTRICT","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Token","value":"your-token-here","description":"API consumer token","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\n    \"utility_type\": \"DISTRICT\" // COUNTRY | REGION | NATIONALITY | DISTRICT | REGISTRY | NATIONAL_ID | TOWN | GENDER | BIRTH_TYPE | BIRTH_ATTENDANT | RELIGION | EDUCATIONAL_LEVEL | INFORMANT_TYPE | MARITAL_STATUS | PLACE_OF_BIRTH\n    // \"country_id\": 1, // Required if utility_type is REGION\n    // \"region_id\": 1, // Required if utility_type is DISTRICT\n    // \"district_id\": 1 // Required if utility_type is REGISTRY\n}","options":{"raw":{"language":"json"}}},"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/utility"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.20"},{"key":"Date","value":"Tue, 27 Jan 2026 12:38:27 GMT"},{"key":"X-RateLimit-Limit","value":"1500"},{"key":"X-RateLimit-Remaining","value":"1499"},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"sameorigin"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubdomains; preload"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"api_code\": 200,\n    \"api_status\": \"success\",\n    \"api_message\": \"Your action has been processed.\",\n    \"api_data\": [\n        {\n            \"id\": 3,\n            \"region_id\": 2,\n            \"name\": \"TEST DISTRICT\",\n            \"code\": \"22\",\n            \"created_at\": \"2024-01-02T22:05:57.000000Z\",\n            \"updated_at\": \"2024-01-02T22:05:57.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": 10,\n            \"region\": {\n                \"id\": 2,\n                \"country_id\": 1,\n                \"name\": \"Bono\",\n                \"code\": \"BO\",\n                \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n                \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n                \"deleted_at\": null,\n                \"officer_id\": null\n            },\n            \"officer\": {\n                \"id\": 10,\n                \"first_name\": \"KOBINA\",\n                \"middle_name\": \"AKOM\",\n                \"last_name\": \"DANFUL\",\n                \"username\": \"KOBBY\",\n                \"email\": \"kobbydistrictofficer@bdr.gov.gh\"\n            }\n        },\n        {\n            \"id\": 2,\n            \"region_id\": 5,\n            \"name\": \"Accra District\",\n            \"code\": \"1212\",\n            \"created_at\": \"2023-12-27T15:08:35.000000Z\",\n            \"updated_at\": \"2024-01-04T21:27:59.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": 8,\n            \"region\": {\n                \"id\": 5,\n                \"country_id\": 1,\n                \"name\": \"Greater Accra\",\n                \"code\": \"02\",\n                \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n                \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n                \"deleted_at\": null,\n                \"officer_id\": null\n            },\n            \"officer\": {\n                \"id\": 8,\n                \"first_name\": \"JOHN\",\n                \"middle_name\": null,\n                \"last_name\": \"AYAMA\",\n                \"username\": \"AYAMA.JO\",\n                \"email\": \"ayamaregistryofficer@bdr.gov.gh\"\n            }\n        },\n        {\n            \"id\": 1,\n            \"region_id\": 1,\n            \"name\": \"Kumasi Metro\",\n            \"code\": \"1212\",\n            \"created_at\": \"2023-12-27T15:08:35.000000Z\",\n            \"updated_at\": \"2024-01-04T21:27:59.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": 8,\n            \"region\": {\n                \"id\": 1,\n                \"country_id\": 1,\n                \"name\": \"Ashanti\",\n                \"code\": \"05\",\n                \"created_at\": \"2023-06-21T19:55:52.000000Z\",\n                \"updated_at\": \"2023-06-21T19:55:52.000000Z\",\n                \"deleted_at\": null,\n                \"officer_id\": null\n            },\n            \"officer\": {\n                \"id\": 8,\n                \"first_name\": \"JOHN\",\n                \"middle_name\": null,\n                \"last_name\": \"AYAMA\",\n                \"username\": \"AYAMA.JO\",\n                \"email\": \"ayamaregistryofficer@bdr.gov.gh\"\n            }\n        }\n    ]\n}"},{"id":"f7ffafb7-b689-473c-8891-18a0cae7d4f3","name":"Utilities | REGISTRY","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Token","value":"your-token-here","description":"API consumer token","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\n    \"utility_type\": \"REGISTRY\" // COUNTRY | REGION | NATIONALITY | DISTRICT | REGISTRY | NATIONAL_ID | TOWN | GENDER | BIRTH_TYPE | BIRTH_ATTENDANT | RELIGION | EDUCATIONAL_LEVEL | INFORMANT_TYPE | MARITAL_STATUS | PLACE_OF_BIRTH\n    // \"country_id\": 1, // Required if utility_type is REGION\n    // \"region_id\": 1, // Required if utility_type is DISTRICT\n    // \"district_id\": 1 // Required if utility_type is REGISTRY\n}","options":{"raw":{"language":"json"}}},"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/utility"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.20"},{"key":"Date","value":"Tue, 27 Jan 2026 12:40:38 GMT"},{"key":"X-RateLimit-Limit","value":"1500"},{"key":"X-RateLimit-Remaining","value":"1499"},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"sameorigin"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubdomains; preload"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"api_code\": 200,\n    \"api_status\": \"success\",\n    \"api_message\": \"Your action has been processed.\",\n    \"api_data\": [\n        {\n            \"id\": 4,\n            \"district_id\": 3,\n            \"name\": \"JOHN\",\n            \"code\": \"121212\",\n            \"created_at\": \"2024-01-20T16:47:32.000000Z\",\n            \"updated_at\": \"2024-01-20T16:47:32.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": 1,\n            \"district\": {\n                \"id\": 3,\n                \"region_id\": 2,\n                \"name\": \"TEST DISTRICT\",\n                \"code\": \"22\",\n                \"created_at\": \"2024-01-02T22:05:57.000000Z\",\n                \"updated_at\": \"2024-01-02T22:05:57.000000Z\",\n                \"deleted_at\": null,\n                \"officer_id\": 10\n            }\n        },\n        {\n            \"id\": 3,\n            \"district_id\": 4,\n            \"name\": \"JOHN\",\n            \"code\": \"121212\",\n            \"created_at\": \"2024-01-20T16:47:23.000000Z\",\n            \"updated_at\": \"2024-01-20T16:47:23.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": 1,\n            \"district\": null\n        },\n        {\n            \"id\": 2,\n            \"district_id\": 4,\n            \"name\": \"JESSICA\",\n            \"code\": \"788888\",\n            \"created_at\": \"2024-01-20T16:47:06.000000Z\",\n            \"updated_at\": \"2024-01-20T16:47:06.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": 1,\n            \"district\": null\n        },\n        {\n            \"id\": 1,\n            \"district_id\": 1,\n            \"name\": \"Adum\",\n            \"code\": \"121234\",\n            \"created_at\": \"2023-12-27T15:09:11.000000Z\",\n            \"updated_at\": \"2023-12-27T15:09:11.000000Z\",\n            \"deleted_at\": null,\n            \"officer_id\": 1,\n            \"district\": {\n                \"id\": 1,\n                \"region_id\": 1,\n                \"name\": \"Kumasi Metro\",\n                \"code\": \"1212\",\n                \"created_at\": \"2023-12-27T15:08:35.000000Z\",\n                \"updated_at\": \"2024-01-04T21:27:59.000000Z\",\n                \"deleted_at\": null,\n                \"officer_id\": 8\n            }\n        }\n    ]\n}"},{"id":"d694a3ec-4e24-4be1-b67e-caad91c9e344","name":"Utilities | BIRTH_TYPE","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Token","value":"your-token-here","description":"API consumer token","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\n    \"utility_type\": \"BIRTH_TYPE\" // COUNTRY | REGION | NATIONALITY | DISTRICT | REGISTRY | NATIONAL_ID | TOWN | GENDER | BIRTH_TYPE | BIRTH_ATTENDANT | RELIGION | EDUCATIONAL_LEVEL | INFORMANT_TYPE | MARITAL_STATUS | PLACE_OF_BIRTH\n    // \"country_id\": 1, // Required if utility_type is REGION\n    // \"region_id\": 1, // Required if utility_type is DISTRICT\n    // \"district_id\": 1 // Required if utility_type is REGISTRY\n}","options":{"raw":{"language":"json"}}},"url":"https://bdrbeta.npontu.com/api/v1/UserManagementService/integrations/utility"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.20"},{"key":"Date","value":"Tue, 27 Jan 2026 12:41:32 GMT"},{"key":"X-RateLimit-Limit","value":"1500"},{"key":"X-RateLimit-Remaining","value":"1498"},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"sameorigin"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubdomains; preload"}],"cookie":[],"responseTime":null,"body":"{\n    \"api_code\": 200,\n    \"api_status\": \"success\",\n    \"api_message\": \"Your action has been processed.\",\n    \"api_data\": [\n        \"SINGLETON\",\n        \"TWIN\",\n        \"TRIPLET\",\n        \"QUADRUPLET\",\n        \"QUINTUPLET\",\n        \"SEXTUPLET\",\n        \"SEPTUPLET\",\n        \"OCTUPLET\",\n        \"NONUPLET\",\n        \"DECAPLET\",\n        \"UNDECAPLET\",\n        \"DUODECAPLET\"\n    ]\n}"}],"_postman_id":"83b5227c-b971-4a76-96f8-9d8583ef1060"}],"id":"797e4e13-daf6-4084-b19c-e27c95870542","_postman_id":"797e4e13-daf6-4084-b19c-e27c95870542","description":""},{"name":"LIVE","item":[],"id":"ed06be64-9115-4418-9eb5-4ee5b91aba64","_postman_id":"ed06be64-9115-4418-9eb5-4ee5b91aba64","description":""}],"variable":[{"key":"base_url","value":"https://bdrbeta.npontu.com"},{"key":"token","value":"your-token-here"}]}