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

# Create a personal access token

> Create a new personal access token for the current user.



## OpenAPI

````yaml /openapi.json post /api/svc/v1/personal-access-tokens
openapi: 3.1.0
info:
  title: TrueFoundry API
  description: API for TrueFoundry
  version: 0.1.0
  contact: {}
servers:
  - url: https://{controlPlaneURL}
    variables:
      controlPlaneURL:
        default: app.truefoundry.com
        description: Control Plane URL
security: []
tags:
  - name: Agent
  - name: Agent Skills
  - name: Applications
  - name: Metrics
  - name: Apply
  - name: Artifacts
  - name: Audit Logs
  - name: Clusters
  - name: Jobs
  - name: Logs
  - name: MCP Servers V2
  - name: MLRepos
  - name: Model Deployments
  - name: Models
  - name: Personal Access Tokens
  - name: Prompts
  - name: Provider Integrations
  - name: SCIM v2
  - name: Secret Groups
  - name: Secrets
  - name: Teams
  - name: Traces
  - name: Users
  - name: Virtual Accounts
  - name: Role Bindings
  - name: Workspaces
paths:
  /api/svc/v1/personal-access-tokens:
    post:
      tags:
        - Personal Access Tokens
      summary: Create a personal access token
      description: Create a new personal access token for the current user.
      operationId: PersonalAccessToken.createPersonalAccessToken
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePersonalAccessTokenRequest'
      responses:
        '200':
          description: The newly created personal access token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePersonalAccessTokenResponse'
        '400':
          description: Bad Request — invalid name or expiration date is in the past.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
        '409':
          description: >-
            Conflict — a personal access token with the same name already
            exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
      security:
        - jwt: []
components:
  schemas:
    CreatePersonalAccessTokenRequest:
      type: object
      properties:
        name:
          type: string
          description: >-
            Name for the personal access token. Must be 3-36 characters, start
            with a lowercase letter, end with a lowercase alphanumeric
            character, and contain only lowercase letters, numbers, and hyphens.
          example: my-ci-token
        expirationDate:
          type: string
          description: >-
            Expiration date in ISO format. The token becomes invalid after this
            date.
          example: 2026-09-01T12:00
          nullable: true
        accountName:
          type: string
          description: Account name that owns this personal access token.
          nullable: true
        teamName:
          type: string
          description: Team name that owns this personal access token.
          nullable: true
        tokenType:
          type: string
          enum:
            - jwt
            - opaque
          description: >-
            Format of the issued token. Leave empty to use the tenant override
            or platform default.
          nullable: true
      required:
        - name
      title: CreatePersonalAccessTokenRequest
      x-fern-type-name: CreatePersonalAccessTokenRequest
    CreatePersonalAccessTokenResponse:
      type: object
      properties:
        token:
          type: string
          description: >-
            The generated authentication token. Store this securely — it cannot
            be retrieved later.
      required:
        - token
      title: CreatePersonalAccessTokenResponse
      x-fern-type-name: CreatePersonalAccessTokenResponse
    HttpError:
      type: object
      properties:
        statusCode:
          type: integer
          description: HTTP Status Code
        message:
          type: string
          description: Error Message
        code:
          oneOf:
            - type: integer
            - type: string
          description: Error code
          nullable: true
        details:
          type: array
          description: Error details
          items:
            type: object
          nullable: true
      required:
        - statusCode
        - message
      title: HttpError
      x-fern-type-name: HttpError
  securitySchemes:
    jwt:
      type: http
      scheme: bearer
      bearerFormat: JWT

````