PydanticAI Variables API

The Variables API from PydanticAI — 2 operation(s) for variables.

Operations 4

GET /v1/projects/{project_id}/variables/ Get Variables Config #
POST /v1/projects/{project_id}/variables/ Create Variable #
GET /v1/projects/{project_id}/variables/{name}/ Get Variable By Name #
PUT /v1/projects/{project_id}/variables/{name}/ Update Variable #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/pydantic-ai-variables-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

pydantic-ai-variables-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Pydantic Logfire Variables API
  summary: Public API to access Logfire resources
  description: 'To be able to use the Logfire API, you need to either create an

    [OAuth App](https://logfire.pydantic.dev/-/redirect/default-org/settings/developer/oauth-apps) or a

    [Personal Access Token](https://logfire.pydantic.dev/-/redirect/default-org/settings/developer/pat).

    '
  termsOfService: https://pydantic.dev/legal/terms-of-service
  version: 0.1.0
servers:
- url: https://logfire-us.pydantic.dev/api
  description: Pydantic Logfire API (US)
- url: https://logfire-eu.pydantic.dev/api
  description: Pydantic Logfire API (EU)
tags:
- name: Variables
paths:
  /v1/projects/{project_id}/variables/:
    get:
      tags:
      - Variables
      summary: Get Variables Config
      description: 'Get the full variables configuration for a project.


        Returns the complete configuration in a format compatible with the

        logfire SDK''s VariablesConfig, suitable for use with remote variable providers.


        Requires: User token with project:read_variables scope.'
      operationId: get_variables_config_v1_projects__project_id__variables__get
      security:
      - OAuth2AuthorizationCodeBearer:
        - project:read_variables
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VariablesConfig'
        '429':
          description: Rate limit exceeded
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionError'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - Variables
      summary: Create Variable
      description: 'Create a new variable definition, optionally with labels and versions.


        Requires: User token with project:write_variables scope.'
      operationId: create_variable_v1_projects__project_id__variables__post
      security:
      - OAuth2AuthorizationCodeBearer:
        - project:write_variables
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VariableDefinitionCreateRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VariableDefinitionRead'
        '429':
          description: Rate limit exceeded
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionError'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/projects/{project_id}/variables/{name}/:
    get:
      tags:
      - Variables
      summary: Get Variable By Name
      description: 'Get a variable definition by name with current labels and latest version.


        Requires: User token with project:read_variables scope.'
      operationId: get_variable_by_name_v1_projects__project_id__variables__name___get
      security:
      - OAuth2AuthorizationCodeBearer:
        - project:read_variables
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
          title: Name
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VariableConfig'
        '429':
          description: Rate limit exceeded
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionError'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - Variables
      summary: Update Variable
      description: 'Update an existing variable definition, optionally with labels and versions.


        Fields present and set to None will be cleared.

        Fields not present will not be changed.


        Requires: User token with project:write_variables scope.'
      operationId: update_variable_v1_projects__project_id__variables__name___put
      security:
      - OAuth2AuthorizationCodeBearer:
        - project:write_variables
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
          title: Name
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VariableDefinitionUpdateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VariableDefinitionRead'
        '429':
          description: Rate limit exceeded
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionError'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ValueEquals:
      properties:
        attribute:
          type: string
          title: Attribute
        value:
          title: Value
        kind:
          type: string
          enum:
          - value-equals
          title: Kind
          default: value-equals
      type: object
      required:
      - attribute
      - value
      title: ValueEquals
      description: Condition that matches when an attribute equals a specific value.
    LabelRead:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        variable_definition_id:
          type: string
          format: uuid
          title: Variable Definition Id
        label:
          type: string
          title: Label
        target_type:
          type: string
          title: Target Type
        target_label:
          anyOf:
          - type: string
          - type: 'null'
          title: Target Label
        version_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Version Id
        version_number:
          anyOf:
          - type: integer
          - type: 'null'
          title: Version Number
        serialized_value:
          anyOf:
          - type: string
          - type: 'null'
          title: Serialized Value
        updated_at:
          type: string
          format: date-time
          title: Updated At
        updated_by:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Updated By
        updated_by_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Updated By Name
      type: object
      required:
      - id
      - variable_definition_id
      - label
      - target_type
      - target_label
      - version_id
      - version_number
      - serialized_value
      - updated_at
      - updated_by
      - updated_by_name
      title: LabelRead
      description: A label as read from the database.
    ConditionData:
      properties:
        kind:
          type: string
          title: Kind
        attribute:
          type: string
          title: Attribute
        value:
          title: Value
        values:
          items: {}
          type: array
          title: Values
        pattern:
          type: string
          title: Pattern
      type: object
      title: ConditionData
      description: 'Condition for targeting, stored as JSONB.


        Different condition types have different fields, so all are optional.

        The ''kind'' field determines which other fields are relevant.'
    VariableDefinitionRead:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        project_id:
          type: string
          format: uuid
          title: Project Id
        type_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Type Id
        type_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Type Name
        kind:
          type: string
          enum:
          - general
          - prompt
          title: Kind
        name:
          type: string
          title: Name
        display_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Display Name
        prompt_slug:
          anyOf:
          - type: string
          - type: 'null'
          title: Prompt Slug
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        json_schema:
          anyOf:
          - $ref: '#/components/schemas/JSONBData'
          - type: 'null'
        template_inputs_schema:
          anyOf:
          - $ref: '#/components/schemas/JSONBData'
          - type: 'null'
        labels:
          additionalProperties:
            $ref: '#/components/schemas/LabelRead'
          type: object
          title: Labels
        latest_version:
          anyOf:
          - $ref: '#/components/schemas/VersionRead'
          - type: 'null'
        rollout:
          $ref: '#/components/schemas/RolloutData'
        overrides:
          items:
            $ref: '#/components/schemas/OverrideData'
          type: array
          title: Overrides
        aliases:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Aliases
        example:
          anyOf:
          - type: string
          - type: 'null'
          title: Example
        external:
          type: boolean
          title: External
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        created_by_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Created By Name
        updated_by_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Updated By Name
      type: object
      required:
      - id
      - project_id
      - type_id
      - type_name
      - kind
      - name
      - display_name
      - prompt_slug
      - description
      - json_schema
      - template_inputs_schema
      - labels
      - latest_version
      - rollout
      - overrides
      - aliases
      - example
      - external
      - created_at
      - updated_at
      - created_by_name
      - updated_by_name
      title: VariableDefinitionRead
      description: Variable definition with current labels and latest version assembled.
    JSONBData:
      anyOf:
      - additionalProperties:
          $ref: '#/components/schemas/JSONBData'
        type: object
      - items:
          $ref: '#/components/schemas/JSONBData'
        type: array
      - type: string
      - type: integer
      - type: boolean
      - type: number
      - type: 'null'
    HTTPExceptionError:
      properties:
        detail:
          type: string
          title: Detail
      type: object
      required:
      - detail
      title: HTTPExceptionError
    LabelRef:
      properties:
        version:
          anyOf:
          - type: integer
          - type: 'null'
          title: Version
        ref:
          type: string
          title: Ref
      type: object
      required:
      - ref
      title: LabelRef
      description: A label pointing via reference to another label, 'latest', or 'code_default'.
    LabelRefLabelData:
      properties:
        target_type:
          type: string
          enum:
          - label
          title: Target Type
        target_label:
          type: string
          title: Target Label
      type: object
      required:
      - target_type
      - target_label
      title: LabelRefLabelData
      description: Label data pointing to another label.
    VariableDefinitionUpdateRequest:
      properties:
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
            maxLength: 500
          - type: 'null'
          title: Description
        json_schema:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Json Schema
        template_inputs_schema:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Template Inputs Schema
        type_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Type Id
        rollout:
          $ref: '#/components/schemas/RolloutData'
        overrides:
          items:
            $ref: '#/components/schemas/OverrideData'
          type: array
          title: Overrides
        aliases:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Aliases
        example:
          anyOf:
          - type: string
          - type: 'null'
          title: Example
        external:
          type: boolean
          title: External
        labels:
          additionalProperties:
            anyOf:
            - $ref: '#/components/schemas/VersionLabelData'
            - $ref: '#/components/schemas/LatestLabelData'
            - $ref: '#/components/schemas/CodeDefaultLabelData'
            - $ref: '#/components/schemas/LabelRefLabelData'
          type: object
          title: Labels
      type: object
      title: VariableDefinitionUpdateRequest
      description: 'Request model for updating a variable definition.


        Should be the same as `VariableDefinitionCreateRequest`, just with `total=False`.'
    ValueMatchesRegex:
      properties:
        attribute:
          type: string
          title: Attribute
        pattern:
          anyOf:
          - type: string
          - type: string
            format: regex
          title: Pattern
        kind:
          type: string
          enum:
          - value-matches-regex
          title: Kind
          default: value-matches-regex
      type: object
      required:
      - attribute
      - pattern
      title: ValueMatchesRegex
      description: Condition that matches when an attribute value matches a regex pattern.
    RolloutData:
      properties:
        labels:
          additionalProperties:
            type: number
          type: object
          title: Labels
        latest_weight:
          type: number
          title: Latest Weight
      type: object
      required:
      - labels
      title: RolloutData
      description: Rollout configuration stored as JSONB.
    Rollout:
      properties:
        labels:
          additionalProperties:
            type: number
          propertyNames:
            maxLength: 200
            minLength: 1
          type: object
          title: Labels
      type: object
      required:
      - labels
      title: Rollout
      description: Configuration for label selection with weighted probabilities.
    LatestVersion:
      properties:
        version:
          type: integer
          title: Version
        serialized_value:
          type: string
          title: Serialized Value
      type: object
      required:
      - version
      - serialized_value
      title: LatestVersion
      description: The latest version of a variable, always carrying its serialized value.
    LabeledValue:
      properties:
        version:
          type: integer
          title: Version
        serialized_value:
          type: string
          title: Serialized Value
      type: object
      required:
      - version
      - serialized_value
      title: LabeledValue
      description: A label pointing to a version with an inline serialized value.
    VariableConfig:
      properties:
        name:
          type: string
          title: Name
        kind:
          type: string
          enum:
          - general
          - prompt
          title: Kind
          default: general
        labels:
          additionalProperties:
            anyOf:
            - $ref: '#/components/schemas/LabeledValue'
            - $ref: '#/components/schemas/LabelRef'
          propertyNames:
            maxLength: 200
            minLength: 1
          type: object
          title: Labels
        latest_version:
          anyOf:
          - $ref: '#/components/schemas/LatestVersion'
          - type: 'null'
        rollout:
          $ref: '#/components/schemas/Rollout'
        overrides:
          items:
            $ref: '#/components/schemas/RolloutOverride'
          type: array
          title: Overrides
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        json_schema:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Json Schema
        template_inputs_schema:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Template Inputs Schema
        type_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Type Name
        aliases:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Aliases
        example:
          anyOf:
          - type: string
          - type: 'null'
          title: Example
        display_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Display Name
        prompt_slug:
          anyOf:
          - type: string
          - type: 'null'
          title: Prompt Slug
      type: object
      required:
      - name
      - labels
      - rollout
      - overrides
      title: VariableConfig
      description: Configuration for a single managed variable including labels and rollout rules.
    ValueDoesNotEqual:
      properties:
        attribute:
          type: string
          title: Attribute
        value:
          title: Value
        kind:
          type: string
          enum:
          - value-does-not-equal
          title: Kind
          default: value-does-not-equal
      type: object
      required:
      - attribute
      - value
      title: ValueDoesNotEqual
      description: Condition that matches when an attribute does not equal a specific value.
    OverrideData:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        conditions:
          items:
            $ref: '#/components/schemas/ConditionData'
          type: array
          title: Conditions
        rollout:
          $ref: '#/components/schemas/RolloutData'
      type: object
      required:
      - conditions
      - rollout
      title: OverrideData
      description: Override configuration stored as JSONB.
    LatestLabelData:
      properties:
        target_type:
          type: string
          enum:
          - latest
          title: Target Type
      type: object
      required:
      - target_type
      title: LatestLabelData
      description: Label data pointing to the latest version.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    KeyIsPresent:
      properties:
        attribute:
          type: string
          title: Attribute
        kind:
          type: string
          enum:
          - key-is-present
          title: Kind
          default: key-is-present
      type: object
      required:
      - attribute
      title: KeyIsPresent
      description: Condition that matches when an attribute key is present.
    VersionLabelData:
      properties:
        target_type:
          type: string
          enum:
          - version
          title: Target Type
        serialized_value:
          type: string
          title: Serialized Value
        version:
          type: integer
          title: Version
      type: object
      required:
      - target_type
      - serialized_value
      title: VersionLabelData
      description: Label data pointing to a version by serialized value.
    VariableDefinitionCreateRequest:
      properties:
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
            maxLength: 500
          - type: 'null'
          title: Description
        json_schema:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Json Schema
        template_inputs_schema:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Template Inputs Schema
        type_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Type Id
        rollout:
          $ref: '#/components/schemas/RolloutData'
        overrides:
          items:
            $ref: '#/components/schemas/OverrideData'
          type: array
          title: Overrides
        aliases:
          items:
            type: string
          type: array
          title: Aliases
        example:
          anyOf:
          - type: string
          - type: 'null'
          title: Example
        external:
          type: boolean
          title: External
        labels:
          additionalProperties:
            anyOf:
            - $ref: '#/components/schemas/VersionLabelData'
            - $ref: '#/components/schemas/LatestLabelData'
            - $ref: '#/components/schemas/CodeDefaultLabelData'
            - $ref: '#/components/schemas/LabelRefLabelData'
          type: object
          title: Labels
      type: object
      required:
      - name
      - description
      - json_schema
      - rollout
      - overrides
      title: VariableDefinitionCreateRequest
      description: Request model for creating a variable definition.
    VersionRead:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        variable_definition_id:
          type: string
          format: uuid
          title: Variable Definition Id
        version:
          type: integer
          title: Version
        serialized_value:
          type: string
          title: Serialized Value
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        created_at:
          type: string
          format: date-time
          title: Created At
        created_by:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Created By
        created_by_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Created By Name
      type: object
      required:
      - id
      - variable_definition_id
      - version
      - serialized_value
      - description
      - created_at
      - created_by
      - created_by_name
      title: VersionRead
      description: A version as read from the database.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    KeyIsNotPresent:
      properties:
        attribute:
          type: string
          title: Attribute
        kind:
          type: string
          enum:
          - key-is-not-present
          title: Kind
          default: key-is-not-present
      type: object
      required:
      - attribute
      title: KeyIsNotPresent
      description: Condition that matches when an attribute key is not present.
    ValueDoesNotMatchRegex:
      properties:
        attribute:
          type: string
          title: Attribute
        pattern:
          anyOf:
          - type: string
          - type: string
            format: regex
          title: Pattern
        kind:
          type: string
          enum:
          - value-does-not-match-regex
          title: Kind
          default: value-does-not-match-regex
      type: object
      required:
      - attribute
      - pattern
      title: ValueDoesNotMatchRegex
      description: Condition that matches when an attribute value does not match a regex pattern.
    ValueIsNotIn:
      properties:
        attribute:
          type: string
          title: Attribute
        values:
          items: {}
          type: array
          title: Values
        kind:
          type: string
          enum:
          - value-is-not-in
          title: Kind
          default: value-is-not-in
      type: object
      required:
      - attribute
      - values
      title: ValueIsNotIn
      description: Condition that matches when an attribute value is not in a set of values.
    VariablesConfig:
      properties:
        variables:
          additionalProperties:
            $ref: '#/components/schemas/VariableConfig'
          type: object
          title: Variables
      type: object
      required:
      - variables
      title: VariablesConfig
      description: Container for all managed variable configurations.
    RolloutOverride:
      properties:
        conditions:
          items:
            oneOf:
            - $ref: '#/components/schemas/ValueEquals'
            - $ref: '#/components/schemas/ValueDoesNotEqual'
            - $ref: '#/components/schemas/ValueIsIn'
            - $ref: '#/components/schemas/ValueIsNotIn'
            - $ref: '#/components/schemas/ValueMatchesRegex'
            - $ref: '#/components/schemas/ValueDoesNotMatchRegex'
            - $ref: '#/components/schemas/KeyIsPresent'
            - $ref: '#/components/schemas/KeyIsNotPresent'
            discriminator:
              propertyName: kind
              mapping:
                key-is-not-present: '#/components/schemas/KeyIsNotPresent'
                key-is-present: '#/components/schemas/KeyIsPresent'
                value-does-not-equal: '#/components/schemas/ValueDoesNotEqual'
                value-does-not-match-regex: '#/components/schemas/ValueDoesNotMatchRegex'
                value-equals: '#/components/schemas/ValueEquals'
                value-is-in: '#/components/schemas/ValueIsIn'
                value-is-not-in: '#/components/schemas/ValueIsNotIn'
                value-matches-regex: '#/components/schemas/ValueMatchesRegex'
          type: array
          title: Conditions
        rollout:
          $ref: '#/components/schemas/Rollout'
      type: object
      required:
      - conditions
      - rollout
      title: RolloutOverride
      description: An override of the default rollout when specific conditions are met.
    ValueIsIn:
      properties:
        attribute:
          type: string
          title: Attribute
        values:
          items: {}
          type: array
          title: Values
        kind:
          type: string
          enum:
          - value-is-in
          title: Kind
          default: value-is-in
      type: object
      required:
      - attribute
      - values
      title: ValueIsIn
      description: Condition that matches when an attribute value is in a set of values.
    CodeDefaultLabelData:
      properties:
        target_type:
          type: string
          enum:
          - code_default
          title: Target Type
      type: object
      required:
      - target_type
      title: CodeDefaultLabelData
      description: Label data indicating to use the code default value.
  securitySchemes:
    OAuth2AuthorizationCodeBearer:
      type: oauth2
      flows:
        authorizationCode:
          refreshUrl: /api/oauth/token
          scopes:
            instance:admin: Platform admin access to manage the whole self-hosted instance
            instance:billing: Read billing and usage data across the whole self-hosted instance
            organization:admin: Platform admin access to manage organizations across the instance (self-hosted only)
            organization:read: Read access to organizations
            organization:write: Write access to organizations
            organization:create_project: Ability to create projects within the organization
            organization:read_member: Read organization members and roles
            organization:write_member: Modify organization member roles and membership
            organization:read_channel: Read notification channels across the organization
            organization:write_channel: Create or modify notification channels across the organization
            organization:create_api_key: Create new API keys for the organization
            organization:read_api_key: Read API keys across the organization
            organization:write_api_key: Edit or revoke existing API keys across the organization
            organization:read_invitation: Read organization invitations
            organization:write_invitation: Create organization invitations
            project:read: Read access to projects
            project:write: Write access to projects
            project:write_token: Create write tokens
            project:read_token: Create read tokens
            project:read_dashboard: Read dashboards within a project
            project:write_dashboard: Create or modify dashboards within a project
            project:read_alert: Read alerts within a project
            project:write_alert: Create or modify alerts within a project
            project:read_datasets: Read datasets within a project
            project:write_datasets: Create or modify datasets within a project
            project:read_variables: Read managed variables and prompts within a project
            project:write_variables: Create or modify managed variables and prompts within a project
            project:read_external_variables: Read external managed variables within a project via OFREP
            project:gateway_proxy: Proxy AI model requests through the project AI Gateway
            project:read_otlp: Query trace data submitted to the project via OTLP
            project:wr

# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pydantic-ai/refs/heads/main/openapi/pydantic-ai-variables-api-openapi.yml