---
title: "Generate Token"
method: POST
path: "/auth/generate_token"
tags: ["Auth"]
---

# Generate Token

`POST /auth/generate_token`

## Request

- Base URL: `https://api.velt.dev/v2`
- URL: `https://api.velt.dev/v2/auth/generate_token`
- Auth: API key in header `x-velt-api-key` and API key in header `x-velt-auth-token`

Use this API to generate authentication JWT token for users to access Velt features. The token contains user information and permissions for specific resources.

- JWT token expires in 48 hours
- Can specify permissions for different resource types (organization, folder, document)

**Access Control:**
Set `accessRole` to `viewer` (read-only) or `editor` (read/write) for each resource.

## Request body

- object
  - `userId` string, required: Unique identifier for the user
  - `userProperties` object, required
    - `isAdmin` boolean: Whether the user has admin privileges
    - `name` string, required: Display name of the user
    - `email` string, email, required: Email address of the user
  - `permissions` object, required
    - `resources` Resource[], required
      - `type` 'organization' | 'document' | 'folder', required: Type of resource
      - `id` string, required: ID of the resource
      - `organizationId` string: Organization ID (required when type is document or folder)
      - `accessRole` 'viewer' | 'editor': Access role for this resource
      - `expiresAt` integer: Unix timestamp when permission expires (optional)

## Response `200`

Token generated successfully

- object
  - `result` object
    - `status` string
    - `message` string
    - `data` object
      - `token` string: JWT token

## Other responses

- `400`: Invalid request

---

[API](https://skmtc.dev/velt-js/apis/velt-rest-api.md) - [All operations](https://skmtc.dev/velt-js/apis/velt-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/velt-js/apis/velt-rest-api/revisions/0f5af15fa267?raw)
