REST api RFCs

From Koha Wiki
Jump to navigation Jump to search

Introduction

The purpose of this page, is to collect references to all RFCs related to the REST api. It is organized by API version. V1 is proposed to be kept until the API covers a reasonable amount of endpoints.

All endpoints and attribute names should respect the terminology guidelines. Terminology changes are discussed as needed on developer meetings. Controller's code needs to respect the project's Coding guidelines and the supplemental API coding guidelines.

Note: for readability purposes, endpoint routes are shortened on this pages, the /api/<version> prefix is omitted. As an example, /patrons stands for /api/v1/patrons in version 1.

Privileged routes

Endpoint Decision status Implementation status Koha version
/account/lines Voted
/acquisitions/basket_groups
/acquisitions/baskets
/acquisitions/budgets
/acquisitions/budgets/{budget_id}/funds
/acquisitions/funds Voted Done (matts) 19.05, 18.11.05
/acquisitions/invoices Voted
/acquisitions/orders Voted Done (tcohen) 20.05
/acquisitions/vendors Voted Done 17.11
/acquisitions/vendors/{vendor_id}/contacts
/article_requests/{ar_id}
/authorities Done 23.05
/authorised_values WIP
/authorised_values_categories WIP
/biblios Voted Umbrella
GET Done (tcohen) 19.11
/biblios/ids
/biblios/{biblio_id}/holds
/biblios/{biblio_id}/items No vote required Done 21.05
/biblios/{biblio_id}/pickup_locations NSO
/checkouts Voted Done 19.05
/checkouts/{checkout_id}/allows_renewal Voted Done 19.11 19.05.03
/cities Voted Done 18.05
/config/smtp_servers Done 20.11
/holds Voted Done (tcohen) 19.05
/holds/{hold_id}/pickup_locations Done (kidclamp) 20.05
/holds/{hold_id}/priority Done (tcohen) 19.11
/holds/{hold_id}/suspension Voted Done (tcohen) 19.05
/ill_backends Voted Assigned (josef.moravec)
/ill_requests
/import/oaipmh/biblios WIP (dcook)
/import_batch_profiles WIP (amoyano)
/items Done Done Done 19.11
/items/{item_id}/pickup_locations NSO
/item_types Done
/libraries Voted Done (tcohen) 19.05, 18.11.04
/patrons Voted Done 18.05
/patrons/{patron_id}/account Voted Done 18.11, 18.05.03
/patrons/{patron_id}/account/credits Voted Done 18.11
/patrons/{patron_id}/account/debits Voted Assigned (tcohen)
/patrons/{patron_id}/extended_attributes NSO
/patrons/{patron_id}/checkouts Voted SO (josef.moravec)
/patrons/{patron_id}/restrictions
/patrons/{patron_id}/ill_requests
/patrons/{patron_id}/holds No vote required PQA
/patrons/{patron_id}/fines
/patrons/{patron_id}/password Voted Done 19.05, 18.11.03
/patrons/{patron_id}/statistics
/patrons/{patron_id}/messaging_preferences
/<object>/{object_id}/availability
/subscriptions
/suggestions WIP
/return_claims Done
/version

Unprivileged (public) routes

Endpoint Decision status Implementation status Koha version
/public/biblios
/public/biblios/{biblio_id}/items Done 21.11
/public/biblios/{biblio_id}/pickup_locations
/public/items/{item_id}/pickup_locations
/public/patrons/{patron_id}/export WIP (Lari Taskula)
/public/patrons/{patron_id}/password Done 19.05
/public/patrons/{patron_id}/privacy/* Done (tcohen) 19.11
/public/patrons/{patron_id}/article_requests/{ar_id}
/public/patrons/{patron_id}/purchase_suggestions
/public/version

Special use cases handling

Use case Decision status Implementation status Koha version
Partial resources

Authentication

The API supports several authentication mechanisms:

Protocol Implementation status Koha version
Basic Auth Implemented 19.05
Cookie Implemented 3.22
OAuth2 - Client credentials Implemented 18.05

See also