Prime Intellect Platform API

Account, team, secrets, image, and cluster administration. Whoami and team membership, secret CRUD for use inside pods and sandboxes, Docker image builds with public/private visibility, registry credential checks, FRP plugin validation, and admin-only cluster + node-log endpoints.

Prime Intellect Platform API is one of 6 APIs that Prime Intellect publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 3 machine-runnable capabilities that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Account, Teams, Secrets, Images, and Administration. The published artifact set on APIs.io includes API documentation, authentication docs, an OpenAPI specification, and 3 Naftiko capability specs.

OpenAPI Specification

prime-intellect-platform-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Prime Intellect Platform API
  version: 0.1.0
  description: Account, team, secrets, image, and cluster administration. Whoami, team listing, secret CRUD, Docker image
    builds and visibility, registry credential checks, FRP plugin validation, and admin-only cluster + node-log operations.
  contact:
    name: Prime Intellect
    url: https://www.primeintellect.ai
servers:
- url: https://api.primeintellect.ai
security:
- HTTPBearer: []
tags:
- name: user
- name: teams
- name: Secrets
- name: Images
- name: Template
- name: FRP Plugin
- name: admin-clusters
- name: admin-users
paths:
  /api/admin/clusters:
    get:
      tags:
      - admin-clusters
      summary: List Clusters
      description: List non-terminated clusters.
      operationId: list_clusters_api_admin_clusters_get
      security:
      - HTTPBearer: []
      parameters:
      - name: vaultEnabled
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          description: If true, return only vault-enabled clusters; if false, only non-vault-enabled. Omit to include both.
          title: Vaultenabled
        description: If true, return only vault-enabled clusters; if false, only non-vault-enabled. Omit to include both.
      - name: search
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Case-insensitive substring match against cluster name or id.
          title: Search
        description: Case-insensitive substring match against cluster name or id.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Number of items to skip.
          default: 0
          title: Offset
        description: Number of items to skip.
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          description: Max items to return (1-100).
          default: 20
          title: Limit
        description: Max items to return (1-100).
      - name: detailed
        in: query
        required: false
        schema:
          type: boolean
          description: If true, populate `nodes` for each cluster (one entry per pod). Otherwise only the `controller` connection
            is returned.
          default: false
          title: Detailed
        description: If true, populate `nodes` for each cluster (one entry per pod). Otherwise only the `controller` connection
          is returned.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericPaginationResponse_list_AdminClusterSummary__'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Insufficient permissions
  /api/admin/clusters/{cluster_id}:
    get:
      tags:
      - admin-clusters
      summary: Get Cluster
      description: Return full DB details for one cluster (columns + nodes + SSH keys).
      operationId: get_cluster_api_admin_clusters__cluster_id__get
      security:
      - HTTPBearer: []
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: string
          title: Cluster Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse_ClusterDetailResponse_'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Insufficient permissions
  /api/admin/clusters/{cluster_id}/authorizations/certificate:
    post:
      tags:
      - admin-clusters
      summary: Request Certificate
      description: 'Sign the requesting admin''s SSH public key via Vault.


        If a ``publicKey`` is provided in the body, it is signed directly.

        Otherwise the admin''s DB-stored SSH public key is used.'
      operationId: request_certificate_api_admin_clusters__cluster_id__authorizations_certificate_post
      security:
      - HTTPBearer: []
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: string
          title: Cluster Id
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/CertificateRequest'
              - type: 'null'
              title: Request
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse_CertificateResponse_'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Insufficient permissions
  /api/admin/clusters/{cluster_id}/node-logs:
    get:
      tags:
      - admin-clusters
      summary: List Cluster Node Logs
      description: Return paginated ClusterNodeLog entries for one cluster, newest first.
      operationId: list_cluster_node_logs_api_admin_clusters__cluster_id__node_logs_get
      security:
      - HTTPBearer: []
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: string
          title: Cluster Id
      - name: podId
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter logs to a single pod.
          title: Podid
        description: Filter logs to a single pod.
      - name: eventType
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/ClusterNodeLogEventTypeEnum'
          - type: 'null'
          description: Filter logs to a single event type.
          title: Eventtype
        description: Filter logs to a single event type.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Number of items to skip.
          default: 0
          title: Offset
        description: Number of items to skip.
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          description: Max items to return (1-100, default 20).
          default: 20
          title: Limit
        description: Max items to return (1-100, default 20).
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericPaginationResponse_list_ClusterNodeLogEntry__'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Insufficient permissions
  /api/admin/users/whoami:
    get:
      tags:
      - admin-users
      summary: Get Current User
      description: 'Identity + envelope for the calling admin API key.


        Intentionally bypasses ``require_admin_permission``: any valid, non-

        expired, non-disabled admin API key whose owner is still ADMIN/MANAGER

        can call this. Returning the resolved permission envelope is what makes

        a freshly-minted scoped key able to discover what it can do.'
      operationId: get_current_user_api_admin_users_whoami_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse_AdminWhoamiResponse_'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Insufficient permissions
      security:
      - HTTPBearer: []
  /api/v1/frp/validate:
    post:
      tags:
      - FRP Plugin
      summary: Validate Frp Plugin
      description: 'Validate frpc client connections.


        This endpoint is called by frps server plugin for:

        - Login: Validates tunnel token when client connects

        - NewProxy: Validates proxy creation requests


        This endpoint is public but security is enforced via per-tunnel

        token validation. An attacker would need both a valid tunnel_id AND

        the corresponding frp_token to get a successful response.'
      operationId: validate_frp_plugin_api_v1_frp_validate_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FrpPluginRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FrpPluginResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v1/images:
    get:
      tags:
      - Images
      summary: List User Images
      description: 'List images and builds for the current user, scoped by team context. Returns personal images by default,
        or team images if teamId is provided.


        Pagination note: `limit`, `offset`, and `totalCount` count logical images

        (unique `owner/imageName:imageTag`). A single image may produce multiple

        `data[]` rows (one per artifact type plus any active builds), so

        `len(data)` can exceed `limit` and `totalCount` reflects images, not rows.'
      operationId: list_user_images_api_v1_images_get
      security:
      - HTTPBearer: []
      parameters:
      - name: teamId
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by team ID. If provided, returns only that team's images. If not provided, returns only personal
            images.
          title: Teamid
        description: Filter by team ID. If provided, returns only that team's images. If not provided, returns only personal
          images.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 100
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericPaginationResponse_List_ImageResponse__'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-mint:
        content: '## Rate Limit


          300 requests per 60 seconds per IP and token.'
  /api/v1/images/build:
    post:
      tags:
      - Images
      summary: Initiate Image Build
      description: 'Initiate an image build process.


        Returns a presigned URL to upload the build context (tar.gz file).

        After uploading, call /images/build/{build_id}/start to begin the build.'
      operationId: initiate_image_build_api_v1_images_build_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildImageRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildImageResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - HTTPBearer: []
      x-mint:
        content: '## Rate Limit


          150 requests per 60 seconds per IP and token.'
  /api/v1/images/build/{build_id}:
    get:
      tags:
      - Images
      summary: Get Build Status
      description: Get the status of an image build.
      operationId: get_build_status_api_v1_images_build__build_id__get
      security:
      - HTTPBearer: []
      parameters:
      - name: build_id
        in: path
        required: true
        schema:
          type: string
          title: Build Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildStatusResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v1/images/build/{build_id}/start:
    post:
      tags:
      - Images
      summary: Start Image Build
      description: 'Start the image build process after uploading the build context.


        This creates a sandbox with Docker-in-Docker to build and push the image.'
      operationId: start_image_build_api_v1_images_build__build_id__start_post
      security:
      - HTTPBearer: []
      parameters:
      - name: build_id
        in: path
        required: true
        schema:
          type: string
          title: Build Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartBuildRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildStatusResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v1/images/builds:
    get:
      tags:
      - Images
      summary: List Image Builds
      description: List all image builds for the current user.
      operationId: list_image_builds_api_v1_images_builds_get
      security:
      - HTTPBearer: []
      parameters:
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 100
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericPaginationResponse_List_BuildStatusResponse__'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v1/images/{image_name}/{image_tag}:
    delete:
      tags:
      - Images
      summary: Delete User Image
      description: 'Delete a user image from the database and Google Artifact Registry.


        For team images, only the image creator or team admins can delete.'
      operationId: delete_user_image_api_v1_images__image_name___image_tag__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: image_name
        in: path
        required: true
        schema:
          type: string
          title: Image Name
      - name: image_tag
        in: path
        required: true
        schema:
          type: string
          title: Image Tag
      - name: teamId
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Team ID if deleting a team image
          title: Teamid
        description: Team ID if deleting a team image
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteImageResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-mint:
        content: '## Rate Limit


          100 requests per 60 seconds per IP and token.'
  /api/v1/images/{image_name}/{image_tag}/visibility:
    patch:
      tags:
      - Images
      summary: Update Image Visibility
      description: Publish or unpublish an image in the current personal or team context.
      operationId: update_image_visibility_api_v1_images__image_name___image_tag__visibility_patch
      security:
      - HTTPBearer: []
      parameters:
      - name: image_name
        in: path
        required: true
        schema:
          type: string
          title: Image Name
      - name: image_tag
        in: path
        required: true
        schema:
          type: string
          title: Image Tag
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateImageVisibilityRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateImageVisibilityResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-mint:
        content: '## Rate Limit


          100 requests per 60 seconds per IP and token.'
  /api/v1/secrets/:
    get:
      tags:
      - Secrets
      summary: List Secrets
      description: 'List global secrets for the authenticated user or a team.


        If teamId is provided, returns secrets for that team (requires team membership).

        Otherwise, returns the user''s personal secrets.'
      operationId: list_secrets_api_v1_secrets__get
      security:
      - HTTPBearer: []
      parameters:
      - name: teamId
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by team ID
          title: Teamid
        description: Filter by team ID
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 100
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericPaginationResponse_List_SecretResponse__'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - Secrets
      summary: Create Secret
      description: 'Create a new global secret.


        The secret will be encrypted and stored securely. If teamId is provided,

        the secret will be associated with that team (requires team membership).'
      operationId: create_secret_api_v1_secrets__post
      security:
      - HTTPBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SecretCreateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse_SecretResponse_'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v1/secrets/{secret_id}:
    get:
      tags:
      - Secrets
      summary: Get Secret
      description: 'Get a specific secret by ID.


        Note: The secret value is not returned, only metadata.'
      operationId: get_secret_api_v1_secrets__secret_id__get
      security:
      - HTTPBearer: []
      parameters:
      - name: secret_id
        in: path
        required: true
        schema:
          type: string
          title: Secret Id
      - name: teamId
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Team ID for team secrets
          title: Teamid
        description: Team ID for team secrets
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse_SecretResponse_'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      tags:
      - Secrets
      summary: Update Secret
      description: 'Update an existing secret.


        You can update the name, value, and/or description.'
      operationId: update_secret_api_v1_secrets__secret_id__patch
      security:
      - HTTPBearer: []
      parameters:
      - name: secret_id
        in: path
        required: true
        schema:
          type: string
          title: Secret Id
      - name: teamId
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Team ID for team secrets
          title: Teamid
        description: Team ID for team secrets
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SecretUpdateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse_SecretResponse_'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
      - Secrets
      summary: Delete Secret
      description: 'Delete a secret.


        This operation cannot be undone. Secrets that are linked to environments

        will be automatically unlinked.'
      operationId: delete_secret_api_v1_secrets__secret_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: secret_id
        in: path
        required: true
        schema:
          type: string
          title: Secret Id
      - name: teamId
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Team ID for team secrets
          title: Teamid
        description: Team ID for team secrets
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v1/teams/{team_id}/members:
    get:
      tags:
      - teams
      summary: List Team Members
      operationId: list_team_members_api_v1_teams__team_id__members_get
      security:
      - HTTPBearer: []
      parameters:
      - name: team_id
        in: path
        required: true
        schema:
          type: string
          title: Team Id
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 100
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericPaginationResponse_List_TeamMemberDetail__'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v1/template/check-docker-image:
    post:
      tags:
      - Template
      summary: Check Docker Image
      description: Check whether a docker image is accessible (optionally with registry credentials).
      operationId: check_docker_image_api_v1_template_check_docker_image_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DockerImageCheckRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - HTTPBearer: []
  /api/v1/template/registry-credentials:
    get:
      tags:
      - Template
      summary: List Registry Credentials
      description: List registry credentials owned by the requesting user or their teams.
      operationId: list_registry_credentials_api_v1_template_registry_credentials_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistryCredentialsListResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - HTTPBearer: []
  /api/v1/user/slug:
    patch:
      tags:
      - user
      summary: Set Username Slug
      operationId: set_username_slug_api_v1_user_slug_patch
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserSlugUpdateRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse_User_'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - HTTPBearer: []
  /api/v1/user/teams:
    get:
      tags:
      - user
      summary: List My Teams
      operationId: list_my_teams_api_v1_user_teams_get
      security:
      - HTTPBearer: []
      parameters:
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 100
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericPaginationResponse_List_TeamSummary__'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v1/user/whoami:
    get:
      tags:
      - user
      summary: Get Whoami
      operationId: get_whoami_api_v1_user_whoami_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse_WhoamiResponse_'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - HTTPBearer: []
