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

# Complete account activation

> Sets a password (credentials mode) or simply confirms the account (magic-link mode), then logs the user in.



## OpenAPI

````yaml /openapi.json post /v1/auth/activate
openapi: 3.0.0
info:
  title: Kerne API
  description: >-
    Kerne SaaS Foundation as a Service - authentication, authorization, and
    billing management. Errors follow standardized error codes (K1xxx-K9xxx)
    documented at https://docs.kerne.io/errors
  version: 1.0.0
  contact:
    name: Kerne Team
    url: https://kerne.io
    email: support@kerne.io
  license:
    name: Proprietary
    url: https://kerne.io/license
servers:
  - url: https://api.kerne.io
    description: Production Server
security: []
tags:
  - name: Auth
    description: Authentication endpoints
  - name: Waitlist
    description: Waitlist management
  - name: Invitations
    description: Invitation system
  - name: Billing
    description: 'The tenant''s end users: subscription, entitlements, usage, checkout'
  - name: Pricing
    description: Public pricing page data
paths:
  /v1/auth/activate:
    post:
      tags:
        - Auth
      summary: Complete account activation
      description: >-
        Sets a password (credentials mode) or simply confirms the account
        (magic-link mode), then logs the user in.
      operationId: AuthController_completeActivation
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompleteActivationDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthResponseDto'
      security:
        - AppIdentifier: []
components:
  schemas:
    CompleteActivationDto:
      type: object
      properties:
        token:
          type: string
          example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
        password:
          type: string
          description: >-
            Required only if the tenant currently has credentials sign-in
            enabled
          example: SecurePassword123!
          minLength: 8
          maxLength: 128
      required:
        - token
    AuthResponseDto:
      type: object
      properties:
        token:
          type: string
          description: JWT authentication token
          example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
        user:
          type: object
          description: Authenticated user information
          properties:
            id:
              type: string
              description: User unique identifier
              example: usr_01234567890abcdef
            email:
              type: string
              description: User email address
              example: user@example.com
        refresh_token:
          type: string
          description: Refresh token for obtaining new access tokens
          example: ref_0123456789abcdef
        expires_at:
          type: string
          description: Token expiration timestamp (ISO)
          example: '2025-01-01T01:00:00.000Z'
      required:
        - token
        - user
        - refresh_token
        - expires_at
  securitySchemes:
    AppIdentifier:
      type: apiKey
      in: header
      name: x-app-id
      description: App identifier (App.id, sent as the x-app-id header)

````