> 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/v2.0/technical.md).

# Technical

- [Architecture](https://documentation.opencrvs.org/v2.0/technical/architecture.md)
- [Technical stack](https://documentation.opencrvs.org/v2.0/technical/architecture/technical-stack.md)
- [Data architecture](https://documentation.opencrvs.org/v2.0/technical/architecture/data-architecture.md)
- [Integration architecture](https://documentation.opencrvs.org/v2.0/technical/architecture/integration-architecture.md)
- [Standards](https://documentation.opencrvs.org/v2.0/technical/architecture/standards.md)
- [Infrastructure](https://documentation.opencrvs.org/v2.0/technical/architecture/infrastructure.md)
- [Security](https://documentation.opencrvs.org/v2.0/technical/architecture/security.md)
- [Performance](https://documentation.opencrvs.org/v2.0/technical/architecture/performance.md)
- [Guides](https://documentation.opencrvs.org/v2.0/technical/guides.md)
- [Installation](https://documentation.opencrvs.org/v2.0/technical/guides/installation.md)
- [Quick Start](https://documentation.opencrvs.org/v2.0/technical/guides/installation/quick-start.md)
- [Deploy: Set-up a server-hosted environment](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment.md)
- [Preparation steps](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment/preparation-steps.md)
- [Setup infrastructure](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment/preparation-steps/setup-infrastructure.md)
- [Configure DNS](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment/preparation-steps/configure-dns.md)
- [Issue SSL Certificates](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment/preparation-steps/issue-ssl-certificates.md)
- [Create prerequisite accounts and repositories](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment/preparation-steps/create-prerequisite-accounts-and-repositories.md)
- [Create a Github environment](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment/create-a-github-environment.md)
- [Approval Process for Production Environments](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment/create-a-github-environment/approval-process-for-production-environments.md)
- [Environment secrets and variables explained](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment/create-a-github-environment/environment-secrets-and-variables-explained.md)
- [Bootstrap servers](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment/bootstrap-servers.md)
- [Provisioning servers](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment/provisioning-servers.md)
- [Provision settings](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment/provisioning-servers/provision-settings.md)
- [Ansible tasks when provisioning](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment/provisioning-servers/ansible-tasks-when-provisioning.md)
- [Deploy](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment/deploy.md)
- [Running Dependencies deployment](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment/deploy/running-a-dependencies-deployment.md)
- [Running an OpenCRVS deployment](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment/deploy/running-a-opencrvs-deployment.md)
- [Login to an OpenCRVS server](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment/deploy/login-to-an-opencrvs-server.md)
- [Migration from Docker swarm guide](https://documentation.opencrvs.org/v2.0/technical/guides/installation/deploy-set-up-a-server-hosted-environment/migration-from-docker-swarm-guide.md)
- [OpenCRVS maintenance tasks](https://documentation.opencrvs.org/v2.0/technical/guides/installation/opencrvs-maintenance-tasks.md)
- [Seeding a server environment](https://documentation.opencrvs.org/v2.0/technical/guides/installation/opencrvs-maintenance-tasks/seeding-a-server-environment.md)
- [Resetting a server environment](https://documentation.opencrvs.org/v2.0/technical/guides/installation/opencrvs-maintenance-tasks/resetting-a-server-environment.md)
- [Backup & Restore](https://documentation.opencrvs.org/v2.0/technical/guides/installation/opencrvs-maintenance-tasks/backup-and-restore.md)
- [Automated backup configuration](https://documentation.opencrvs.org/v2.0/technical/guides/installation/opencrvs-maintenance-tasks/backup-and-restore/automated-backup-configuration.md)
- [Manual backup creation](https://documentation.opencrvs.org/v2.0/technical/guides/installation/opencrvs-maintenance-tasks/backup-and-restore/manual-backup-creation.md)
- [Automated restore configuration](https://documentation.opencrvs.org/v2.0/technical/guides/installation/opencrvs-maintenance-tasks/backup-and-restore/restoring-a-backup.md)
- [Manual restore / Disaster recovery](https://documentation.opencrvs.org/v2.0/technical/guides/installation/opencrvs-maintenance-tasks/backup-and-restore/manual-restore-disaster-recovery.md)
- [Off-boarding from OpenCRVS](https://documentation.opencrvs.org/v2.0/technical/guides/installation/opencrvs-maintenance-tasks/off-boarding-from-opencrvs.md)
- [Advanced topics](https://documentation.opencrvs.org/v2.0/technical/guides/installation/advanced-topics.md)
- [Ubuntu Firewall configuration](https://documentation.opencrvs.org/v2.0/technical/guides/installation/advanced-topics/ubuntu-firewall-configuration.md)
- [Ubuntu unattended-upgrades](https://documentation.opencrvs.org/v2.0/technical/guides/installation/advanced-topics/ubuntu-unattended-upgrades.md)
- [TLS/SSL Configuration for traefik](https://documentation.opencrvs.org/v2.0/technical/guides/installation/advanced-topics/tls-ssl-configuration-for-traefik.md)
- [LetsEncrypt https challenge in development environments](https://documentation.opencrvs.org/v2.0/technical/guides/installation/advanced-topics/tls-ssl-configuration-for-traefik/letsencrypt-https-challenge-in-development-environments.md)
- [LetsEncrypt DNS challenge in production](https://documentation.opencrvs.org/v2.0/technical/guides/installation/advanced-topics/tls-ssl-configuration-for-traefik/letsencrypt-dns-challenge-in-production.md)
- [Static TLS certificates](https://documentation.opencrvs.org/v2.0/technical/guides/installation/advanced-topics/tls-ssl-configuration-for-traefik/static-tls-certificates.md)
- [SSH access](https://documentation.opencrvs.org/v2.0/technical/guides/installation/advanced-topics/ssh-access.md)
- [Kubernetes cluster access](https://documentation.opencrvs.org/v2.0/technical/guides/installation/advanced-topics/kubernetes-cluster-access.md)
- [Add Custom GitHub secrets to Kubernetes](https://documentation.opencrvs.org/v2.0/technical/guides/installation/advanced-topics/add-custom-github-secrets-to-kubernetes.md)
- [Disk space management](https://documentation.opencrvs.org/v2.0/technical/guides/installation/advanced-topics/disk-space-management.md)
- [Deploy OpenCRVS with external data stores](https://documentation.opencrvs.org/v2.0/technical/guides/installation/advanced-topics/deploy-opencrvs-with-external-data-stores.md)
- [Configuration](https://documentation.opencrvs.org/v2.0/technical/guides/configuration.md)
- [General](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/general.md)
- [Administrative hierarchy](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/administrative-hierarchy.md)
- [Administrative areas](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/administrative-hierarchy/administrative-areas.md)
- [Locations](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/administrative-hierarchy/locations.md)
- [How to populate administrative hierarchy](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/administrative-hierarchy/how-to-populate-administrative-hierarchy.md)
- [How to configure place of event](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/administrative-hierarchy/how-to-configure-place-of-event.md)
- [How to limit location and administrative area options in event declaration](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/administrative-hierarchy/how-to-limit-location-and-administrative-area-options-in-event-declaration.md)
- [Users](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/users.md)
- [Roles and scopes](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/users/roles-and-scopes.md)
- [How to configure scopes](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/users/how-to-configure-scopes.md)
- [How "user scope" options map to user details?](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/users/how-user-scope-options-map-to-user-details.md)
- [How "record scope" options map to event declaration?](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/users/how-record-scope-options-map-to-event-declaration.md)
- [Events](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/events.md): How to configure life events
- [Declaration & Forms](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/events/declaration-and-forms.md): How to configure the declaration and action forms
- [Form fields](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/events/declaration-and-forms/form-fields.md): Configuring form fields
- [Form validations](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/events/declaration-and-forms/form-validations.md): Configuring form field validations
- [Actions](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/events/actions.md): Configuring actions for your event
- [Core actions](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/events/actions/core-actions.md): Configuring core actions
- [Custom actions](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/events/actions/custom-actions.md): Configuring custom actions
- [Flags](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/events/flags.md): Configuring custom flags
- [Conditionals](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/events/conditionals.md): Configuring conditionals
- [Workqueues](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/workqueues.md): Configuring workqueues
- [Certificates](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/certificates.md): Configuring your printable PDF documents
- [Built-in helpers and template variables](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/certificates/built-in-helpers-and-template-variables.md): How to use the built-in certificate helpers
- [Custom Handlebars.js helpers](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/certificates/custom-handlebars.js-helpers.md): How to add custom certificate helpers
- [Multi-Page Certificate Templates](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/certificates/multi-page-certificate-templates.md): Configuring multi-page PDF certificates
- [Action triggers](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/action-triggers.md)
- [Email notifications](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/action-triggers/email-notifications.md): Configuring email notifications
- [Dashboards](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/dashboards.md): Configuring your analytics dashboards
- [Translations](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/translations.md)
- [Integrations](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/integrations.md)
- [Authenticate a client](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/integrations/authenticate-a-client.md): Authenticating with your client details to retrieve an access token using OAuth 2.0
- [Integration: ID systems](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/integrations/integration-id-systems.md)
- [MOSIP Overview](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/integrations/mosip-overview.md)
- [MOSIP Deployment](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/integrations/mosip-deployment.md)
- [MOSIP Form Authentication](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/integrations/mosip-form-authentication.md)
- [MOSIP Registration Integration](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/integrations/mosip-registration-integration.md)
- [Verifiable Credentials](https://documentation.opencrvs.org/v2.0/technical/guides/configuration/integrations/verifiable-credentials.md)
- [Monitoring](https://documentation.opencrvs.org/v2.0/technical/guides/monitoring.md)
- [Data migration](https://documentation.opencrvs.org/v2.0/technical/guides/data-migration.md)
- [Version upgrades](https://documentation.opencrvs.org/v2.0/technical/guides/version-upgrades.md): Step-by-step guide for upgrading the version of your OpenCRVS deployment
- [Contributing](https://documentation.opencrvs.org/v2.0/technical/guides/contributing.md)
- [Core development](https://documentation.opencrvs.org/v2.0/technical/guides/contributing/core-development.md)
- [APIs](https://documentation.opencrvs.org/v2.0/technical/apis.md)
- [Core APIs](https://documentation.opencrvs.org/v2.0/technical/apis/core-apis.md): Core OpenAPI spec
- [Events](https://documentation.opencrvs.org/v2.0/technical/apis/core-apis/events.md)
- [Search](https://documentation.opencrvs.org/v2.0/technical/apis/core-apis/search.md)
- [Locations](https://documentation.opencrvs.org/v2.0/technical/apis/core-apis/locations.md)
- [Integrations](https://documentation.opencrvs.org/v2.0/technical/apis/core-apis/integrations.md)
- [Attachments](https://documentation.opencrvs.org/v2.0/technical/apis/core-apis/attachments.md)
- [Models](https://documentation.opencrvs.org/v2.0/technical/apis/core-apis/models.md)
- [Country-config APIs](https://documentation.opencrvs.org/v2.0/technical/apis/country-config-apis.md): Country-config OpenAPI spec
- [Events](https://documentation.opencrvs.org/v2.0/technical/apis/country-config-apis/events.md)
- [Models](https://documentation.opencrvs.org/v2.0/technical/apis/country-config-apis/models.md)
- [Toolkit](https://documentation.opencrvs.org/v2.0/technical/apis/toolkit.md)
- [Configuration](https://documentation.opencrvs.org/v2.0/technical/apis/toolkit/configuration.md)
- [Advanced search](https://documentation.opencrvs.org/v2.0/technical/apis/toolkit/configuration/advanced-search.md)
- [Conditionals](https://documentation.opencrvs.org/v2.0/technical/apis/toolkit/conditionals.md): All conditional builders return a JSONSchema object. Combine them with and, or, and not. Use them in field or action conditionals arrays.
- [Deduplication](https://documentation.opencrvs.org/v2.0/technical/apis/toolkit/deduplication.md)
- [API Client](https://documentation.opencrvs.org/v2.0/technical/apis/toolkit/api-client.md)


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.opencrvs.org/v2.0/technical.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
