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

# Create account

> Register

## Overview

The Create Account API allows developers to programmatically register new user accounts on the Genuka platform. This endpoint is essential for applications that need to onboard users directly through their own interface while leveraging Genuka's comprehensive business management features.

<Note>
  This endpoint creates a new user account with basic authentication credentials. After successful registration, users will have access to create and manage their business data through the Genuka platform.
</Note>

## Use Cases

This API endpoint is typically used for:

* **Custom onboarding flows** - Integrate account creation directly into your application's user experience
* **Third-party integrations** - Allow other platforms to create Genuka accounts for their users

## Security Considerations

* **Password Requirements**: Minimum 8 characters with at least one uppercase letter, one number, and one special character
* **Rate Limiting**: Account creation is limited to 10 requests per IP address per hour to prevent abuse
* **Duplicate Prevention**: Email addresses can only be associated with one active account

## Response Data

Upon successful account creation, the API returns:

* **User ID**: Unique identifier for the newly created account
* **Account Status**: Current status (pending verification, active, etc.)
* **Access Tokens**: Initial authentication tokens for immediate API access

<Warning>
  Store the returned access tokens securely. They provide immediate API access and should be handled according to your application's security best practices.
</Warning>


## OpenAPI

````yaml POST /2023-11/developer/auth/register
openapi: 3.0.3
info:
  title: Genuka V2 - API
  version: 1.0.0
  contact: {}
servers:
  - url: https://api-staging.genuka.com
  - url: https://api.genuka.com
security:
  - bearerAuth: []
tags:
  - name: Public Routes
  - name: Pages
  - name: Collections
  - name: Shops
  - name: Products
  - name: Articles
  - name: Discounts
  - name: Blogs
  - name: Company
  - name: Review
    description: |-
      ``` json
      {
      "title": "",
      "quantity": "",
      "product_variant": "",
      "date": "",
      "company_id": "",
      "shops": []
      }

       ```
  - name: Private Routes
  - name: Authentication
  - name: Apps
  - name: Accounting
  - name: Addresses
  - name: Customer
  - name: Analytics
  - name: Articles1
  - name: Availabilities
  - name: API Keys
  - name: Orders
  - name: Bills
  - name: Blogs1
  - name: Calendar Events
  - name: Collections1
  - name: Company1
  - name: Customers
  - name: Deliveries
    description: |-
      ``` json
      {
      "title": "",
      "quantity": "",
      "product_variant": "",
      "date": "",
      "company_id": "",
      "shops": []
      }

       ```
  - name: Discount
  - name: Domains
    description: |-
      ``` json
      {
      "domain": "",
      "company_id": ""
      }

       ```
  - name: Analytics1
  - name: Orders1
  - name: Payments
  - name: Pages1
  - name: Production
  - name: Bill of Materials
  - name: Payments1
  - name: Payments Methods
  - name: Workflows
  - name: New Folder
  - name: Wallet
  - name: Marketing
  - name: Campaigns
  - name: Templates
  - name: Products1
  - name: Product Variants
  - name: Analytics12
  - name: Services
    description: >-
      Services are "Products" that have a duration in minutes, a buffer time and
      a list of users able to provide the service.
  - name: SupplierProducts
  - name: Shops1
    description: >-
      Shops are sort of subsidiary of companies. A Company can have many Shops.
      Each shop can have 0 or more .  
        
      But all of them are properties of a Company.
  - name: Warehouses
    description: >-
      Warehouses are places where stocks are placed.


      Shop which are physical or virtual point of sales can be attached to one
      or many warehouses to take their products.
  - name: Stocks
    description: |-
      ``` json
      {
      "title": "",
      "quantity": "",
      "product_variant": "",
      "date": "",
      "company_id": "",
      "shops": []
      }

       ```
  - name: Review1
    description: |-
      ``` json
      {
      "title": "",
      "quantity": "",
      "product_variant": "",
      "date": "",
      "company_id": "",
      "shops": []
      }

       ```
  - name: ReviewCriterion
    description: |-
      ``` json
      {
      "title": "",
      "quantity": "",
      "product_variant": "",
      "date": "",
      "company_id": "",
      "shops": []
      }

       ```
  - name: StockMovements
    description: |-
      ``` json
      {
      "title": "",
      "quantity": "",
      "product_variant": "",
      "date": "",
      "company_id": "",
      "shops": []
      }

       ```
  - name: Suppliers
  - name: Treasury Accounts
    description: Comptes de trésorerie
  - name: Users
  - name: Wrapped
  - name: Returns
  - name: Webhooks
  - name: Customer Routes
  - name: Authentication1
  - name: Addresses1
  - name: Orders12
  - name: Payments12
  - name: Review12
    description: |-
      ``` json
      {
      "title": "",
      "quantity": "",
      "product_variant": "",
      "date": "",
      "company_id": "",
      "shops": []
      }

       ```
  - name: Developer Routes
  - name: Authentication12
  - name: Apps1
  - name: Apps Shortcut
  - name: Products12
    description: Developer can access a company product through its app
