Skip to content

REST API

Academic References exposes a REST API under the abt/v1 namespace. Every endpoint is served from:

/wp-json/abt/v1/...

Write operations require authentication. Use WordPress Application Passwords with HTTP Basic auth:

  1. In WordPress, go to Users > Profile > Application Passwords and create one.

  2. Send it as a Basic auth header:

    Authorization: Basic base64(username:application_password)

Regular login cookies and account passwords do not work for API requests. Read endpoints for public data are available without authentication; permission checks mirror the plugin’s capabilities.

Requests are rate limited. When you exceed the limit the API responds with an error telling you how many seconds to wait before retrying.

GET /wp-json/abt/v1/docs

Returns a machine-readable description of the available routes - the authoritative, always-current list for the installed version.

Group Base Purpose
References /references CRUD, plus /search, /fuzzy-search, /search-suggestions, /sort-options, /reorder, /bulk
Citations /cite Render citations and bibliographies: /cite/bibliography, /cite/references, /cite/preview
Auto-cite /autocite Metadata lookup: /autocite/doi, /pubmed, /isbn, /url, /orcid, /crossref, /openalex, /semantic-scholar
Collections /collections CRUD, plus /public, /shared, /shared-with-me
Import / Export /import-export /formats, /import, /import/file, /export, /export/custom, /validate, cite-key helpers
Styles /styles List and look up CSL styles
Analytics /analytics /dashboard, /summary, /timeseries, /top, /types, /authors, /years, /activity, /export
Revisions /references/{id}/revisions Reference revision history and comparison
Webhooks /webhooks Manage webhook endpoints and list /events
Zotero /zotero /status, /collections, /items, /search, /import, /export
Mendeley /mendeley /status, /auth-url, /callback, /folders, /documents, /search, /import

Zotero and Mendeley integration is available through the REST API only; there is no admin settings screen for them.

Terminal window
curl https://example.com/wp-json/abt/v1/autocite/doi \
-H "Authorization: Basic $(echo -n 'user:app_pass' | base64)" \
-H "Content-Type: application/json" \
-d '{"doi":"10.1038/nphys1170"}'

For the exact parameters and response shape of any route, query the /docs endpoint.