Skip to content

Search published legal sources

POST
/v1/legal/search

Performs a read-only search with no side effects. POST keeps potentially sensitive legal queries out of URLs, browser history, and routine proxy access logs. Responses must not be cached.

object
query
required

Search text. It is accepted in the request body to reduce accidental disclosure.

string
>= 1 characters <= 4096 characters
document_types
Array<string>
<= 3 items unique items
Allowed values: judgment legislation doctrine
limit
integer
default: 10 >= 1 <= 50

Ranked, bounded passages from published sources

object
results
required
Array<object>
object
source_version_id
required
string format: uuid
passage_id
required
string format: uuid
title
required
string
>= 1 characters
citation
required

Stable human-readable legal citation or canonical source key.

string
>= 1 characters
document_type
required
string
Allowed values: judgment legislation doctrine
text
required

Passage text bounded to 2,000 Unicode characters.

string
<= 2000 characters
provenance
required
object
canonical_url
required
string format: uri
content_sha256
required

Lowercase hexadecimal SHA-256 digest.

string
/^[a-f0-9]{64}$/
degraded
required

True when the service used a reduced-capability retrieval path.

boolean
X-Request-ID
string format: uuid

Correlation identifier for support and tracing.

RateLimit-Limit
integer
>= 1

Maximum requests allowed in the current minute.

RateLimit-Remaining
integer

Requests remaining in the current minute.

RateLimit-Reset
integer

Seconds until the current minute window resets.

Invalid request

object
type
required
string format: uri
Example
https://kesita.ai/problems/bad-request
title
required
string
status
required
integer
detail
string
instance
string
request_id
string
X-Request-ID
string format: uuid

Correlation identifier for support and tracing.

RateLimit-Limit
integer
>= 1

Maximum requests allowed in the current minute.

RateLimit-Remaining
integer

Requests remaining in the current minute.

RateLimit-Reset
integer

Seconds until the current minute window resets.

Missing or invalid OAuth access token

object
type
required
string format: uri
Example
https://kesita.ai/problems/bad-request
title
required
string
status
required
integer
detail
string
instance
string
request_id
string
X-Request-ID
string format: uuid

Correlation identifier for support and tracing.

The client is disabled or lacks the required scope

object
type
required
string format: uri
Example
https://kesita.ai/problems/bad-request
title
required
string
status
required
integer
detail
string
instance
string
request_id
string
X-Request-ID
string format: uuid

Correlation identifier for support and tracing.

Request quota exceeded

object
type
required
string format: uri
Example
https://kesita.ai/problems/bad-request
title
required
string
status
required
integer
detail
string
instance
string
request_id
string
X-Request-ID
string format: uuid

Correlation identifier for support and tracing.

Retry-After
integer
>= 1

Seconds before the client should retry.

RateLimit-Limit
integer
>= 1

Maximum requests allowed in the current minute.

RateLimit-Remaining
integer

Requests remaining in the current minute.

RateLimit-Reset
integer

Seconds until the current minute window resets.

Legal Core is temporarily unavailable

object
type
required
string format: uri
Example
https://kesita.ai/problems/bad-request
title
required
string
status
required
integer
detail
string
instance
string
request_id
string
X-Request-ID
string format: uuid

Correlation identifier for support and tracing.

RateLimit-Limit
integer
>= 1

Maximum requests allowed in the current minute.

RateLimit-Remaining
integer

Requests remaining in the current minute.

RateLimit-Reset
integer

Seconds until the current minute window resets.