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

# Activate Account

> Redeems a one-time registration code, activates the account, and returns the
initial API key exactly once. The route accepts JSON and the hosted HTML
registration form.



## OpenAPI

````yaml /api-reference/customer-api.v1.openapi.json post /v1/admin/registrations
openapi: 3.1.0
info:
  title: Mount Thor Customer API
  version: v1
servers:
  - description: Mount Thor customer API edge
    url: https://api.mountthor.com
security: []
paths:
  /v1/admin/registrations:
    post:
      tags:
        - registration
      summary: Activate Account
      description: >-
        Redeems a one-time registration code, activates the account, and returns
        the

        initial API key exactly once. The route accepts JSON and the hosted HTML

        registration form.
      operationId: register_customer_account
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerRegistrationRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerRegistrationResponse'
          description: Account registered
        '400':
          description: Request body failed validation
        '401':
          description: Registration code is invalid, cancelled, or already used
        '410':
          description: >-
            Registration code has expired; ask your Mount Thor contact to resend
            the invitation
        '429':
          content:
            text/plain:
              schema:
                type: string
          description: Rate limit exceeded
          headers:
            Retry-After:
              description: Seconds before retry.
              schema:
                minimum: 1
                type: integer
      security:
        - {}
components:
  schemas:
    CustomerRegistrationRequest:
      additionalProperties: false
      description: Request body for `POST /v1/admin/registrations`.
      properties:
        code:
          description: One-time registration code from Mount Thor.
          example: >-
            0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
          type: string
        contact:
          $ref: '#/components/schemas/CustomerRegistrationContact'
          description: Contact who is activating the account.
      required:
        - code
        - contact
      type: object
    CustomerRegistrationResponse:
      additionalProperties: false
      description: Response body for `POST /v1/admin/registrations`.
      properties:
        account:
          $ref: '#/components/schemas/CustomerRegistrationAccount'
          description: Activated account metadata.
        account_setup_url:
          example: https://example.authkit.app/sign-up?invite=01HF...
          type:
            - string
            - 'null'
        api_key:
          $ref: '#/components/schemas/CustomerRegistrationApiKey'
          description: Initial API key. The secret value is returned exactly once.
        identity_setup:
          description: Optional identity setup link when SSO setup is available.
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/CustomerRegistrationIdentitySetup'
              description: Optional identity setup link when SSO setup is available.
        links:
          $ref: '#/components/schemas/CustomerRegistrationLinks'
          description: API endpoints relevant after activation.
        next_steps:
          description: Customer actions required after activation.
          items:
            $ref: '#/components/schemas/CustomerRegistrationNextStep'
          type: array
        status:
          description: >-
            Registration result. Always `registered` after successful
            activation.
          example: registered
          type: string
        tenant:
          $ref: '#/components/schemas/CustomerRegistrationTenant'
          description: Default compute namespace metadata.
      required:
        - status
        - account
        - tenant
        - api_key
        - next_steps
        - links
      type: object
    CustomerRegistrationContact:
      additionalProperties: false
      description: Primary customer contact for registration.
      properties:
        email:
          description: Work email address authorized by the registration invite.
          example: alex@example.com
          type: string
        name:
          description: Full name of the person activating the account.
          example: Alex Customer
          type: string
      required:
        - name
        - email
      type: object
    CustomerRegistrationAccount:
      additionalProperties: false
      description: Account information created during registration.
      properties:
        display_name:
          description: Customer display name activated by the registration.
          example: Acme Robotics
          type: string
      required:
        - display_name
      type: object
    CustomerRegistrationApiKey:
      additionalProperties: false
      description: One-time API key material returned during registration.
      properties:
        expires_at:
          description: Optional RFC 3339 expiry timestamp.
          example: '2027-01-01T00:00:00Z'
          type:
            - string
            - 'null'
        id:
          description: Stable UUID for the initial API key.
          format: uuid
          type: string
        plaintext_display:
          description: Always `one-time`; the plaintext key cannot be fetched again.
          example: one-time
          type: string
        scopes:
          description: Scopes granted to the initial API key.
          example:
            - account:read
            - keys:write
            - sessions:write
          items:
            type: string
          type: array
        secret:
          description: 'Plaintext API key. Format: `mthr_live_*`. Returned exactly once.'
          example: mthr_live_01JZ8M7EXAMPLE
          type: string
      required:
        - id
        - secret
        - plaintext_display
        - scopes
      type: object
    CustomerRegistrationIdentitySetup:
      additionalProperties: false
      description: Identity setup link returned during registration.
      properties:
        expires_at:
          description: RFC 3339 expiry timestamp for the setup URL.
          example: '2026-05-25T18:30:00Z'
          type: string
        provider:
          description: Identity setup provider.
          example: workos
          type: string
        url:
          description: Time-limited identity setup URL.
          type: string
      required:
        - provider
        - url
        - expires_at
      type: object
    CustomerRegistrationLinks:
      additionalProperties: false
      description: Follow-up links returned during registration.
      properties:
        account:
          description: Account endpoint.
          type: string
        compute:
          description: Compute API base endpoint.
          type: string
        keys:
          description: API-key endpoint.
          type: string
        sessions:
          description: Session endpoint.
          type: string
      required:
        - account
        - keys
        - sessions
        - compute
      type: object
    CustomerRegistrationNextStep:
      additionalProperties: false
      description: Next action required after registration.
      properties:
        action:
          description: Customer-facing action text.
          type: string
        kind:
          description: Machine-readable next-step type.
          example: save-api-key
          type: string
        status:
          description: Step state.
          example: required
          type: string
      required:
        - kind
        - status
        - action
      type: object
    CustomerRegistrationTenant:
      additionalProperties: false
      description: Tenant created during registration.
      properties:
        namespace_name:
          description: Kubernetes namespace assigned to the customer's compute resources.
          example: tenant-acme-prod
          type: string
      required:
        - namespace_name
      type: object

````