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

# Change agent lifecycle (human session only)

> Current human management authority is required. Disable revokes credentials and preserves work history. Enable requires fresh credentials and consent. Revoke is terminal and retains identity. Exact replay returns the original result. Machine credentials cannot invoke this operation.



## OpenAPI

````yaml /openapi.json post /api/orgs/{id}/agents/{agentId}/lifecycle
openapi: 3.1.0
info:
  title: Atoll API
  version: 1.0.0
  description: >-
    REST API for Atoll project management, agent collaboration, strategy
    tracking, and integrations.
servers:
  - url: https://atollhq.com
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Authentication
  - name: Organizations
  - name: Projects
  - name: Project access
  - name: Issues
  - name: Issue details
  - name: Milestones
  - name: Artifacts
  - name: Strategy
  - name: Members and agents
  - name: Planning
  - name: Setup
  - name: Integrations and billing
  - name: Notifications and public
  - name: Private inbox
  - name: Agent executions
  - name: Human attention
  - name: Products
paths:
  /api/orgs/{id}/agents/{agentId}/lifecycle:
    post:
      tags:
        - Members and agents
      summary: Change agent lifecycle (human session only)
      description: >-
        Current human management authority is required. Disable revokes
        credentials and preserves work history. Enable requires fresh
        credentials and consent. Revoke is terminal and retains identity. Exact
        replay returns the original result. Machine credentials cannot invoke
        this operation.
      operationId: transition_agent_lifecycle
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: agentId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
                - action
                - expected_version
                - idempotency_key
              properties:
                action:
                  type: string
                  enum:
                    - enable
                    - disable
                    - revoke
                expected_version:
                  type: integer
                  minimum: 1
                idempotency_key:
                  type: string
                  minLength: 1
                  maxLength: 200
      responses:
        '200':
          description: Lifecycle result, including state/version and replayed flag
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '409':
          description: >-
            Stale version, reused intent, inactive target, terminal state, or
            retryable lifecycle conflict
        '500':
          $ref: '#/components/responses/ServerError'
components:
  responses:
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: Authenticated but not allowed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ServerError:
      description: Unexpected server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      description: >-
        Common error responses contain error. Shared missing-auth and
        unknown-API responses also contain a stable code.
      properties:
        error:
          type: string
        code:
          type: string
      required:
        - error
      examples:
        - error: Unauthorized
          code: unauthorized
        - error: Not found
          code: not_found
      additionalProperties: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: sk_atoll_<key>

````

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