> For the complete documentation index, see [llms.txt](https://documentation.opencrvs.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.opencrvs.org/v1.7/technology/interoperability/national-id-client.md).

# National ID client

Civil registration provides the source of truth for any vital event that occurs in a country. As a result is usual that an integration with a country's National ID system is requested.

### Default functionality

Currently OpenCRVS supports the following default National ID integration functionality:

#### Use cases:

OpenCRVS can let a National ID system know of any birth that occurs in the country so that operations can be put in place to provide a National ID number for the child.  OpenCRVS can let a National ID system know of any death that occurs in the country so that operations can be put in place to mark the individual as deceased.

There are 3 points of integration possible.

1\) Configuration of a HTTP, FETCH\_BUTTON, ID\_READER (used when scanning QR codes on ID cards), or ID\_VERIFICATION\_BANNER (used to display authentication status to the user) components in your declaration forms to authenticate a parent or informant's National ID via the National ID portal's APIs. &#x20;

2\) Intgegration to the National ID system at the point where backend processing is [poised to register the event](https://github.com/opencrvs/opencrvs-countryconfig/blob/a84fe1bb9499fd09dd957e2744261daeeb4ee87f/src/api/event-registration/handler.ts#L21) in OpenCRVS.

3\) Subscription to the REGISTERED webhook to perform an action once the civil registration is completed.

### Future National ID integration functionality

**Revocation**: Occasionally a birth or death may be wrongly registered either fraudulently or by mistake. Any revocation in OpenCRVS should be communicated to the National ID system.

**Correction**: Occasionally data may have been entered incorrectly to the registration and a legal correction is performed in OpenCRVS. Any correction in OpenCRVS should be communicated to the National ID system.

We are continually improving our National ID integration capabilities and look forward to addressing functionality such as this in future versions of OpenCRVS. For more information, please get in touch at: **<team@opencrvs.org>**

### MOSIP / E-Signet integration

Previous integrations with MOSIP & E-Signet are in a state of refactor to utilise the MOSIP Packet Manager API. &#x20;

OpenCRVS 1.8.0 will introduce a MVP, production ready integration with MOSIP using Packet Manager API.  A new [OpenCRVS > MOSIP NPM package](https://www.npmjs.com/package/@opencrvs/mosip) has been created to ease interoperability requirements. &#x20;

This [country configuration repository](https://github.com/opencrvs/opencrvs-countryconfig-mosip) gives code examples regarding how to use the package and configure the flows. &#x20;

Flows are currently in a design state and will be updated and finalised for a production ready integration covering all possible unhappy path eventualities in OpenCRVS v1.9.0

{% embed url="<https://www.figma.com/board/DifOmLi6RpYidYy7p28zXy/MOSIP-Integration?node-id=940-1862&t=oOM7CgPvAr4ioy9P-1>" %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://documentation.opencrvs.org/v1.7/technology/interoperability/national-id-client.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
