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

# Ask for a code to link your phone

> Gives you a code to text, alone, to the line it names from the phone you link, valid for ten minutes; it replaces any code you had. The text links that phone, replacing the one you verified, and sets your agent's timezone to the one you send, creating your agent if you have none. A phone another account verified is not linked: the code then says so. Refused (403 agent_host_not_allowlisted) unless you are on the personal agent allowlist, (409 agent_host_account_deleting) once your account is being deleted, (400) for a timezone the tz database does not know, and (503 agent_line_unavailable) while no line is set up.



## OpenAPI

````yaml api-reference/openapi.account.json POST /agent/phone/verification
openapi: 3.1.0
info:
  title: Aether Account & Integrations API
  version: 0.1.0
  description: >-
    Account, billing, and integration-management endpoints used by the Aether
    web app and CLI. Root-mounted; NOT part of the versioned /v1 contract.
servers:
  - url: https://api.runaether.dev
security:
  - bearerAuth: []
paths:
  /agent/phone/verification:
    post:
      tags:
        - agent
      summary: Ask for a code to link your phone
      description: >-
        Gives you a code to text, alone, to the line it names from the phone you
        link, valid for ten minutes; it replaces any code you had. The text
        links that phone, replacing the one you verified, and sets your agent's
        timezone to the one you send, creating your agent if you have none. A
        phone another account verified is not linked: the code then says so.
        Refused (403 agent_host_not_allowlisted) unless you are on the personal
        agent allowlist, (409 agent_host_account_deleting) once your account is
        being deleted, (400) for a timezone the tz database does not know, and
        (503 agent_line_unavailable) while no line is set up.
      operationId: requestAgentPhoneVerification
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestAgentPhoneVerificationRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentPhoneVerification'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ErrorResponse'
                  - $ref: '#/components/schemas/OrgAuthorizationErrorResponse'
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service Unavailable
components:
  schemas:
    RequestAgentPhoneVerificationRequest:
      additionalProperties: false
      properties:
        timezone:
          description: >-
            Your IANA timezone, such as America/New_York, as your browser names
            it: your agent runs in it once the phone is linked.
          maxLength: 64
          minLength: 1
          type: string
      required:
        - timezone
      type: object
    AgentPhoneVerification:
      additionalProperties: false
      properties:
        code:
          description: Text it, alone, to line_e164 from the phone to link.
          pattern: ^[A-HJ-NP-Z2-9]{6}$
          type: string
        expires_at:
          description: When the code stops working; ask for a new one then.
          format: date-time
          type: string
        line_e164:
          description: The number to text the code to, in E.164.
          type: string
        refusal:
          description: >-
            Why the last text of the code linked nothing:
            phone_linked_to_another_account, the phone is another account's;
            not_allowlisted, your account is not on the personal agent
            allowlist.
          enum:
            - phone_linked_to_another_account
            - not_allowlisted
          type: string
      required:
        - code
        - line_e164
        - expires_at
      type: object
    ErrorResponse:
      additionalProperties: false
      properties:
        code:
          type: string
        error:
          minLength: 1
          type: string
        errors:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
      required:
        - error
      type: object
    OrgAuthorizationErrorResponse:
      additionalProperties: false
      properties:
        code:
          enum:
            - org_membership_required
            - org_role_insufficient
            - org_suspended
            - account_deleting
          type: string
        error:
          minLength: 1
          type: string
      required:
        - error
        - code
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http

````

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