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

# Delete Exposure Type

> Permanently deletes a company-specific exposure type and removes it from
the company's enabled exposure types.

Before deletion, the exposure type must not be referenced by any insureds.
If insureds exist with this exposure type, the request returns 409.

**Required permission:** `company:update`




## OpenAPI

````yaml /openapi/generated-external-api.yaml delete /api/external/companies/{companyId}/exposure-types/{exposureTypeId}
openapi: 3.0.3
info:
  title: AI Insurance External API
  description: External API for AI Insurance platform
  version: 1.0.0
  contact:
    email: support@aiinsurance.io
servers:
  - url: https://app.aiinsurance.io
    description: Production
security:
  - ApiKeyAuth: []
paths:
  /api/external/companies/{companyId}/exposure-types/{exposureTypeId}:
    delete:
      tags:
        - Exposure Types
      summary: Delete Exposure Type
      description: >
        Permanently deletes a company-specific exposure type and removes it from

        the company's enabled exposure types.


        Before deletion, the exposure type must not be referenced by any
        insureds.

        If insureds exist with this exposure type, the request returns 409.


        **Required permission:** `company:update`
      operationId: deleteExposureType
      parameters:
        - $ref: '#/components/parameters/companyId'
        - $ref: '#/components/parameters/exposureTypeId'
      responses:
        '200':
          description: Exposure type deleted successfully
          content:
            application/json:
              schema:
                type: object
                required:
                  - id
                  - deleted
                properties:
                  id:
                    type: string
                    format: uuid
                    description: The ID of the deleted exposure type
                  deleted:
                    type: boolean
                    description: Always `true`
              examples:
                success:
                  summary: Exposure type deleted
                  value:
                    id: 550e8400-e29b-41d4-a716-446655440003
                    deleted: true
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: >-
            Not Found - Exposure type does not exist or belongs to another
            company
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                notFound:
                  summary: Exposure type not found
                  value:
                    error:
                      code: ExposureTypeNotFound
                      message: >-
                        Exposure type not found:
                        550e8400-e29b-41d4-a716-446655440003
        '409':
          description: Conflict - Exposure type is referenced by insureds
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                inUse:
                  summary: Exposure type in use
                  value:
                    error:
                      code: ExposureTypeInUse
                      message: >-
                        Cannot delete exposure type 'franchise_dealer' because
                        it is referenced by one or more insureds.
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  parameters:
    companyId:
      name: companyId
      in: path
      required: true
      schema:
        type: string
        format: uuid
      description: Company identifier
    exposureTypeId:
      name: exposureTypeId
      in: path
      required: true
      schema:
        type: string
        format: uuid
      description: Exposure type identifier
  responses:
    Unauthorized:
      description: Unauthorized - Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            missingApiKey:
              summary: Missing API key
              value:
                error:
                  code: UNAUTHORIZED
                  message: Authorization header is required
            bearerTokenNotAllowed:
              summary: Bearer token used instead of API key
              value:
                error:
                  code: UNAUTHORIZED
                  message: External API endpoints require API key authentication
    Forbidden:
      description: Forbidden - Insufficient permissions
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            insufficientPermissions:
              summary: Insufficient permissions
              value:
                error:
                  code: FORBIDDEN
                  message: Insufficient permissions to perform this action
    InternalServerError:
      description: Internal Server Error - Unexpected error occurred
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            internalError:
              summary: Unexpected server error
              value:
                error:
                  code: INTERNAL_ERROR
                  message: An unexpected error occurred. Please try again later.
  schemas:
    ErrorResponse:
      type: object
      description: Standard error response for all external API endpoints
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              description: Machine-readable error code
              example: VALIDATION_ERROR
            message:
              type: string
              description: Human-readable error message
              example: 'submissionId: Required field is missing'
            details:
              type: array
              description: Additional details for validation errors (field-level errors)
              items:
                type: object
                properties:
                  field:
                    type: string
                    description: The field that caused the error
                    example: submissionId
                  message:
                    type: string
                    description: Description of the field error
                    example: Required field is missing
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        API key authentication. Include your API key in the Authorization
        header.

````