Skip to content

Public read API

Expose explicitly approved stored fields to another website or application.

MetaSprout beta2 min read

Enable deliberately

The public API is disabled separately for each event. Enabling normal public displays does not enable it. Use the administrator WP-CLI controls in WP-CLI operations.

An enabled API also requires event publishing and approved fields for the requested record type. These endpoints are public; there is no visitor authentication token. Never approve private data on the assumption that a URL is difficult to guess.

List endpoints

Example
/wp-json/metasprout/v1/public/connections/1/presentations
/wp-json/metasprout/v1/public/connections/1/presenters
/wp-json/metasprout/v1/public/connections/1/sponsors

Replace 1 with your connection ID.

Parameter Behavior
fields Required comma-separated approved field names; maximum 12.
page Positive integer; default 1, maximum 2,000.
per_page Integer 1–50; default 20.
Example
/wp-json/metasprout/v1/public/connections/1/presentations?fields=PresentationTitle,PresentationDate&page=1&per_page=20

Responses contain page, per_page, total, pages and items. Each item has an opaque id and a fields object. Only requested, approved, stored strings are returned. Clients must escape values for their own output context.

Individual records

Append the opaque ID returned by the list endpoint, then request the approved fields:

Example
/wp-json/metasprout/v1/public/connections/1/presentations/OPAQUE_ID?fields=PresentationTitle

These IDs are scoped to the site and event/feed/type. They are not Cadmium source IDs or permanent cross-site identifiers. Changing WordPress salts changes them.

Errors and caching

  • 200: approved data, including an empty result.
  • 400: invalid parameters or unavailable requested fields.
  • 404: unavailable connection/publication or unknown record.
  • 503: data unavailable or a supported size bound exceeded.

Responses use Cache-Control: no-store, private. Clients and proxies must honor it. Pagination is not a historical snapshot; concurrent imports can change later pages.

The API does not fetch Cadmium, start imports, write records, or provide an event catalog. Photos, relationships and search/filtering are outside this API's supported interface.