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

# Create an Agent API token

> Create an Agent API token for remote workers.



## OpenAPI

````yaml /astro/api/v-1/openapi.yaml post /organizations/{organizationId}/deployments/{deploymentId}/agent-tokens
openapi: 3.0.3
info:
  contact: {}
  description: Astro Platform API
  title: Astro Platform API
  version: v1.0
servers:
  - url: https://api.astronomer.io/v1
security:
  - JWT: []
tags:
  - description: >-
      The `organization` object contains the metadata and configurations of an
      Astro Organization. It does not include objects within the Organization,
      such as users and clusters. Make requests to `organization` endpoints to
      view and update high level settings for your Organization, including
      settings related to authentication and billing. To manage resources within
      an Organization, make requests to the endpoints related to those
      resources, such as `users`. See
      [Billing](https://astronomer.io/docs/astro/manage-billing), [Set up single
      sign-on](https://astronomer.io/docs/astro/configure-idp), and [Manage
      domains](https://astronomer.io/docs/astro/manage-domains).
    name: Organization
  - description: >-
      The `deployment` object represents an Astro Deployment, which is a hosted
      Airflow environment that is powered by all core Airflow components,
      including schedulers and workers. Make requests to the `deployment` object
      to create, update, or delete a Deployment or its computational resources.
      See [Deployment
      settings](https://astronomer.io/docs/astro/deployment-settings).
    name: Deployment
  - description: >-
      A `cluster` object represents an Astro cluster, which is a Kubernetes
      cluster that hosts the infrastructure required to run Deployments. Make
      requests to `cluster` endpoints to manage your standard and dedicated
      clusters. See [Create a dedicated
      cluster](https://astronomer.io/docs/astro/create-dedicated-cluster).
    name: Cluster
  - description: >-
      The `workspace` object represents an Astro Workspace, which is a
      collection of Deployments that can be accessed by a specific group of
      users. It contains metadata about a Workspace, but does not contain
      objects within the Workspace such as users and Deployments. Make requests
      to `workspace` endpoints to manage high level details about your
      Workspace. To manage resources within a Workspace, make requests to the
      endpoints related to those resources, such as `users`, and use the
      `workspaceIds` parameter to filter results by Workspace. See [Configure
      Workspaces](https://astronomer.io/docs/astro/manage-workspaces).
    name: Workspace
  - description: >-
      The `user` object represents a user account in your Astro Organization.
      Astro creates a new `user` object whenever you invite a user by email or
      add a user to Astro through an identity provider. The object contains all
      information about a user, including their personal information, roles, and
      login attempts. It doesn't include attributes for actions that the user
      completes after they log in, such as updating a Deployment. Make requests
      to `user` endpoints to manage permissions for existing users both at the
      Organization and Workspace level. To create new users, make requests to
      `invite` endpoints instead.
    name: User
  - description: >-
      The `team` object represents an Astro Team, which is a group of users that
      share the same permissions across your Organization and Workspaces. Make
      requests to `team` endpoints to create, update, and delete Teams across an
      Organization. See [Configure Teams on
      Astro](https://astronomer.io/docs/astro/manage-teams).
    name: Team
  - description: >-
      The `apitoken` object represents a single API token within your
      Organization. API tokens are used to authenticate automated tools and
      processes to your Organization. They have varying levels of access to your
      resources based on their Organization, Workspace, and Deployment roles.
      See [Workspace API tokens](workspace-api-tokens.md) and [Organization API
      tokens](organization-api-tokens.md).
    name: api-token
    x-group: API Token
  - name: allowed-ip-address-range
    x-group: Allowed IP Address Range
  - name: agent-token
    x-group: Agent Token
paths:
  /organizations/{organizationId}/deployments/{deploymentId}/agent-tokens:
    post:
      tags:
        - agent-token
      summary: Create an Agent API token
      description: Create an Agent API token for remote workers.
      operationId: CreateAgentToken
      parameters:
        - description: >-
            The ID of the organization that owns the deployment where you want
            to create the Agent API token.
          in: path
          name: organizationId
          required: true
          schema:
            type: string
        - description: >-
            The ID of the deployment where you want to create the Agent API
            token.
          in: path
          name: deploymentId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAgentTokenRequest'
        description: The request body for creating an Agent API Token.
        required: true
        x-originalParamName: body
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiToken'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      security:
        - JWT: []
components:
  schemas:
    CreateAgentTokenRequest:
      properties:
        description:
          description: The description for the API token.
          example: This is my API token
          type: string
        name:
          description: The name of the API token.
          example: My token
          type: string
        tokenExpiryPeriodInDays:
          description: >-
            The expiry period of the API token in days. If not specified, the
            token will never expire.
          example: 30
          maximum: 3650
          minimum: 1
          type: integer
      required:
        - name
      type: object
    ApiToken:
      properties:
        createdAt:
          description: >-
            The time when the API token was created in UTC, formatted as
            `YYYY-MM-DDTHH:MM:SSZ`.
          example: '2022-11-22T04:37:12Z'
          format: date-time
          type: string
        createdBy:
          $ref: '#/components/schemas/BasicSubjectProfile'
        description:
          description: The description of the API token.
          example: my token description
          type: string
        endAt:
          description: >-
            The time when the API token expires in UTC, formatted as
            `YYYY-MM-DDTHH:MM:SSZ`.
          example: '2022-11-22T04:37:12Z'
          format: date-time
          type: string
        expiryPeriodInDays:
          description: The expiry period of the API token in days.
          example: 30
          type: integer
        id:
          description: The API token's ID.
          example: clm8q7f6q000008lcgyougpsk
          type: string
        kind:
          description: The kind of the API token.
          enum:
            - STANDARD
            - DIRECT_ACCESS
          example: STANDARD
          type: string
        lastRotatedAt:
          description: >-
            The time when the API token was last rotated in UTC, formatted as
            `YYYY-MM-DDTHH:MM:SSZ`.
          example: '2022-11-22T04:37:12Z'
          format: date-time
          type: string
        lastUsedAt:
          description: >-
            The time when the API token was last used in UTC, formatted as
            `YYYY-MM-DDTHH:MM:SSZ`.
          example: '2022-11-22T04:37:12Z'
          format: date-time
          type: string
        name:
          description: The name of the API token.
          example: My token
          type: string
        roles:
          description: The roles of the API token.
          items:
            $ref: '#/components/schemas/ApiTokenRole'
          type: array
        scope:
          description: The scope of the API token.
          enum:
            - DEPLOYMENT
            - WORKSPACE
            - ORGANIZATION
          example: WORKSPACE
          type: string
        shortToken:
          description: The short value of the API token.
          example: short-token
          type: string
        startAt:
          description: >-
            The time when the API token will become valid in UTC, formatted as
            `YYYY-MM-DDTHH:MM:SSZ`.
          example: '2022-11-22T04:37:12Z'
          format: date-time
          type: string
        token:
          description: The value of the API token.
          example: token
          type: string
        updatedAt:
          description: >-
            The time when the API token was last updated in UTC, formatted as
            `YYYY-MM-DDTHH:MM:SSZ`.
          example: '2022-11-22T04:37:12Z'
          format: date-time
          type: string
        updatedBy:
          $ref: '#/components/schemas/BasicSubjectProfile'
      required:
        - createdAt
        - description
        - id
        - kind
        - name
        - scope
        - shortToken
        - startAt
        - updatedAt
      type: object
    Error:
      properties:
        fieldErrors:
          description: >-
            FieldErrors carries one entry per failed request-validation
            constraint.

            Only present on 400 responses caused by request binding/validation.
          items:
            $ref: '#/components/schemas/FieldValidationError'
          type: array
        message:
          type: string
        requestId:
          type: string
        statusCode:
          maximum: 600
          minimum: 400
          type: integer
      required:
        - message
        - requestId
        - statusCode
      type: object
    BasicSubjectProfile:
      properties:
        apiTokenName:
          description: >-
            The API token's name. Returned only when `SubjectType` is
            `SERVICEKEY`.
          example: my-token
          type: string
        avatarUrl:
          description: >-
            The URL for the user's profile image. Returned only when
            `SubjectType` is `USER`.
          example: https://avatar.url
          type: string
        fullName:
          description: The subject's full name. Returned only when `SubjectType` is `USER`.
          example: Jane Doe
          type: string
        id:
          description: The subject's ID.
          example: clm8qv74h000008mlf08scq7k
          type: string
        subjectType:
          description: The subject type.
          enum:
            - USER
            - SERVICEKEY
          example: USER
          type: string
        username:
          description: The subject's username. Returned only when `SubjectType` is `USER`.
          example: user1@company.com
          type: string
      required:
        - id
      type: object
    ApiTokenRole:
      properties:
        deploymentId:
          description: >-
            Required when EntityType is DAG or TAG. The deployment containing
            the DAG.
          example: clm8t5u4q000008jq4qoc3031
          type: string
        entityId:
          description: >-
            The ID of the entity. For DAG roles, this is the DAG ID. For TAG
            roles, this is the tag value.
          example: clm8sgvai000008l794psbkdv
          type: string
        entityType:
          description: The type of the entity.
          enum:
            - DEPLOYMENT
            - WORKSPACE
            - ORGANIZATION
            - DAG
            - DAG_TAG
          example: WORKSPACE
          type: string
        role:
          description: The role of the API token.
          example: WORKSPACE_MEMBER
          type: string
      required:
        - entityId
        - entityType
        - role
      type: object
    FieldValidationError:
      properties:
        code:
          type: string
        field:
          type: string
        message:
          type: string
      required:
        - code
        - field
        - message
      type: object
  securitySchemes:
    JWT:
      scheme: bearer
      type: http

````