Skip to content
getgeolens.com

List Keywords Endpoint

GET
/records/{record_id}/keywords/
curl --request GET \
--url 'https://example.com/records/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/keywords/?skip=0&limit=100'

List all keywords for a record, marking analysis-inherited ones.

record_id
required
Record Id
string format: uuid
skip
Skip
integer
0
limit
Limit
integer
default: 100 >= 1 <= 500
audience_visibility
Any of:
string
/^(private|restricted|internal|public)$/

Compute inherited_audience_gap as if the record had this visibility. Honored only for the record’s owner and admins; ignored for everyone else, who get the gap at the record’s stored state. Keywords themselves are unaffected.

audience_record_status
Any of:
string
<= 30 characters

Compute inherited_audience_gap as if the record had this status — the counterfactual an owner asks before publishing. Honored only for the record’s owner and admins; ignored for everyone else, who get the gap at the record’s stored state. Deliberately not pinned to an enum: the lifecycle statuses come from the workflow extension’s status_order(), so an overlay may define its own. An unrecognized status is treated conservatively (it reaches only the owner, which errs toward warning) rather than rejected.

Successful Response

Media type application/json
KeywordListResponse
object
keywords
required
Keywords
Array<object>
KeywordResponse
object
id
required
Id
string format: uuid
record_id
required
Record Id
string format: uuid
keyword
required
Keyword
string
vocabulary_uri
required
Any of:
string
keyword_type
required
Keyword Type
string
inherited
Inherited

True when this keyword also exists on the dataset this record was derived from. Derived at read time from derived_from; only ever true for a requester who can access that source dataset, so everyone else sees false — matching the derived_from redaction.

boolean
total
required
Total
integer
inherited_audience_gap
Inherited Audience Gap

True when at least one keyword is inherited AND this record’s audience — at its stored state, or at the counterfactual audience_visibility/audience_record_status query parameters, which are honored only for the record’s owner and admins — includes someone who cannot open the source dataset.

boolean
Example
{
"keywords": [
{
"inherited": false
}
],
"inherited_audience_gap": false
}

Bad request — invalid payload

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Unauthorized — missing or invalid credentials

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Forbidden — caller lacks access to this resource

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Not found

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Conflict — resource state prevents the operation

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Validation error

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Too many requests — retry after the advertised interval

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}
Retry-After
integer

Seconds until the request may be retried

Internal server error

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Service unavailable — the database could not serve the request

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}