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

# Delete an LLM profile

> Deletes an LLM profile and returns its final state.

<Note>
  LLM profiles are available only on self-hosted deployments. Laminar Cloud returns `404 Not Found`.
</Note>

<Warning>
  A profile used by a Signal cannot be deleted. The API returns `409 Conflict` until every Signal stops using it.
</Warning>




## OpenAPI

````yaml /openapi/openapi.yaml delete /v1/llm-profiles/{profile_id}
openapi: 3.1.0
info:
  title: Laminar API
  version: 1.0.0
  description: Public HTTP API for ingesting and managing data in a Laminar project.
  license:
    name: Apache 2.0
    identifier: Apache-2.0
servers:
  - url: https://api.lmnr.ai
    description: Laminar Cloud
security:
  - projectApiKey: []
tags:
  - name: Ingestion
    description: Send telemetry data to Laminar.
  - name: Traces
    description: Update trace data after ingestion.
  - name: SQL
    description: Query project data with read-only SQL.
  - name: Projects
    description: Resolve project information.
  - name: Datasets
    description: Read datasets and add datapoints.
  - name: Evaluations
    description: Create evaluation runs and record their results.
  - name: Labeling queues
    description: Add items to labeling queues.
  - name: Signals
    description: Manage automated evaluations of project traces.
  - name: LLM profiles
    description: Configure workspace LLM credentials and models for self-hosted Signals.
paths:
  /v1/llm-profiles/{profile_id}:
    parameters:
      - $ref: '#/components/parameters/LlmProfileId'
    delete:
      tags:
        - LLM profiles
      summary: Delete an LLM profile
      description: |
        Deletes an LLM profile and returns its final state.

        <Note>
          LLM profiles are available only on self-hosted deployments. Laminar Cloud returns `404 Not Found`.
        </Note>

        <Warning>
          A profile used by a Signal cannot be deleted. The API returns `409 Conflict` until every Signal stops using it.
        </Warning>
      operationId: deleteLlmProfile
      responses:
        '200':
          description: LLM profile deleted. Secret values are masked.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LlmProfile'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
components:
  parameters:
    LlmProfileId:
      name: profile_id
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/Uuid'
  schemas:
    LlmProfile:
      type: object
      required:
        - id
        - workspaceId
        - name
        - provider
        - config
        - models
        - secrets
        - createdAt
        - updatedAt
      properties:
        id:
          $ref: '#/components/schemas/Uuid'
        workspaceId:
          $ref: '#/components/schemas/Uuid'
        name:
          type: string
        provider:
          $ref: '#/components/schemas/LlmProfileProvider'
        config:
          $ref: '#/components/schemas/LlmProfileConfig'
        models:
          type: array
          items:
            type: string
        secrets:
          $ref: '#/components/schemas/LlmProfileSecrets'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    Uuid:
      type: string
      format: uuid
    LlmProfileProvider:
      type: string
      enum:
        - openai_completions
        - openai_responses
        - gemini
        - bedrock
        - azure_chat_completions
        - azure_responses
        - azure_anthropic
        - custom
    LlmProfileConfig:
      type: object
      properties:
        auth:
          $ref: '#/components/schemas/LlmProfileAuth'
        region:
          type: string
          maxLength: 64
        resourceId:
          type: string
          maxLength: 256
        baseUrl:
          type: string
          format: uri
        apiVersion:
          type: string
          maxLength: 64
        headerNames:
          type: array
          maxItems: 32
          uniqueItems: true
          items:
            type: string
            maxLength: 256
      description: >-
        Provider-specific non-secret configuration. Azure requires exactly one
        of `resourceId` or `baseUrl`; Bedrock requires `region`; custom
        providers require `baseUrl`.
    LlmProfileSecrets:
      type: object
      readOnly: true
      required:
        - apiKey
        - secretAccessKey
        - token
        - headers
      properties:
        apiKey:
          type:
            - string
            - 'null'
          description: Masked API key.
        secretAccessKey:
          type:
            - string
            - 'null'
          description: Masked AWS secret access key.
        token:
          type:
            - string
            - 'null'
          description: Masked bearer token.
        headers:
          type: array
          items:
            type: string
          description: Names of stored custom headers; values are never returned.
    Error:
      oneOf:
        - type: object
          properties:
            error:
              type: string
          required:
            - error
        - type: string
    LlmProfileAuth:
      oneOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              const: api_key
        - type: object
          required:
            - type
            - accessKeyId
          properties:
            type:
              type: string
              const: aws_keys
            accessKeyId:
              type: string
              maxLength: 256
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              const: bearer_token
  responses:
    Unauthorized:
      description: Missing or invalid API key.
    NotFound:
      description: The requested resource was not found in this project.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Conflict:
      description: A resource with the requested name already exists.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    projectApiKey:
      type: http
      scheme: bearer
      bearerFormat: Project API key
      description: A Laminar project API key.

````