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

# Start a user-claimed agent registration

> Only service_auth is implemented. This unauthenticated bootstrap reveals no account existence and grants no resource access. Generate S256 proof privately; the matching verified human must sign in, accept current terms, reauthenticate and approve the exact channels and limits. Pending claims expire after ten minutes; approval is redeemable for at most two minutes. Human approval is a browser ceremony, not an agent operation in this description.



## OpenAPI

````yaml /console-openapi.json post /v1/console/agent-auth/identity
openapi: 3.1.1
info:
  title: Altss Console machine API
  version: '2026-11-11'
  description: >-
    A separate description of the deployed protected Console REST, MCP and
    agent-authorization interfaces. The public website and documentation readers
    remain anonymous and are described separately. company.read is necessary but
    not sufficient: approved channels, verified tenant admission, current terms,
    per-tool eligibility, data rights, spending limits, explicit purchase
    approval and confirmed funding remain enforced. OAuth grant extensions below
    describe implemented protocols; generic OpenAPI tools may ignore extensions
    and cannot infer an authorization-code or device flow.
  x-altss-source-commit: d2432ba2f34a58ed7936598fb5b42dfbf50c6637
servers:
  - url: https://console.altss.com
security: []
tags:
  - name: Console REST
  - name: Console MCP
  - name: Console authorization
externalDocs:
  url: https://console.altss.com/auth.md
  description: Authoritative Console authorization and human-approval guide
paths:
  /v1/console/agent-auth/identity:
    post:
      tags:
        - Console authorization
      summary: Start a user-claimed agent registration
      description: >-
        Only service_auth is implemented. This unauthenticated bootstrap reveals
        no account existence and grants no resource access. Generate S256 proof
        privately; the matching verified human must sign in, accept current
        terms, reauthenticate and approve the exact channels and limits. Pending
        claims expire after ten minutes; approval is redeemable for at most two
        minutes. Human approval is a browser ceremony, not an agent operation in
        this description.
      operationId: registerConsoleAgent
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Registration'
      responses:
        '200':
          description: >-
            The protocol response. This does not imply human approval, funded
            access, or successful paid execution.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: >-
            Protocol refusal, including invalid_request, invalid_grant,
            invalid_target, authorization_pending, slow_down or expired_token.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '403':
          description: Human or organization authority denied.
        '429':
          description: Rate limit exceeded.
        '503':
          description: >-
            Temporarily unavailable; token issuance cannot be replayed safely
            after an uncertain response.
      security: []
components:
  schemas:
    Registration:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        type:
          type: string
          const: service_auth
        login_hint:
          type: string
          maxLength: 254
          format: email
          pattern: >-
            ^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
        name:
          type: string
          minLength: 1
          maxLength: 120
        scope:
          default: company.read
          type: string
          const: company.read
        channels:
          minItems: 1
          maxItems: 2
          type: array
          items:
            type: string
            enum:
              - API
              - MCP
        max_request_amount_minor:
          type: integer
          exclusiveMinimum: 0
          maximum: 1000000000
        daily_spend_limit_minor:
          type: integer
          exclusiveMinimum: 0
          maximum: 1000000000
        rate_limit_per_minute:
          type: integer
          exclusiveMinimum: 0
          maximum: 1000
        code_challenge:
          type: string
          pattern: ^[A-Za-z0-9_-]{43}$
        code_challenge_method:
          type: string
          const: S256
      required:
        - type
        - login_hint
        - name
        - channels
        - max_request_amount_minor
        - daily_spend_limit_minor
        - rate_limit_per_minute
        - code_challenge
        - code_challenge_method
      additionalProperties: false
      description: >-
        Only service_auth is implemented. scope defaults to company.read. Daily
        limit must be at least the per-request limit. Amounts are USD cents, not
        funding or free credit. A matching verified human with current terms and
        billing authority must approve the channels and limits after fresh
        reauthentication.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.