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

# List your agent's events

> What happened to your personal agent in the last ninety days, newest first: wakes and what caused them, sleeps, pauses, image updates, MCP servers left out of its configuration, and model calls refused for your balance or its daily cap. It never holds what the agent said or was told. Refused (404 agent_event_not_found) when before is not one of your agent's events.



## OpenAPI

````yaml api-reference/openapi.json GET /agent/events
openapi: 3.1.0
info:
  title: Aether API
  version: 0.1.0
servers:
  - url: https://api.runaether.dev
security:
  - bearerAuth: []
paths:
  /agent/events:
    get:
      tags:
        - agent
      summary: List your agent's events
      description: >-
        What happened to your personal agent in the last ninety days, newest
        first: wakes and what caused them, sleeps, pauses, image updates, MCP
        servers left out of its configuration, and model calls refused for your
        balance or its daily cap. It never holds what the agent said or was
        told. Refused (404 agent_event_not_found) when before is not one of your
        agent's events.
      operationId: listAgentEvents
      parameters:
        - description: >-
            The id of the event the page starts after: the last of the previous
            page.
          explode: false
          in: query
          name: before
          schema:
            description: >-
              The id of the event the page starts after: the last of the
              previous page.
            format: uuid
            type: string
        - explode: false
          in: query
          name: limit
          schema:
            default: 50
            format: int64
            maximum: 200
            minimum: 1
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentEvents'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgAuthorizationErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentErrorResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentErrorResponse'
          description: Internal Server Error
