> For the complete documentation index, see [llms.txt](https://docs.vida.id/identity-stack/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vida.id/identity-stack/authentication/authentication-factors/cryptographic-token-pki/integration-workflow/device-registration.md).

# Device Registration

The device registration workflow enables the secure registration of a device within the VIDA authentication credential services. The process involves the user initiating a registration request, which is then facilitated by the partner mobile application and server.&#x20;

The VIDA authentication credential services generate a credential ID, which is used to associate cryptographic information with the VIDA mobile CDK. The partner server communicates the credential ID to the mobile application, and the VIDA mobile CDK generates a keypair and registers the public key with the VIDA authentication credential services. The registration status can be checked by the partner server using the credential ID.

1. **User Initiation:** The device registration process begins when the user initiates a device registration request.
2. **Partner Mobile Application Request:** The partner mobile application sends a device registration workflow request to the partner server.
3. **Partner Server Request:** The partner server, upon receiving the request, sends a register request to the VIDA server to initiate the device registration process.
4. **Credential ID Generation:** The VIDA authentication credential services generate a unique credential ID, which serves as an identifier for the registered device. This credential ID allows the VIDA mobile CDK to associate cryptographic information with the VIDA authentication credential services.
5. **Credential ID Communication:** The partner server sends the credential ID to the partner mobile application using push notifications or other Out-of-band (OOB) mechanisms, based on the partner's architecture. This ensures the mobile application is aware of the credential ID associated with the device.
6. **Device Registration Invocation:** The partner mobile application invokes the device registration process (registerDevice) on the VIDA mobile CDK, passing the credential ID as a parameter.
7. **Keypair Generation and Registration:** The VIDA mobile CDK generates a keypair, consisting of a private key securely stored on the device's platform secured storage and a corresponding public key. The VIDA mobile CDK registers the public key with the VIDA authentication credential services, associating it with the provided credential ID.
8. **Registration Status Response:** The VIDA mobile CDK responds to the mobile application with the status of the registration process, indicating whether it was successful or encountered any errors.
9. **Registration Status Check:** The partner server can periodically poll the VIDA authentication credential services using the credential ID to retrieve the registration status of the device. This can be done through a status call, which provides information on whether the device registration was completed or if any issues occurred.

By following this device registration workflow, the partner mobile application can securely register a device with the VIDA authentication credential services, allowing for subsequent authentication and cryptographic operations.