components:
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer
  schemas:
    GenericResponse_AdminWhoamiResponse_:
      properties:
        data:
          anyOf:
          - $ref: '#/components/schemas/AdminWhoamiResponse'
          - type: 'null'
          description: Response data
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
          description: Response status
      type: object
      title: GenericResponse[AdminWhoamiResponse]
    AdminWhoamiResponse:
      properties:
        id:
          type: string
          title: Id
        role:
          $ref: '#/components/schemas/UserRoleEnum'
          default: USER
        createdAt:
          type: string
          format: date-time
          title: Createdat
        name:
          type: string
          title: Name
        slug:
          anyOf:
          - type: string
          - type: 'null'
          title: Slug
        email:
          type: string
          title: Email
        image:
          anyOf:
          - type: string
          - type: 'null'
          title: Image
        emailVerified:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Emailverified
        hasBetaAccess:
          type: boolean
          title: Hasbetaaccess
          default: false
        isBanned:
          type: boolean
          title: Isbanned
          default: false
        skipPrepay:
          type: boolean
          title: Skipprepay
          default: false
        blacklist:
          items:
            type: string
          type: array
          title: Blacklist
          default: []
        permissions:
          additionalProperties:
            items:
              type: string
            type: array
          type: object
          title: Permissions
          description: 'Resolv

# --- truncated at 32 KB (75 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/prime-intellect/refs/heads/main/openapi/prime-intellect-platform-api-openapi.yml