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

# Delete Searches

> Queue deletion for one or more completed searches owned by the authenticated API key.



## OpenAPI

````yaml POST /search/delete
openapi: 3.1.0
info:
  title: Osintly API
  version: 1.0.0
  description: OpenAPI specification for the Osintly API service.
  contact:
    name: Osintly
    url: https://docs.osint.ly/api-reference/quick-start
servers:
  - url: https://api.osint.ly
    description: Production
security: []
tags:
  - name: System
    description: Health and service checks
  - name: Auth
    description: Authorization validation
  - name: Search
    description: Create, monitor and retrieve search results
  - name: Usage
    description: Rate limit and usage information
  - name: Radar
    description: Breach intelligence endpoints (free with API key)
  - name: Webhooks
    description: Webhook callback payloads configured from search creation
paths:
  /search/delete:
    post:
      tags:
        - Search
      summary: Delete multiple searches
      description: >-
        Request asynchronous deletion of one or more completed searches. The
        request accepts between 1 and 100 search IDs. The batch is
        all-or-nothing: every provided search ID must belong to the
        authenticated caller and every search must already be in a terminal
        state (`finished` or `failed`), otherwise nothing is deleted.
      operationId: deleteSearches
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchDeleteRequest'
            examples:
              bulk_delete:
                value:
                  ids:
                    - d290f1ee-6c54-4b01-90e6-d701748f0851
                    - 7a1f1a8f-9c3a-47b0-8f2d-4efb9a84a5b0
      responses:
        '202':
          description: Deletion accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchDeleteResponse'
              examples:
                accepted:
                  value:
                    data:
                      accepted: true
                      deletion:
                        requested_count: 2
                        queued_ids:
                          - d290f1ee-6c54-4b01-90e6-d701748f0851
                          - 7a1f1a8f-9c3a-47b0-8f2d-4efb9a84a5b0
                    meta:
                      environment: production
                      timestamp: '2026-05-29T12:00:00.000Z'
        '400':
          $ref: '#/components/responses/SearchApiError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/SearchApiError'
        '409':
          $ref: '#/components/responses/SearchApiError'
        '500':
          $ref: '#/components/responses/SearchApiError'
        '503':
          $ref: '#/components/responses/SearchApiError'
      security:
        - bearerAuth: []
components:
  schemas:
    SearchDeleteRequest:
      type: object
      required:
        - ids
      properties:
        ids:
          type: array
          minItems: 1
          maxItems: 100
          items:
            type: string
            format: uuid
          description: >-
            Search IDs to delete as a single all-or-nothing batch. Minimum 1 ID,
            maximum 100 IDs per request. Every ID must belong to the
            authenticated caller, and every referenced search must already be in
            a terminal state (`finished` or `failed`). If one ID is invalid,
            inaccessible, or still active, the whole request is rejected.
      additionalProperties: false
    SearchDeleteResponse:
      type: object
      required:
        - data
        - meta
      properties:
        data:
          type: object
          required:
            - accepted
            - deletion
          properties:
            accepted:
              type: boolean
              enum:
                - true
            deletion:
              type: object
              required:
                - requested_count
                - queued_ids
              properties:
                requested_count:
                  type: integer
                queued_ids:
                  type: array
                  items:
                    type: string
                    format: uuid
        meta:
          $ref: '#/components/schemas/ResponseMeta'
    ResponseMeta:
      type: object
      required:
        - timestamp
      properties:
        environment:
          type: string
        timestamp:
          type: string
          format: date-time
    SearchApiErrorResponse:
      type: object
      required:
        - error
        - meta
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
            message:
              type: string
            details:
              oneOf:
                - type: string
                - type: array
                  items:
                    $ref: '#/components/schemas/ValidationIssue'
        meta:
          $ref: '#/components/schemas/ResponseMeta'
    BasicErrorResponse:
      type: object
      required:
        - success
        - message
      properties:
        success:
          type: boolean
          enum:
            - false
        message:
          type: string
      additionalProperties: true
    ValidationIssue:
      type: object
      required:
        - path
        - message
      properties:
        path:
          type: string
        message:
          type: string
  responses:
    SearchApiError:
      description: Search API error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SearchApiErrorResponse'
          examples:
            validation_error:
              value:
                error:
                  code: VALIDATION_ERROR
                  message: Invalid request parameters
                  details:
                    - path: query.value
                      message: query.value must be a valid email
                meta:
                  timestamp: '2026-05-27T12:00:00.000Z'
            rate_limited:
              value:
                error:
                  code: RATE_LIMIT_EXCEEDED
                  message: Rate limit exceeded
                  details: API usage limits have been reached
                meta:
                  environment: production
                  timestamp: '2026-05-27T12:00:00.000Z'
            run_not_found:
              value:
                error:
                  code: RUN_NOT_FOUND
                  message: Search run not available
                  details: No active run is associated with this search
                meta:
                  environment: production
                  timestamp: '2026-05-27T12:00:00.000Z'
            leak_source_not_found:
              value:
                error:
                  code: LEAK_SOURCE_NOT_FOUND
                  message: Leak source not found
                  details: No leaked results source matches 'unknown-source'
                meta:
                  environment: production
                  timestamp: '2026-05-27T12:00:00.000Z'
    UnauthorizedError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BasicErrorResponse'
          examples:
            unauthorized:
              value:
                success: false
                message: Unauthorized
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key

````