The authority API provides access to VuFind’s authority index (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/vufind-org/vufind/llms.txt
Use this file to discover all available pages before exploring further.
SolrAuth), which contains controlled vocabulary records for persons, corporate bodies, geographic names, and subject headings. These endpoints share the same parameter structure as the bibliographic search and record endpoints, but operate against authority data rather than catalog records.
Endpoints
The authority API uses the same permission model as the bibliographic search and record endpoints. Access is governed by the
access.api.Search and access.api.Record permissions respectively. See the API overview for details.Search endpoint: /api/v1/authority/search
Search the authority index for matching records. The behavior and available parameters mirror the bibliographic search endpoint.
Parameters
The search query string. Leave empty to retrieve all authority records.
The search handler to use against the authority index. Valid values depend on your VuFind authority search configuration. Defaults to the configured default handler.
Sort order for results. Valid values depend on your authority sort configuration.
Page number (1-indexed). Ignored when
resumptionToken is provided.Number of records per page. Must be between
0 and the configured maximum (default 100).Authority index facet fields to compute alongside results. Repeat the parameter for multiple facets.
Facet filters to narrow the result set. Use
fieldName:value syntax.Authority record fields to include in the response. If omitted, the default fields (
id, title, institutions) are returned. See available authority fields below.Token for cursor-based iteration over large result sets. Pass
* to begin from the start. Pass the token returned in a previous response to fetch the next batch. At least one field[] value is required when using cursor mode.Record endpoint: /api/v1/authority/record
Retrieve one or more authority records by their unique identifiers.
Parameters
The unique identifier(s) of the authority record(s) to retrieve.
- Single record:
?id=auth_12345 - Multiple records:
?id[]=auth_12345&id[]=auth_67890
Authority record fields to include in the response. If omitted, the default fields are returned.
When
true, formats the JSON response with indentation.When provided, wraps the response in a JSONP callback with this function name.
Available authority fields
The following fields can be requested viafield[]. Fields marked as default are returned automatically when no field[] parameter is provided.
| Field | Type | Default | Description |
|---|---|---|---|
id | string | yes | Record unique ID |
title | string | yes | Heading or name (title including any subtitle) |
institutions | string[] | yes | Institutions the record belongs to |
fullrecord | string | no | Full authority record |
The authority record field set is intentionally minimal in the default VuFind configuration. The
AuthorityApiRecordFields.yaml file documents placeholders for additional string, keyword, and RDA fields that can be added by customizing the configuration.Response structure
Both endpoints return the same JSON envelope used by the bibliographic API.Search response
"OK" on success, "ERROR" on failure.Total number of authority records matching the query.
Array of authority record objects containing the requested fields.
Facet results keyed by field name. Present only when
facet[] parameters were supplied.Present only in cursor-based search responses.
Record response
"OK" on success, "ERROR" on failure.Number of records returned.
Array of authority record objects containing the requested fields.
Examples
- Search with field selection
- Retrieve record by ID
- Retrieve multiple records
- Cursor-based harvesting
Error responses
| Scenario | HTTP code | statusMessage |
|---|---|---|
id parameter not provided on record endpoint | 400 | "Missing id" |
More than maxLimit IDs requested | 400 | "Record limit (100) exceeded" |
| Record cannot be loaded | 400 | "Error loading record" |
Invalid limit value | 400 | "Invalid limit" |
| Invalid search syntax | 400 | "Invalid search" |
| Invalid or expired resumption token | 400 | "Invalid or expired token" |
No field[] provided with resumptionToken | 400 | "Invalid record fields defined" |
| Permission denied | 403 | "Permission denied" |
| API key required but not provided | 401 | (key mode message) |