paths:
  /2023-11/developer/auth/register:
    post:
      tags:
        - Developer Routes
        - Authentication12
      summary: Register
      description: Register
      operationId: register1
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                company:
                  type: object
                  properties:
                    currency_code:
                      type: string
                      example: XAF
                    name:
                      type: string
                      example: Evolutive Games
                user:
                  type: object
                  properties:
                    email:
                      type: string
                      example: rushclin.takam@gmail.com
                    first_name:
                      type: string
                      example: Takam
                    last_name:
                      type: string
                      example: Rushclin
                    password:
                      type: string
                      example: rushclin.takam@gmail.com
                    phone:
                      nullable: true
                      example: null
            examples:
              Register:
                value:
                  company:
                    currency_code: XAF
                    name: Evolutive Games
                  user:
                    email: rushclin.takam@gmail.com
                    first_name: Takam
                    last_name: Rushclin
                    password: rushclin.takam@gmail.com
                    phone: null
      responses:
        '200':
          description: UserRegistered
          headers:
            CF-Cache-Status:
              schema:
                type: string
                example: DYNAMIC
            CF-RAY:
              schema:
                type: string
                example: 83449945fb5c6f27-CDG
            Cache-Control:
              schema:
                type: string
                example: no-cache, private
            Connection:
              schema:
                type: string
                example: keep-alive
            Content-Encoding:
              schema:
                type: string
                example: br
            Date:
              schema:
                type: string
                example: Tue, 12 Dec 2023 08:29:20 GMT
            NEL:
              schema:
                type: string
                example: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
            Report-To:
              schema:
                type: string
                example: >-
                  {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=aS5zvPYTWJzsplqqvP39UchfFNWqGZphJhcxnNGiLXbHSuEKgVrBCouwTa1bOk1pM0VfdggqO%2Bk7XqzhRcmHhEenxsBKQ38usn%2BOXHPTaf0FqyseGOP%2FI2TJIzTkyN%2BuyGEpVwtEMigv"}],"group":"cf-nel","max_age":604800}
            Server:
              schema:
                type: string
                example: cloudflare
            Transfer-Encoding:
              schema:
                type: string
                example: chunked
            Vary:
              schema:
                type: string
                example: Origin
            X-RateLimit-Limit:
              schema:
                type: string
                example: '60000'
            X-RateLimit-Remaining:
              schema:
                type: string
                example: '59999'
            alt-svc:
              schema:
                type: string
                example: h3=":443"; ma=86400
          content:
            application/json:
              schema:
                type: object
                properties:
                  accessToken:
                    type: string
                    example: >-
                      eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwianRpIjoiMGU3NDgxOWFhNzY0MGNjNWViZWE2YzVkNjlkMmY5ZDA4NjViOGUzNTM4ZTdiZDFlNWE2ZDMzZGIwYjA0NjY0ZWZhMjIyYzQwMTgyZmFlYzYiLCJpYXQiOjE3MDIzNjk3NTkuODA5MzA1LCJuYmYiOjE3MDIzNjk3NTkuODA5MzEsImV4cCI6MTczMzk5MjE1OS42MjI3MzEsInN1YiI6IjAxaGhlamEzNjhzeHAyeDJuZHFlY243dGo2Iiwic2NvcGVzIjpbIioiXX0.JxJavOQQj4Hry6V6I0NjERorJqQX4rvR7XLZmwCk3kdvat6-vXjQqC-qSW_xvCaYh080fMPOjVmqHa84HgwuQrs50fUrnbcbUOasnr9IlAVA2xSS_9432QyUJkKwfYU9u2k7DRUkF1VzITdqEYZ7oG_BgRd3BRf_N8Ce_4LGaKskL2BSHhpc9CAwXxreYbXsvWYAexZc5B_sOsUDFjBI1Z37pzrVE_OSI0hwVrgYi4VPH3gxLsPtX5idR2HactJ3GGHgnY4TtAlN6HjfPx7_m7-LqllYc85Y4lKBYBNr-pEVYeg6PdzbakYyVCvcm1nnhKxd7tG_kvLtA_IvNgRXpRkZo-rve7P1a5-8wUFLj2vy3hF6NR-hju_rFrpvQRBrUFCvJ7oEFelgfenkoWoQHKmuh9olfsXo6POV1A9cefFRmha5kmZxvh0PPK2kB9NtnpVJisPdk2nbnl7vzuNqWL8XEkBtkfvG2u8YjqvyCFIrea_wV_YEcgdQWKUkhDzjXJCdYtyWULHFtuLZuelwVEegNUEodvDzrdH0pn9BiUDjqN2RMaU5rwkEvKRhp7ow5DwbbMKFJ3UCa1OsQ3BfuA_NRdSib8LyKHvBzCZ5YhP_KwKKFzj2qKQ0VSfvwKdXPdyRPCP6STqvIoBmVO8Wa--LmavltXcaQslNcUeECcg
                  companyId:
                    type: string
                    example: 01hheja204e7hya2rgjgbwxts3
                  token:
                    type: object
                    properties:
                      client_id:
                        type: number
                        example: 1
                      created_at:
                        type: string
                        example: '2023-12-12T08:29:19.000000Z'
                      expires_at:
                        type: string
                        example: '2024-12-12T08:29:19.000000Z'
                      id:
                        type: string
                        example: >-
                          0e74819aa7640cc5ebea6c5d69d2f9d0865b8e3538e7bd1e5a6d33db0b04664efa222c40182faec6
                      name:
                        type: string
                        example: Wilfried Djopa
                      revoked:
                        type: boolean
                        example: false
                      scopes:
                        type: array
                        items:
                          type: string
                          example: '*'
                        example:
                          - '*'
                      updated_at:
                        type: string
                        example: '2023-12-12T08:29:19.000000Z'
                      user_id:
                        type: string
                        example: 01hheja368sxp2x2ndqecn7tj6
              examples:
                UserRegistered:
                  value:
                    accessToken: >-
                      eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwianRpIjoiMGU3NDgxOWFhNzY0MGNjNWViZWE2YzVkNjlkMmY5ZDA4NjViOGUzNTM4ZTdiZDFlNWE2ZDMzZGIwYjA0NjY0ZWZhMjIyYzQwMTgyZmFlYzYiLCJpYXQiOjE3MDIzNjk3NTkuODA5MzA1LCJuYmYiOjE3MDIzNjk3NTkuODA5MzEsImV4cCI6MTczMzk5MjE1OS42MjI3MzEsInN1YiI6IjAxaGhlamEzNjhzeHAyeDJuZHFlY243dGo2Iiwic2NvcGVzIjpbIioiXX0.JxJavOQQj4Hry6V6I0NjERorJqQX4rvR7XLZmwCk3kdvat6-vXjQqC-qSW_xvCaYh080fMPOjVmqHa84HgwuQrs50fUrnbcbUOasnr9IlAVA2xSS_9432QyUJkKwfYU9u2k7DRUkF1VzITdqEYZ7oG_BgRd3BRf_N8Ce_4LGaKskL2BSHhpc9CAwXxreYbXsvWYAexZc5B_sOsUDFjBI1Z37pzrVE_OSI0hwVrgYi4VPH3gxLsPtX5idR2HactJ3GGHgnY4TtAlN6HjfPx7_m7-LqllYc85Y4lKBYBNr-pEVYeg6PdzbakYyVCvcm1nnhKxd7tG_kvLtA_IvNgRXpRkZo-rve7P1a5-8wUFLj2vy3hF6NR-hju_rFrpvQRBrUFCvJ7oEFelgfenkoWoQHKmuh9olfsXo6POV1A9cefFRmha5kmZxvh0PPK2kB9NtnpVJisPdk2nbnl7vzuNqWL8XEkBtkfvG2u8YjqvyCFIrea_wV_YEcgdQWKUkhDzjXJCdYtyWULHFtuLZuelwVEegNUEodvDzrdH0pn9BiUDjqN2RMaU5rwkEvKRhp7ow5DwbbMKFJ3UCa1OsQ3BfuA_NRdSib8LyKHvBzCZ5YhP_KwKKFzj2qKQ0VSfvwKdXPdyRPCP6STqvIoBmVO8Wa--LmavltXcaQslNcUeECcg
                    companyId: 01hheja204e7hya2rgjgbwxts3
                    token:
                      client_id: 1
                      created_at: '2023-12-12T08:29:19.000000Z'
                      expires_at: '2024-12-12T08:29:19.000000Z'
                      id: >-
                        0e74819aa7640cc5ebea6c5d69d2f9d0865b8e3538e7bd1e5a6d33db0b04664efa222c40182faec6
                      name: Wilfried Djopa
                      revoked: false
                      scopes:
                        - '*'
                      updated_at: '2023-12-12T08:29:19.000000Z'
                      user_id: 01hheja368sxp2x2ndqecn7tj6
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````