> ## Documentation Index
> Fetch the complete documentation index at: https://docs.frankieone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Authentication

The FrankieOne API provides a simple, but secure mechanism for authentication.

As a user of the FrankieOne API, a **CustomerId** and potentially a **ChildId** will be allocated.

The ***CustomerID*** is the primary identifier.

The **ChildID** will be issued when accessing the service either as part of an organizational division (for example, a regional/country division) or as the agent of a service that uses FrankieOne for their KYC/AML needs.

A user will be issued an **API Key** that's tied to both the **CustomerID** and **ChildID**.

To authenticate each call, the user must supply the **CustomerID**, the **ChildID** (if used), and the **API Key** as headers in every call to the service. The headers to use are:

```http HTTP theme={null}
X-Frankie-CustomerID: 12345678-1234-1234-1234-123456789012
X-Frankie-CustomerChildID: 87654321-4321-4321-4321-210987654321
api_key: 245c765b124a098d09ef8765....
```

<Accordion title="Test your connection">
  The easiest way to verify that your credentials and connection are working is to call our simple health check endpoint: /ruok. This endpoint doesn’t require a request body and is used purely to confirm successful authentication.

  ### Request - Health check

  ```
  curl --location '[https://api.uat.frankie.one/v2/kyc/ruok](https://api.uat.frankie.one/v2/kyc/ruok)' \--header 'api_key: {{your_uat_api_key}}' \--header 'X-Frankie-CustomerId: {{your_uat_customer_id}}'
  ```

  ### Response

  ```
  {  "status": "OK"}
  ```

  If you receive an error, double-check that your API key and Customer ID are correct and that you are using the correct base URL for the environment.
</Accordion>
