> ## 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.

# Paste a code on a single-use link

> Pastes the code Claude shows you on the claude_code_paste link your agent sent you, in your web session: uses the link and holds the code for your agent's waiting aether claude-code connect --link, which picks it up once. Refused (403 agent_link_needs_web_session) for any credential but a web session, (400 agent_link_invalid_code) for a paste that is not one line, (404 agent_link_not_found) for a token that names no link, (403 agent_link_other_account) for a link issued to another account, (409 agent_link_takes_no_code) for a link of another purpose, and (410 agent_link_used, agent_link_expired) for one used or expired.



## OpenAPI

````yaml api-reference/openapi.account.json POST /agent/links/paste
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/links/paste:
    post:
      tags:
        - agent
      summary: Paste a code on a single-use link
      description: >-
        Pastes the code Claude shows you on the claude_code_paste link your
        agent sent you, in your web session: uses the link and holds the code
        for your agent's waiting aether claude-code connect --link, which picks
        it up once. Refused (403 agent_link_needs_web_session) for any
        credential but a web session, (400 agent_link_invalid_code) for a paste
        that is not one line, (404 agent_link_not_found) for a token that names
        no link, (403 agent_link_other_account) for a link issued to another
        account, (409 agent_link_takes_no_code) for a link of another purpose,
        and (410 agent_link_used, agent_link_expired) for one used or expired.
      operationId: pasteAgentLinkCode
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasteAgentLinkCodeRequest'
        required: true
      responses:
        '204':
          description: No Content
        '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
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '410':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Gone
        '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
components:
  schemas:
    PasteAgentLinkCodeRequest:
      additionalProperties: false
      properties:
        code:
          description: >-
            The code Claude shows after you approve access: one line with no
            whitespace or control character within it, at most 2048 bytes once
            surrounding whitespace is trimmed (4096 characters is the cap on the
            raw input). It is handed out only to your agent's waiting connect,
            and only until the link expires; a code no one picked up is deleted
            by a periodic purge after that.
          maxLength: 4096
          minLength: 1
          type: string
        token:
          description: The token from the paste link's URL.
          maxLength: 64
          minLength: 1
          type: string
      required:
        - token
        - code
      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.