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

# Quickstart Guide

> Start building with Genuka — follow these steps to set up, integrate, and test your first API call.

<img src="https://mintcdn.com/genuka-b204f134/UGjzENpiECPHTzuX/images/dev-genuka.png?fit=max&auto=format&n=UGjzENpiECPHTzuX&q=85&s=5d3301ebab531d3f67a8f2ca18ee4e2f" alt="Process to meet merchands need." height="200" data-path="images/dev-genuka.png" />

# Getting Started with Genuka

Follow this step-by-step guide to create your developer account, register your first application.

## Simple process for applications.

When you create your application on Genuka, it has two modes (production and staging)

1. Staging mode is for testing, and any changes you make to the dashboard while it's still in staging will have no effect on the production version. Keep this in mind before going live.
2. Production mode represents a much more significant phase in your application's lifecycle on the Genuka Store. When you move to production, you must submit your application for review, and our developers will perform the necessary checks and then publish your application if all steps are satisfactory.

<Info>
  It should be noted that the keys are not the same for production and staging, so this must be taken into account.
</Info>

***

<Steps>
  <Step title="Create Your Developer Account">
    Create your **Genuka developer account** and log in to your dashboard.\
    👉 [Register here](https://platform.genuka.com/)

    Once logged in, you can access your developer dashboard to manage your applications and test integrations.
  </Step>

  <Step title="Create Your Application">
    From your developer dashboard, go to the **Applications** section or visit 👉 [Create an App](https://platform.genuka.com/apps/create).

    When creating the application, you will be asked for some additional information. Note that application creation on Genuka only occurs once a deployment is available for testing.

    | Element                 | Explanation                                                         | Example                                                                      |
    | ----------------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
    | name                    | The public name of the application displayed to users.              | "Order Sync App"                                                             |
    | description             | A short description explaining what the app does.                   | "Automatically sync your orders to your CRM."                                |
    | price                   | The price of the application (if paid).                             | 10                                                                           |
    | support\_email          | Email address where users can reach your support team.              | "[support@app.com](mailto:support@app.com)"                                  |
    | support\_url            | URL of your support/help center.                                    | "[https://app.com/support](https://app.com/support)"                         |
    | redirect\_url           | URL where users are redirected after authentication (OAuth).        | "[https://app.com/auth/callback](https://app.com/auth/callback)"             |
    | callback\_url           | API endpoint that receives authorization code/token from Genuka.    | "[https://api.app.com/genuka/callback](https://api.app.com/genuka/callback)" |
    | webhook\_url            | URL to receive event notifications (orders, products, payments…).   | "[https://api.app.com/webhooks/genuka](https://api.app.com/webhooks/genuka)" |
    | terms\_of\_service\_url | Link to your Terms of Service.                                      | "[https://app.com/terms](https://app.com/terms)"                             |
    | privacy\_policy\_url    | Link to your Privacy Policy.                                        | "[https://app.com/privacy](https://app.com/privacy)"                         |
    | medias                  | List of screenshots, images, or logos representing the application. | `["https://cdn.app.com/screen1.png"]`                                        |
    | scopes                  | Permissions the app requires to access Genuka data.                 | `["orders.read", "products.write"]`                                          |
    | plans                   | Pricing plans available for the application.                        | `{ }`                                                                        |
    | version                 | Current version of the application.                                 | "1.0.0"                                                                      |

    🎉 Once created, you’ll receive your:

    * **Public Key** — used for client-side operations
    * **Secret Key** — used for secure server-side authentication

    Keep your **Secret Key** private — it authenticates your server with Genuka’s API.
  </Step>

  <Step title="Choose Your Integration Method">
    You can integrate Genuka in **two ways**, depending on your stack:

    1. **Using the JavaScript SDK** *(Recommended for React, Angular, Vue, etc.)*

    Install the SDK in your project:

    <CodeGroup>
      ```bash Using npm theme={null}
      npm install genuka-api
      ```

      ```bash Using yarn theme={null}
      yarn add genuka-api
      ```

      ```bash Using pnpm theme={null}
      pnpm add genuka-api
      ```
    </CodeGroup>

    Initialize the SDK in your app:

    <Note>
      💡 `companyId` represents the ID of the company whose data you want to access. No worries — this ID is **automatically included with every request**, so there’s nothing extra you need to do. And here’s some good news — **your
      developer account automatically creates a default company**, making it easy to start testing your API calls right away.
    </Note>

    ```javascript theme={null}
    import Genuka from "genuka-api";

    const genuka = await Genuka.initialize({ adminMode: true });

    genuka.setCompanyId(YOUR_COMPANY_ID);
    genuka.setToken(YOUR_ACCES_TOKEN);

    const orders = genuka.orders.list({ isAdmin: true }),
    console.log({orders})
    ```

    2. **Using the REST API directly**

    You can also interact directly with the API using `fetch`, `axios`, or cURL:

    ```bash theme={null}
    curl -X GET https://api-staging.genuka.com/2023-11/products/ \
    -H "x-company: companyId" \
    -H "Authorization: Bearer ACCESS_TOKEN"
    ```
  </Step>

  <Step>
    ⚠️ **Important:**\
    When your app is installed by a client, Genuka will automatically provide it with a **hmac** specific to that client.\
    This hmac can be use to optain the *unique access token* who is used to authenticate all API calls made on behalf of that client.

    👉 For more details about how tokens are generated and managed, see [Authentication](/getting-started/authentication).

    👉 Choose the method that best fits your application stack.
  </Step>

  <Step title="Set Up Webhooks">
    To receive **real-time notifications** (e.g., when an order is created, updated, or completed), configure your webhook endpoint in the dashboard.\
    👉 [Webhook Setup Guide](/getting-started/webhook)
  </Step>

  <Step title="Submit for Review 🧩">
    After testing your app, submit it for review so the Genuka team can verify its compliance and functionality.\
    Our review process ensures that every app meets our **security, performance, and integration standards**.\
    If any issues are found, you'll receive a detailed notification explaining what needs to be fixed before approval.\
    👉 [Submit Your App](/getting-started/submit-app)
  </Step>

  <Step title="Go Live 🚀">
    Once your app is tested and stable, switch to **production mode** from your dashboard:

    1. Deploy your application on your server.
    2. Open your app in the Genuka dashboard.
    3. Click the **"Production mode"** button.

    ✅ Your application will then enter an evaluation phase.\
    If the evaluation is positive (approved), it becomes immediately available on the **Genuka Store** for clients to install and use.
  </Step>
</Steps>
