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

# Issue Token

> Exchange your client_id and client_secret for a Bearer token. Use this token in the Authorization header for all subsequent API requests.



## OpenAPI

````yaml POST /v1/auth/token/issue
openapi: 3.1.0
info:
  title: Hashrails API
  description: >-
    Comprehensive API documentation for Hashrails – easily create, manage, and
    query virtual accounts, recipients, and bank integrations. Secure, scalable,
    and developer-friendly.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.railsfromthecrypt.com
  - url: https://api.hashrails.com
security: []
paths:
  /v1/auth/token/issue:
    post:
      tags:
        - Authentication
      summary: Issue an access token
      description: >-
        Exchange your client_id and client_secret for a Bearer token. Use this
        token in the Authorization header for all subsequent API requests.
      operationId: AuthController_issueToken
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                client_id:
                  type: string
                  description: Your client UUID from the dashboard.
                  example: 550e8400-e29b-41d4-a716-446655440000
                client_secret:
                  type: string
                  description: Your API secret from the dashboard.
                  example: sk_live_xxxxxxxxxxxxxxxxxxxxxxxx
              required:
                - client_id
                - client_secret
      responses:
        '200':
          description: Token issued successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: API token issued successfully
                  data:
                    type: object
                    properties:
                      access_token:
                        type: string
                        description: JWT access token to use in the Authorization header.
                        example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
                      expires_in:
                        type: integer
                        description: Token validity in seconds.
                        example: 3600
                      token_type:
                        type: string
                        description: Token type. Always Bearer.
                        example: Bearer
        '401':
          description: Invalid credentials
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: Invalid client_id or client_secret
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: Rate limit exceeded. Please try again later.

````