components:
  schemas:
    AgentEvents:
      additionalProperties: false
      properties:
        events:
          description: Newest first.
          items:
            $ref: '#/components/schemas/AgentEvent'
          type: array
        window_days:
          description: How many days back the ledger reaches; older events are not shown.
          format: int64
          type: integer
      required:
        - events
        - window_days
      type: object
    AgentErrorResponse:
      additionalProperties: false
      properties:
        code:
          enum:
            - account_deleting
            - aether_inference_unavailable
            - aether_inference_unserved
            - agent_connector_not_found
            - agent_credential_unreadable
            - agent_default_project_archived
            - agent_event_not_found
            - agent_host_account_deleting
            - agent_host_command_not_found
            - agent_host_creation_disabled
            - agent_host_exists
            - agent_host_illegal_transition
            - agent_host_not_allowlisted
            - agent_host_not_found
            - agent_host_not_ready
            - agent_host_other_provider_app
            - agent_host_project_not_eligible
            - agent_host_provisioning_failed
            - agent_host_state_changed
            - agent_host_wake_failed
            - agent_line_unavailable
            - agent_link_code_picked_up
            - agent_link_expired
            - agent_link_invalid_code
            - agent_link_needs_web_session
            - agent_link_no_verified_phone
            - agent_link_not_found
            - agent_link_other_account
            - agent_link_takes_a_code
            - agent_link_takes_no_code
            - agent_link_used
            - agent_message_not_found
            - agent_message_pending
            - agent_not_found
            - bad_gateway
            - bad_request
            - conflict
            - connection_account_held
            - connection_agent_only
            - connection_harness_mismatch
            - connection_is_default
            - connection_kind_not_runnable
            - connection_name_taken
            - connection_not_found
            - connection_not_held
            - connection_not_of_agent_family
            - connection_option_mismatch
            - connection_runs_agent
            - connection_runs_profiles
            - control_forbidden
            - default_skill_required
            - forbidden
            - gateway_timeout
            - github_auth_check_unavailable
            - github_claim_unverified
            - github_identity_mismatch
            - github_reconnect_required
            - github_ref_not_found
            - gone
            - integration_auth_unexpected
            - integration_not_in_directory
            - integration_shape_changed
            - internal_error
            - line_exists
            - line_not_found
            - line_not_imessage
            - mcp_connection_github_not_connected
            - mcp_connection_oauth_not_accepted
            - mcp_connection_org_not_offered
            - mcp_connection_secret_invalid
            - mcp_connection_server_changed
            - mcp_connection_static_secret_not_accepted
            - mcp_credential_policy_not_applicable
            - mcp_credential_policy_org_unavailable
            - mcp_credential_policy_required
            - mcp_oauth_app_auth_method_unsupported
            - mcp_oauth_app_invalid
            - mcp_oauth_app_issuer_invalid
            - mcp_oauth_app_required
            - mcp_oauth_not_advertised
            - mcp_oauth_pkce_unsupported
            - mcp_oauth_registration_failed
            - mcp_repo_config_invalid
            - mcp_server_address_refused
            - mcp_server_aether_managed
            - mcp_server_api_key_not_applicable
            - mcp_server_args_invalid
            - mcp_server_auth_discovery_failed
            - mcp_server_auth_unsupported
            - mcp_server_directory_managed
            - mcp_server_directory_moved
            - mcp_server_display_name_invalid
            - mcp_server_env_invalid
            - mcp_server_headers_invalid
            - mcp_server_key_invalid
            - mcp_server_key_reserved
            - mcp_server_key_taken
            - mcp_server_kind_change_refused
            - mcp_server_not_from_directory
            - mcp_server_not_mcp
            - mcp_server_package_invalid
            - mcp_server_plugin_bundled
            - mcp_server_plugin_off
            - mcp_server_response_too_large
            - mcp_server_return_to_invalid
            - mcp_server_runtime_invalid
            - mcp_server_switched_off
            - mcp_server_unreachable
            - mcp_server_url_invalid
            - mcp_server_version_unpinned
            - method_not_allowed
            - model_not_on_aether_inference
            - no_dispatch_target
            - not_acceptable
            - not_an_agent_host
            - not_found
            - not_implemented
            - org_role_insufficient
            - org_suspended
            - payment_required
            - plugin_moved
            - plugin_name_taken
            - plugin_request_invalid
            - plugin_server_key_reserved
            - plugin_server_key_taken
            - plugin_server_probe_failed
            - plugin_server_required
            - plugin_skill_invalid
            - plugin_source_address_refused
            - plugin_source_empty
            - plugin_source_invalid
            - plugin_source_not_found
            - plugin_source_not_public
            - plugin_source_too_large
            - plugin_source_unreachable
            - plugin_source_unsupported
            - plugin_switched_off
            - plugin_undeliverable
            - precondition_failed
            - rate_limited
            - repository_not_reachable
            - request_canceled
            - request_timeout
            - request_too_large
            - service_unavailable
            - skill_slug_reserved
            - unauthenticated
            - unsupported_media_type
            - validation_failed
            - whatsapp_not_enabled
          minLength: 1
          type: string
        error:
          minLength: 1
          type: string
        errors:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
      required:
        - error
        - code
      type: object
    OrgAuthorizationErrorResponse:
      additionalProperties: false
      properties:
        code:
          enum:
            - org_membership_required
            - org_role_insufficient
            - org_suspended
            - account_deleting
            - agent_host_route_not_allowed
            - credential_kind_not_admitted
          type: string
        error:
          minLength: 1
          type: string
      required:
        - error
        - code
      type: object
    AgentEvent:
      additionalProperties: false
      properties:
        cap_day:
          description: >-
            The day, in your timezone, whose spend reached the cap; present on
            daily_cap_reached.
          pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
          type: string
        cron_due_at:
          description: The refused run; present on cron_refused.
          format: date-time
          type: string
        cron_interval_seconds:
          description: >-
            How soon after the refused run the job would run again, in seconds;
            present on cron_refused.
          format: int64
          type: integer
        cron_job_id:
          description: >-
            The refused scheduled job, as the agent names it; present on
            cron_refused.
          type: string
        delivery_state:
          description: >-
            What the carrier reported of a sent text; present on
            outbound_delivery.
          enum:
            - delivered
            - undelivered
            - failed
            - unconfirmed
          type: string
        id:
          format: uuid
          type: string
        inbound_refusal:
          description: >-
            Why a text was not handed to the agent: rate_limited, you sent more
            than thirty texts within a minute; host_unavailable, the agent could
            not be brought up for it. Present on inbound_refused.
          enum:
            - rate_limited
            - host_unavailable
          type: string
        kind:
          description: >-
            inference_run_out: a model call was refused because your balance ran
            out; wake and wake_failed: the agent was woken, or did not come up;
            suspended and stopped: it went to sleep; suspend_failed: it stayed
            awake; machine_lost: its machine was gone; paused and pause_failed:
            it was backed up and paused, or the pause did not happen;
            bootstrap_refused: a machine presented its spent first-boot token;
            updated and update_failed: it moved onto a new image, or did not;
            update_stop_implied: its machine did not start its software, so it
            is moved onto a new machine; restart_failed: it could not restart
            onto your latest settings, and your next change tries again;
            mcp_server_refused: an MCP server you enabled was left out of its
            configuration; daily_cap_reached: a model call was refused because
            the day's spend reached its daily cap; cron_refused: a scheduled job
            would run again sooner than ten minutes after a run, so the agent is
            not woken for it; inbound_delivered: a text from your phone was
            queued for the agent, which takes it once it is up; inbound_refused:
            a text from your phone was not handed to it; outbound_pending: the
            agent asked to text you; outbound_refused: the agent's text was
            refused before it was sent; run_out_text: Aether began its one text
            of the day telling you your balance ran out; outbound_sent and
            outbound_failed: the messaging provider accepted a text, or it was
            not sent; outbound_indeterminate: a text was sent and the provider's
            answer lost, so it may arrive; outbound_delivery: the carrier
            reported whether a sent text was delivered.
          enum:
            - inference_run_out
            - wake
            - wake_failed
            - suspended
            - stopped
            - suspend_failed
            - machine_lost
            - paused
            - pause_failed
            - bootstrap_refused
            - updated
            - update_failed
            - update_stop_implied
            - restart_failed
            - mcp_server_refused
            - daily_cap_reached
            - cron_refused
            - inbound_delivered
            - inbound_refused
            - outbound_pending
            - run_out_text
            - outbound_sent
            - outbound_failed
            - outbound_indeterminate
            - outbound_delivery
            - outbound_refused
          type: string
        occurred_at:
          format: date-time
          type: string
        outbound_error:
          description: >-
            Why a text was not sent, or not delivered, as the messaging provider
            said it; present on outbound_failed and outbound_indeterminate, and
            on outbound_delivery when it says.
          type: string
        outbound_refusal:
          description: >-
            Why the agent's text was refused: phone_unverified, you have no
            verified phone; balance_insufficient, your balance ran out;
            cap_reached, recorded while the agent's texts were capped per day,
            which they no longer are; sms_opted_out, your phone texted STOP.
            Present on outbound_refused.
          enum:
            - phone_unverified
            - balance_insufficient
            - cap_reached
            - sms_opted_out
          type: string
        refusal:
          description: Why the MCP server was left out; present on mcp_server_refused.
          enum:
            - org_suspended
            - takes_secret
            - name_taken
            - hermes_substitution
          type: string
        server_key:
          description: >-
            The MCP server's key; present on mcp_server_refused, and on a wake
            with the connection cause.
          type: string
        wake_cause:
          description: What woke the agent; present on wake and wake_failed.
          enum:
            - operator
            - followed_update
            - cron_due
            - web
            - inbound_text
            - connection
            - memory_edit
          type: string
      required:
        - id
        - kind
        - occurred_at
      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.