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

# Delete a product

> Removes a single product from the catalog.

Deleting a product that's already gone still returns a success response — the endpoint is idempotent.

**Required scopes:** `accounts--my:ro`


## OpenAPI

````yaml /api/product-directory/openapi.json delete /v1/catalogs/{catalog_id}/products/{product_id}
openapi: 3.0.0
info:
  title: Product Directory API
  description: >-
    A service for uploading and managing a product catalog for use by an AI
    agent.
  version: 1.0.0
servers:
  - url: https://api.text.com/product-directory
    description: Main production server URL
security:
  - PersonalAccessToken: []
paths:
  /v1/catalogs/{catalog_id}/products/{product_id}:
    delete:
      tags:
        - Products
      summary: Delete a product
      description: >-
        Removes a single product from the catalog.


        Deleting a product that's already gone still returns a success response
        — the endpoint is idempotent.
      operationId: delete-a-product
      parameters:
        - name: catalog_id
          in: path
          required: true
          description: The catalog ID.
          schema:
            type: string
            format: uuid
        - name: product_id
          in: path
          required: true
          description: >-
            The product `id`. URL-encode the value if it contains reserved
            characters (e.g. `/`, `:`).
          schema:
            type: string
      responses:
        '200':
          description: The product was removed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteProductResponse'
              example:
                success: true
        '401':
          description: Missing or invalid token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  type: authentication
                  message: No Authorization header.
        '404':
          description: The catalog doesn't exist for this organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  type: not_found
                  message: >-
                    catalog with ID 3fa85f64-5717-4562-b3fc-2c963f66afa6 not
                    found
        '422':
          description: '`catalog_id` isn''t a valid UUID.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  type: validation
                  message: catalog_id is not a valid UUID.
components:
  schemas:
    DeleteProductResponse:
      type: object
      required:
        - success
      properties:
        success:
          type: boolean
          description: 'If `true`: the product was removed from the catalog.'
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - type
            - message
          properties:
            type:
              type: string
              description: The error category.
            message:
              type: string
              description: A message describing the error.
  securitySchemes:
    PersonalAccessToken:
      description: >-
        Use your `account ID` as the username and your personal access token
        (PAT) as the password, or pass a Base64-encoded value directly in the
        Authorization header. For more information, see the <a
        href="/authentication/personal-access-tokens">personal access tokens
        guide</a>.
      type: http
      scheme: basic

````