Skip to main content

Participant registry

The participant service holds the registry: who is on the exchange, their certificates and callback addresses, and the policies linked to a beneficiary.

Two things to know before you call​

/get/session is not the gateway sessions call. The participant service publishes its own token call under the same name other documents use for the ABDM gateway session. The two differ in address, headers, body encoding and response field names. Use the gateway call by default. The differences are set out in Session token.

APIs​

The rows run in the order the calls happen: your token and your own record, then the payer's products and policy links, then the lookups a provider makes before it sends a message. Environment is Sandbox or Production when a call belongs to one environment. Both means no environment limit is published, so the path goes after either base.

CallCalled byEnvironmentMethod and pathWhat it does
Get session tokenAny participantBothPOST /get/sessionExchanges the participant's client_id and client_secret (OAuth 2.0 client credentials) for a Bearer access_token valid for 1200 seconds.
Participant update (v1)Any participantSandboxPOST /participant/updateUpdates a participant's registry record; participant_code and roles are mandatory, every other field (certificate, endpoint, contacts, status) is optional.
Participant certificate and bridge update (v2)Any participantProductionPOST /v2/participant/updateStages a change to a participant encryption certificate and/or endpoint URL; returns a transactionid for passcode confirmation via /update/validate.
Update certificate (v2, no passcode)Any participantBothPOST /v2/update/certReplaces a participant's public encryption certificate by participantId without passcode validation; the same schema is echoed back on success.
Link payer productPayerBothPOST /product/linkRegisters a product (product id and name) against a payer's participant code, so that it can be referenced in ABHA policy links.
De-link payer productPayerBothPOST /product/delinkRemoves a product (product id and name) from a payer's participant code in the registry.
Get product ownerPayer, to confirm its products; a provider, to find a product's payerBothPOST /product/getownerResolves a product id to the participant code of the payer that owns it.
Get product id and nameNot statedBothPOST /participant/getProductIdNameRetrieving API described as generating the product id and product name; declared with a bare string request body and a participant-code response.
Link ABHA number to policiesPayerBothPOST /participant/link/abha/policyPayer-side write that links a beneficiary's ABHA number and member id to one or more products, so provider policy lookups can find them.
Link ABHA number to policies (v2)PayerBothPOST /v2/participant/link/abha/policyv2 variant of the ABHA policy link; same ParticipantLinkAbhaRequest body and ParticipantLinkAbhaResponse as the unversioned call.
Initiate ABHA policy link (v2)PayerBothPOST /v2/participant/link/abha/policy/initFirst half of the two-step v2 link: submits the ABHA policy link request, to be confirmed with a passcode via the validate endpoint.
Validate ABHA policy link (v2)PayerBothGET /v2/participant/link/abha/policy/validateSecond half of the two-step v2 link: confirms an initiated ABHA policy link with the passcode and transactionId query parameters.
De-link ABHA policiesPayerBothPOST /participant/delink/abha/policyRemoves specific products from a member's policy link for a payer, keyed on payerid, memberid and the products listed.
De-link ABHA policies (v2)PayerBothPOST /v2/participant/delink/abha/policyv2 variant of the ABHA policy de-link; same ParticipantDeLinkAbhaRequest body and response as the unversioned call.
Fetch participants listAny participantBothPOST /fetch/participants/listPayer discovery: lists participants filtered by role, registration date window and optional entity type; the first step of the cashless workflow.
Participant searchAny participantBothPOST /participant/searchReads a participant's full registry record by participant_code, including roles, status, encryption_cert and endpoint_url.
Participant details (v2 search)Any participantBothPOST /participant/detailsv2 variant of participant search: takes participant_code and returns the matching full registry records.
Get beneficiary policiesProviderBothPOST /participant/get/policiesLooks up the policies linked to a beneficiary by ABHA number, member id or mobile number, returning the payer and product details needed for claims.
Get beneficiary policies (v2)ProviderBothPOST /v2/participant/get/policiesv2 variant of the beneficiary policy lookup; same FetchParticipantPoliciesRequest body and ParticipantListResponse as the unversioned call.
Fetch certificateAny participant, before it seals a messageBothPOST /fetch/certsReturns a participant's public encryption certificate (PEM X.509 or SPKI key) by participantid; cache it for 24 hours and use it to build the JWE.
Fetch certificate pathAny participantBothPOST /fetch/certs/pathCompanion to /fetch/certs: takes the same participantid body and returns a string described as the participant's certificate path.

Base URLs​

EnvironmentBase URL
Sandbox, Participant service.https://apisbx.abdm.gov.in/pmjay/sbxhcx/participanthcxservice
Production.https://apisprod.nha.gov.in/pmjay/hcx/participanthcxservice

Guides that use these calls​

The whole specification, with a request you can send from the page, is the Participant registry API reference.