> ## 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.

# Getting Started: Your First API Call

This guide will walk you through setting up your environment, authenticating, and making your first successful API call to the FrankieOne platform.

Welcome to the FrankieOne API! This guide provides the essential information to get you up and running. Our goal is to help you make your first successful API call in minutes.

### Your FrankieOne Starter Pack

When you partner with FrankieOne, your Customer Success Manager will provide you with a starter pack containing everything you need for each environment. You should have the following:

| Resource             | UAT / Sandbox                                  | Production                                 |
| :------------------- | :--------------------------------------------- | :----------------------------------------- |
| **Portal URL**       | `https://portal.uat.frankie.one`               | `https://portal.frankie.one`               |
| **API Base URL**     | `https://api.uat.frankie.one/v2`               | `https://api.frankie.one/v2`               |
| **KYB API Base URL** | `https://api.uat.frankie.one/v2/organizations` | `https://api.frankie.one/v2/organizations` |
| **Customer ID**      | Your unique UAT Customer ID                    | Your unique Production Customer ID         |
| **API Key**          | Your secret UAT API Key                        | Your secret Production API Key             |

***

## Authentication Headers

All API requests to FrankieOne must be authenticated. You'll use the credentials from your starter pack in the request headers.

| Header                      | Required | Description                                                                                                      |
| :-------------------------- | :------- | :--------------------------------------------------------------------------------------------------------------- |
| `api_key`                   | **Yes**  | Your secret API key for the specific environment (UAT or Production).                                            |
| `X-Frankie-CustomerId`      | **Yes**  | The unique identifier for your account.                                                                          |
| `X-Frankie-CustomerChildId` | No       | The unique identifier for your child account.                                                                    |
| `X-Frankie-Username`        | No       | The email address or identifier of the operator performing the action. Highly recommended for auditing purposes. |
| `X-Frankie-Channel`         | No       | The channel the request originates from (e.g., `API`, `PORTAL`, `ONESDK`). Useful for analytics and routing.     |

<Callout icon="bell" color="#FFCA16" iconType="regular">
  ##### Keep Your API Key Secure

  Your `api_key` is a secret and should be treated like a password. Store it securely on your backend and never expose it in client-side code or public repositories. If you suspect a key has been compromised, contact support immediately.
</Callout>

***

## Quickstart in 3 Steps

Follow these steps to ensure your credentials are correct and your environment is ready for integration.

<Steps>
  <Step title="1. 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.

    <CodeGroup>
      ```bash Request - Health Check theme={null}
      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}}'
      ```
    </CodeGroup>

    A successful request will return a `200 OK` status and the following JSON response, confirming your keys are valid.

    <CodeGroup>
      ```json Response theme={null}
      {
        "status": "OK"
      }
      ```
    </CodeGroup>

    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.
  </Step>

  <Step title="2. Confirm Your Workflow Setup">
    Before you can start verifying customers, your account needs to be configured with at least one workflow and one service profile. Your Customer Success Manager typically sets these up for you.

    You can confirm your setup by calling the `GET /v2/workflows` endpoint. This will list all the executable workflows available to you.

    <CodeGroup>
      ```curl Request - Get Workflows theme={null}
      curl --location '[https://api.uat.frankie.one/v2/workflows](https://api.uat.frankie.one/v2/workflows)' \
      --header 'api_key: {{your_uat_api_key}}' \
      --header 'X-Frankie-CustomerId: {{your_uat_customer_id}}'
      ```
    </CodeGroup>

    You should receive a `200 OK` response with a `workflows` array. If the array is empty, please contact your Customer Success Manager to get your workflows published.

    <CodeGroup>
      ```json Response - Get Workflows theme={null}
      {
          "requestId": "req_01J...",
          "workflows": [
              {
                  "serviceName": "DEFAULT",
                  "workflowId": "wf_01J...",
                  "workflowName": "GLB-Organization-Profile",
                  "type": "SYSTEM",
                  "lifecyclePhase": "ONBOARDING"
              }
          ]
      }
      ```
    </CodeGroup>
  </Step>

  <Step title="3. Make Your First KYB Call">
    Now you're ready to onboard a business. You can start by looking up for a business and creating an `organization` entity and then execute a workflow on it.

    You will need the `serviceName` and `workflowName` from the previous step.
  </Step>
</Steps>

***

## Next Steps

You've successfully authenticated and confirmed your setup. Now you're ready to start building. Follow our implementation guides for common use cases.

<CardGroup cols={2}>
  <Card title="Lookup a Business" icon="magnifying-glass" href="/docs/kyb/lookup-a-business" iconType="solid">
    Learn how to search for a business.
  </Card>

  <Card title="Creating & Managing Organizations" icon="building-columns" href="/docs/kyb/managing-organizations" iconType="solid">
    Learn the complete lifecycle of an 'organization' entity, from creation and retrieval to deletion.
  </Card>

  <Card title="Executing a Workflow" icon="play" href="/docs/kyb/executing-workflows" iconType="solid">
    A step-by-step guide to executing a verification workflow against an existing entity.
  </Card>

  <Card title="API Reference" icon="book-open" href="/docs/reference/whats-new" iconType="solid">
    Dive deep into every endpoint, parameter, and response object in our comprehensive API Reference.
  </Card>
</CardGroup>
