Skip to content

BlackLab Server REST API reference

This documents all of BlackLab Server's endpoints. For a more guided introducion, see the overview.

General notes

API compatibility

Use api=3 or api=4 to specify the API version to use. Differences from 3 to 4 are minor; some inconsistencies are fixed and some redundant information was removed from responses. Configure parameters.api in your blacklab-server.yaml to set the default version to use. Support for older version(s) is a transitionary measure and will eventually be dropped.

Full details can be found in API versions.

Output format

To request a specific output format, either:

  • pass the HTTP header Accept with the value application/json, application/xml or text/csv, or
  • pass the query parameter outputformat with the value json, xml or csv.

If both are specified, the parameter has precedence.

Notes about CSV

For CSV hits/docs results, the parameters csvsummary determines whether to include a summary of the search parameters in the output [no] and csvsepline determines whether to include a separator declaration that will help Microsoft Excel read the file [no].

listvalues can be a comman-separated list of annotations to include in the results. listmetadatavalues is the same for metadata fields.

If a metadata field has multiple values (e.g. if a document has multiple authors), they will be concatenated with | as the separator. |, \n, \r and \\ will be backslash-escaped.

As is common in CSV, values may be double-quoted if necessary (e.g. if a value contains a comma). Any double quotes already in the values will be doubled, so say "yes", or "no"? will become "say ""yes"", or ""no""?"

Root endpoint

This endpoint returns available corpora and server information.

These endpoints deal with a specific corpus.

All URLs should start with /blacklab-server/<corpus-name>.

Information about the corpus

Information about the corpus such as size, documentFormat, fields, and status.

Find hits or documents

Search for individual matches of a text pattern, or for documents matching criteria.

Information about a document

Retrieve metadata and (parts of) the content of a document.

Manage user corpora

If user authentication and private user corpora are enabled, these can be used to manage the user's own corpora: creating/deleting, adding data and sharing.

All URLs should start with /blacklab-server.

Other global endpoints

These endpoints are not tied to a specific corpus. All URLs should start with /blacklab-server.

Input format endpoints

These give you information about input format configurations that BlackLab has access to: built-in formats, external format configuration files it found, and user formats if available.

There's also operations to add, update and delete private user formats; those are only available if user authentication and private user corpora are enabled.

Debug endpoints

Can only be used in debug mode.

Miscellaneous

Apache license 2.0