# VRK Online Getting Started

Lets get started by getting the **VRK API Service** ready for integration.

<details>

<summary>Features and Functionalities</summary>

**Overview:**

The Verifone Remote Key (VRK) API Service provides a robust solution for managing requests for encrypted VRK key block payloads securely through Verifone's VRK Key Management Service. This service is designed to ensure the safe, remote, and efficient handling of keys via a RESTful API interface. By leveraging this API, users can streamline their remote key payload requests and management processes with high assurance of security.

**Features:**

* **Secure Key Requests:** Utilize the API to request encrypted VRK key block payloads from Verifone's secure VRK infrastructure, ensuring your transaction data remains protected.
* **RESTful Interface:** Benefit from the efficient and widely adopted REST API standards for seamless integration into your existing systems.
* **Remote Management:** Handle key requests remotely, reducing the need for physical interactions and streamlining your security operations.
* **Comprehensive Documentation:** Access detailed documentation to assist in the integration and utilization of the VRK API Service for various use cases.
* **Clear Authentication Procedures:** Follow clearly defined authentication protocols to ensure that only authorized users can interact with the API.

**Usage:**

The VRK API Service is designed for businesses and developers who require secure and efficient encryption key management. By integrating this API, you can:

1. **Request Keys:** Perform requests for encrypted VRK key block payloads directly from your applications to the Verifone VRK Service.
2. **Manage Encryption Efficiently:** Simplify the administrative workload associated with encryption key lifecycle management.
3. **Enhance Security Frameworks:** Bolster your security posture by centralizing key management within a trusted platform.

</details>

{% if visitor.isSet === false %}
{% columns %}
{% column %}

<h4 align="center"><strong>Please login or register to gain access to the detailed material on this page.</strong></h4>
{% endcolumn %}

{% column %}

<p align="right"><a href="https://identity.verifone.com/am/XUI/?realm=/alpha&#x26;authIndexType=service&#x26;authIndexValue=DocsLoginV7&#x26;goto=https://docs.verifone.com/" class="button primary" data-icon="shield-keyhole">Login</a><a href="https://partner-registration.verifone.com/" class="button secondary">Register for an Account</a></p>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% stepper %}
{% step %}

### Establish Keys in VRK

Your keys must already exist in the VRK Service. Configure them for the target payment application and device.

{% if visitor.isSet === false %}
{% columns %}
{% column %}

{% endcolumn %}

{% column %}

<p align="right"><a href="https://identity.verifone.com/am/XUI/?realm=/alpha&#x26;authIndexType=service&#x26;authIndexValue=DocsLoginV7&#x26;goto=https://docs.verifone.com/" class="button primary" data-icon="shield-keyhole">Login</a></p>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% if visitor.isSet === true %} <a href="/pages/HzX6AGb0ogEVhrBnj47P" class="button primary" data-icon="key">Establishing Keys with VRK Service</a>
{% endif %}
{% endstep %}

{% step %}

### Request Test Access

Access starts through your account representative. Sales enables the service through the contract process.

After approval, Verifone shares the test customer UUID. Use this UUID to generate a Mutual TLS (MTLS) Certificate pair to authenticate with the VRK service.
{% endstep %}

{% step %}

### Generate and Submit your TLS Client Certificate

The VRK API authenticates clients with mutual TLS. Create a certificate request and submit it to Verifone.

{% if visitor.isSet === false %}
{% columns %}
{% column %}

{% endcolumn %}

{% column %}

<p align="right"><a href="https://identity.verifone.com/am/XUI/?realm=/alpha&#x26;authIndexType=service&#x26;authIndexValue=DocsLoginV7&#x26;goto=https://docs.verifone.com/" class="button primary" data-icon="shield-keyhole">Login</a></p>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% if visitor.isSet === true %} <a href="/spaces/2Jk35FWim62btu375hFs/pages/XS7bgHaN6Ns26X0cAdhj" class="button primary" data-icon="shield-halved">Open certificate instructions</a><a href="/spaces/2Jk35FWim62btu375hFs/pages/1pQABdSKozPpmRtznldk" class="button secondary" data-icon="download">Open scripts and forms</a>
{% endif %}
{% endstep %}

{% step %}

### Validate in Test

Use the API reference to review available endpoints and validate payload retrieval in test.

{% if visitor.isSet === false %}
{% columns %}
{% column %}

{% endcolumn %}

{% column %}

<p align="right"><a href="https://identity.verifone.com/am/XUI/?realm=/alpha&#x26;authIndexType=service&#x26;authIndexValue=DocsLoginV7&#x26;goto=https://docs.verifone.com/" class="button primary" data-icon="shield-keyhole">Login</a></p>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% if visitor.isSet === true %} <a href="/spaces/2Jk35FWim62btu375hFs/pages/o8uSXxjI4TkRd7NyFU68" class="button primary" data-icon="flask">Open test API reference</a>
{% endif %}
{% endstep %}

{% step %}

### Request Production Access and Validate

Use the production certificate resources and API reference before go-live.

{% if visitor.isSet === false %}
{% columns %}
{% column %}

{% endcolumn %}

{% column %}

<p align="right"><a href="https://identity.verifone.com/am/XUI/?realm=/alpha&#x26;authIndexType=service&#x26;authIndexValue=DocsLoginV7&#x26;goto=https://docs.verifone.com/" class="button primary" data-icon="shield-keyhole">Login</a></p>
{% endcolumn %}
{% endcolumns %}
{% endif %}

{% if visitor.isSet === true %} <a href="/pages/KvAaq3WGIKBJkwBrtv0N" class="button primary" data-icon="lock">Production certificate instructions</a><a href="/spaces/2Jk35FWim62btu375hFs/pages/1pQABdSKozPpmRtznldk" class="button secondary" data-icon="file-signature">Production forms</a>
{% endif %}
{% endstep %}

{% step %}

### Verifone Remote Key (VRK) API

Now you are ready to begin your integration. View or download the OpenAPI REST specificaiton into your favorite test client, configure mTLS, and begin testing.

{% if visitor.isSet === true %} <a href="/pages/rEORsMnTjYt3a2b334dZ" class="button primary" data-icon="flask">REST API reference</a>
{% endif %}

{% if visitor.isSet === false %}
{% columns %}
{% column %}

{% endcolumn %}

{% column %}

<p align="right"><a href="https://identity.verifone.com/am/XUI/?realm=/alpha&#x26;authIndexType=service&#x26;authIndexValue=DocsLoginV7&#x26;goto=https://docs.verifone.com/" class="button primary" data-icon="shield-keyhole">Login</a></p>
{% endcolumn %}
{% endcolumns %}
{% endif %}
{% endstep %}
{% endstepper %}


---

# Agent Instructions: 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://docs.verifone.com/vrk-online/vrk-online-getting-started.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.
