OpenAPI Specification
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