vLex Search API

Search the vLex legal document corpus

OpenAPI Specification

vlex-search-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: vLex Iceberg Anonymization Search API
  description: The vLex Iceberg Anonymization API identifies and anonymizes names and personally identifiable information from any text input. Pre-trained on legal data to recognize personal names, organizations, and sensitive entities within legal documents, contracts, and court filings for privacy protection and data compliance workflows.
  version: 1.0.0
  contact:
    name: vLex Developer Support
    url: https://developer.vlex.com/
  license:
    name: Proprietary
    url: https://vlex.com/
servers:
- url: https://api.vlex.com
  description: vLex Iceberg API
tags:
- name: Search
  description: Search the vLex legal document corpus
paths:
  /v1/search:
    post:
      operationId: searchDocuments
      summary: Search Legal Documents
      description: Perform a semantic search across the vLex corpus of 100+ million legal documents. Supports natural language queries with jurisdiction, document type, and date filters. Returns ranked results with document metadata.
      tags:
      - Search
      security:
      - SubscriptionKey: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchRequest'
            examples:
              caseSearch:
                summary: Search for employment discrimination cases
                value:
                  query: employment discrimination hostile work environment
                  jurisdiction: US
                  document_type: case_law
                  date_from: '2020-01-01'
                  page: 1
                  per_page: 10
      responses:
        '200':
          description: Search results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    Unauthorized:
      description: Invalid or missing subscription key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    SearchResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/SearchResult'
        total:
          type: integer
        page:
          type: integer
        per_page:
          type: integer
        query_time_ms:
          type: integer
    SearchRequest:
      type: object
      required:
      - query
      description: Request body for legal document search.
      properties:
        query:
          type: string
          description: Natural language or keyword search query.
        jurisdiction:
          type: string
          description: ISO 3166-1 country code or jurisdiction code (e.g. US, GB, EU).
          example: US
        document_type:
          type: string
          enum:
          - case_law
          - statute
          - regulation
          - secondary_source
          - contract
          - all
          default: all
        date_from:
          type: string
          format: date
          description: Filter documents published on or after this date.
        date_to:
          type: string
          format: date
          description: Filter documents published on or before this date.
        language:
          type: string
          description: BCP-47 language filter.
          example: en
        page:
          type: integer
          default: 1
        per_page:
          type: integer
          default: 10
          maximum: 50
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
    SearchResult:
      type: object
      properties:
        document_id:
          type: string
          description: vLex document identifier.
        title:
          type: string
          description: Document title.
        snippet:
          type: string
          description: Relevant text excerpt matching the query.
        document_type:
          type: string
          description: Type of legal document.
        jurisdiction:
          type: string
        date:
          type: string
          format: date
        relevance_score:
          type: number
          format: float
        url:
          type: string
          format: uri
  securitySchemes:
    SubscriptionKey:
      type: apiKey
      in: header
      name: Ocp-Apim-Subscription-Key
      description: vLex API subscription key obtained from the developer portal.
externalDocs:
  description: vLex Developer Portal
  url: https://developer.vlex.com/apis