24.11 24.05 23.11 23.05 22.11 22.05 21.11 21.05 20.11 20.05 19.11 Development

Koha REST API (1)

Download OpenAPI specification:Download

Background

The API supports two sets of endpoints, one targetted at library staff and the other at at library users.

Those endpoints under the /public path are aimed at delivering functionality tailored to library users and offer a more restricted set of functions, overrides and data in thier responses for data privacy and library policy reasons. Many of these endpoints do not require authentication for fetching public data, though an authenticated session will expose additional options and allow users to see more data where it is part of their own record.

All other endpoints are targetted at the staff interface level and allow for additional functionality and a more unrestricted view of data. These endpoints, however, have a level of redaction built in for resources that the api consumer should not have access to. For example, user data for users who do not belong to the same library or library group of your api user will be reduced to just minimum neccesary for a valid response. Object keys will be consistent for all responses, but their values may be removed depending on access.

Authentication

The API supports the following authentication mechanisms

  • HTTP Basic authentication
  • OAuth2 (client credentials grant)
  • Cookie-based

Both Basic authentication and the OAuth2 flow, need to be enabled by system preferences.

Authorization

The API uses existing user profiles to restrict access to resources based on user permissions and the library the API user is assigned to. This may result, at times, in resources being returned in a redacted form with all keys present but sensative values nulled.

We do not yet support OAuth Scopes or the Authorization Code grant flow.

Errors

The API uses standard HTTP status codes to indicate the success or failure of the API call. The body of the response will be JSON in the following format:

{
  "error": "Current settings prevent the passed due date to be applied",
  "error_code": "invalid_due_date"
}

Note: Some routes might offer additional attributes in their error responses but that"s subject to change and thus not documented.

Filtering responses

The API allows for some advanced response filtering using a JSON based query syntax. The query can be added to the requests:

  • as a query parameter q=
  • in the request body

For simple field equality matches we can use { "fieldname": "value" } where the fieldname matches one of the fields as described in the particular endpoints response object.

We can refine that with more complex matching clauses by nesting a the clause into the object; { "fieldname": { "clause": "value" } }.

Available matching clauses include =, !=, <, >, <=, >= and -not. We also support -like and -not_like string comparisons with % used to denote wildcards, thus you can pass { "fieldname": { "-like": "value%" } } to do a 'starts with' string match for example.

We can filter on multiple fields by adding them to the JSON respresentation. Adding at HASH level will result in an "AND" query, whilst combinding them in an ARRAY will result in an "OR" query: { "field1": "value2", "field2": "value2" } will filter the response to only those results with both field1 containing value2 AND field2 containing value2 for example.

There is a collection of special operators also available to you, including:

  • -in - Expects an array of values to perform an OR match against
  • -not_in - Expects an array of values to perform a NOR match against
  • -between - Expects two values which the value of the field is expected to fall between
  • -not_between - Expects two values which the value of the field is expected to fall outside of
  • -ident - Expects a second field name to match the two field values against
  • -regexp - Expects a perl compatible regular expression for which the value should match

Logic and nesting is also supported and you may use -and and -or to change the logic of an ARRAY or HASH as described above.

Additionally, if you are requesting related data be embedded into the response one can query on the related data using dot notation in the field names.

Examples

The following request would return any patron with firstname "Henry" and lastname "Acevedo";

curl -u koha:koha --request GET "http://127.0.0.1:8081/api/v1/patrons/" --data-raw '{ "surname": "Acevedo", "firstname": "Henry" }'

The following request would return any patron whose lastname begins with "Ace";

curl -u koha:koha --request GET "http://127.0.0.1:8081/api/v1/patrons/" --data-raw '{ "surname": { "-like": "Ace%" }'

The following request would return any patron whose lastname is "Acevedo" OR "Bernardo"

curl -u koha:koha --request GET "http://127.0.0.1:8081/api/v1/patrons/" --data-raw '{ "surname": [ "Acevedo", "Bernardo" ] }'

The following request embeds the related patron extended attributes data and filters on it.

curl -u koha:koha =--request GET 'http://127.0.0.1:8081/api/v1/patrons/' --header 'x-koha-embed: extended_attributes' --data-raw '{ "extended_attributes.code": "internet", "extended_attributes.attribute": "1" }'

Special headers

x-koha-embed

This optional header allows the api consumer to request additional related data to be returned in the api response. It also allows for cross referencing in the queries as described above. It accepts a comma delimited list of relation names.

Relations may on occasion also support dot delimited nesting to allow traversal.

x-koha-library

This optional header should be passed to give your api request a library context; If it is not included in the request, then the request context will default to using your api comsumer"s assigned home library.

Additional fields

Manage additional fields

List extended attribute types

koha-authorization: {"permissions":{"parameters":"manage_additional_fields"}}
query Parameters
resource_type
string
Enum: "basket" "credit" "debit" "invoice" "license" "agreement" "package" "order" "subscription"

filter by resource type

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Article requests

Manage article requests

Cancel article requests

koha-authorization: {"permissions":{"circulate":"circulate_remaining_permissions"}}
path Parameters
article_request_id
required
integer

Article request identifier

query Parameters
cancellation_reason
string

Article request cancellation reason

notes
string

Article request custom cancellation reason

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Cancel patron's article requests

koha-authorization: {"allow-owner":true}
path Parameters
patron_id
required
integer

Internal patron identifier

article_request_id
required
integer

Article request identifier

query Parameters
cancellation_reason
string

Article request cancellation reason

notes
string

Article request custom cancellation reason

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Authorised value categories

Manage authorised value categories

List authorised value categories

koha-authorization: {"permissions":{"catalogue":1}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Value: "authorised_values"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Authorised values

Manage authorised values

List authorised values for a given category

koha-authorization: {"permissions":{"catalogue":1}}
path Parameters
authorised_value_category_name
required
string

category name

query Parameters
authorised_value_id
integer

Case insensitive search on authorised value id

category_name
string

Case insensitive search on authorised value category name

value
string

Case insensitive search on value

description
string

Case insensitive search on description

opac_description
string

Case insensitive search on opac description

image_url
string

Case insensitive search on image url

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Batch import profiles

Manage batch import profiles

List batch import profiles

koha-authorization: {"permissions":{"tools":"stage_marc_import"}}
query Parameters
name
string

Search on profile's name

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add batch import profile

koha-authorization: {"permissions":{"tools":"stage_marc_import"}}
Request Body schema: application/json
required

A JSON object containing a import batch profile

name
string

name of this profile

matcher_id
integer or null

the id of the match rule used (matchpoints.matcher_id)

template_id
integer or null

the id of the marc modification template

overlay_action
string or null

how to handle duplicate records

nomatch_action
string or null

how to handle records where no match is found

item_action
string or null

what to do with item records

parse_items
boolean or null

should items be parsed

record_type
string or null

type of record in the batch

encoding
string or null

file encoding

format
string or null

marc format

comments
string or null

any comments added when the file was uploaded

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "matcher_id": 0,
  • "template_id": 0,
  • "overlay_action": "string",
  • "nomatch_action": "string",
  • "item_action": "string",
  • "parse_items": true,
  • "record_type": "string",
  • "encoding": "string",
  • "format": "string",
  • "comments": "string"
}

Response samples

Content type
application/json
{
  • "profile_id": 0,
  • "name": "string",
  • "matcher_id": 0,
  • "template_id": 0,
  • "overlay_action": "string",
  • "nomatch_action": "string",
  • "item_action": "string",
  • "parse_items": true,
  • "record_type": "string",
  • "encoding": "string",
  • "format": "string",
  • "comments": "string"
}

Update batch import profile

koha-authorization: {"permissions":{"tools":"stage_marc_import"}}
path Parameters
import_batch_profile_id
required
integer

Internal profile identifier

Request Body schema: application/json
required

A JSON object containing a import batch profile

name
string

name of this profile

matcher_id
integer or null

the id of the match rule used (matchpoints.matcher_id)

template_id
integer or null

the id of the marc modification template

overlay_action
string or null

how to handle duplicate records

nomatch_action
string or null

how to handle records where no match is found

item_action
string or null

what to do with item records

parse_items
boolean or null

should items be parsed

record_type
string or null

type of record in the batch

encoding
string or null

file encoding

format
string or null

marc format

comments
string or null

any comments added when the file was uploaded

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "matcher_id": 0,
  • "template_id": 0,
  • "overlay_action": "string",
  • "nomatch_action": "string",
  • "item_action": "string",
  • "parse_items": true,
  • "record_type": "string",
  • "encoding": "string",
  • "format": "string",
  • "comments": "string"
}

Response samples

Content type
application/json
{
  • "profile_id": 0,
  • "name": "string",
  • "matcher_id": 0,
  • "template_id": 0,
  • "overlay_action": "string",
  • "nomatch_action": "string",
  • "item_action": "string",
  • "parse_items": true,
  • "record_type": "string",
  • "encoding": "string",
  • "format": "string",
  • "comments": "string"
}

Delete batch import profile

koha-authorization: {"permissions":{"tools":"stage_marc_import"}}
path Parameters
import_batch_profile_id
required
integer

Internal profile identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Baskets

Manage baskets for the acquisitions module

List of baskets

This resource returns a list of baskets

koha-authorization: {"permissions":{"acquisition":"order_manage"}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

List possibe managers for baskets

This resource returns a list of patron allowed to be a manager for baskets

koha-authorization: {"permissions":{"acquisition":"order_manage"}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Enum: "extended_attributes" "library"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Authorities

Manage Authority records

List authorities

koha-authorization: {"permissions":{"catalogue":"1"}}
query Parameters
_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
{
  • "error": "string",
  • "error_code": "string"
}

Add authority

Add an authority record to Koha. An optional x-authority-type may be passed to specify the cataloguing framework to be used (instead of the default).

The request body is expected to contain a MARC record in the format specified in the Content-type header you pass. Possible values for this header and the corresponding record formats expected are listed below:

  • application/marcxml+xml: MARCXML
  • application/marc-in-json: MARC-in-JSON
  • application/marc: Raw USMARC binary data
koha-authorization: {"permissions":{"editauthorities":"1"}}
header Parameters
x-authority-type
string

Authority type code. Use when content type is not application/json

x-koha-override
Array of strings
Items Enum: "any" "duplicate"

Overrides list sent as a request header

Responses

Get authority

koha-authorization: {"permissions":{"catalogue":"1"}}
path Parameters
authority_id
required
integer

Authority identifier

Responses

Response samples

Content type
{
  • "error": "string",
  • "error_code": "string"
}

Delete authority

koha-authorization: {"permissions":{"editauthorities":"1"}}
path Parameters
authority_id
required
integer

Authority identifier

Responses

Response samples

Content type
application/json
"string"

Update authority

koha-authorization: {"permissions":{"editauthorities":"1"}}
path Parameters
authority_id
required
integer

Authority identifier

header Parameters
x-authority-type
string

Authority type code. Use when content type is not application/json

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Biblios

Manage bibliographic records

Add biblio

Add a bibliographic record to Koha. An optional x-framework-id may be passed to specify the cataloguing framework to be used (instead of the default).

The request body is expected to contain a MARC record in the format specified in the Content-type header you pass. Possible values for this header and the corresponding record formats expected are listed below:

  • application/marcxml+xml: MARCXML
  • application/marc-in-json: MARC-in-JSON
  • application/marc: Raw USMARC binary data
koha-authorization: {"permissions":{"editcatalogue":"edit_catalogue"}}
header Parameters
x-framework-id
string

Framework id. Use when content type is not application/json

x-record-schema
string
Enum: "MARC21" "UNIMARC"

March schema. One of MARC21 or UNIMARC

x-confirm-not-duplicate
integer

Confirm the posted element is not a duplicate

x-record-source-id
string

Internal record source identifier.

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

List biblios

koha-authorization: {"permissions":{"catalogue":"1"}}
query Parameters
_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
{
  • "error": "string",
  • "error_code": "string"
}

Get biblio

koha-authorization: {"permissions":{"catalogue":"1"}}
path Parameters
biblio_id
required
integer

Record internal identifier

Responses

Response samples

Content type
{
  • "error": "string",
  • "error_code": "string"
}

Delete biblio

koha-authorization: {"permissions":{"editcatalogue":"edit_catalogue"}}
path Parameters
biblio_id
required
integer

Record internal identifier

Responses

Response samples

Content type
application/json
"string"

Update biblio

Updates a bibliographic record to Koha. An optional x-framework-id may be passed, to specify the cataloguing framework to be used (instead of the default).

The request body is expected to contain a MARC record in the format specified by the Content-type header passed. Possible values for this headers and the corresponding record formats expected are listed below:

  • application/marcxml+xml: MARCXML
  • application/marc-in-json: MARC-in-JSON
  • application/marc: Raw USMARC binary data
koha-authorization: {"permissions":{"editcatalogue":"edit_catalogue"}}
path Parameters
biblio_id
required
integer

Record internal identifier

header Parameters
x-framework-id
string

Framework id. Use when content type is not application/json

x-record-schema
string
Enum: "MARC21" "UNIMARC"

March schema. One of MARC21 or UNIMARC

x-confirm-not-duplicate
integer

Confirm the posted element is not a duplicate

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Get items for a biblio

koha-authorization: {"permissions":{"catalogue":"1"}}
path Parameters
biblio_id
required
integer

Record internal identifier

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

bookable
boolean

Limit to items that are bookable

header Parameters
x-koha-embed
Array of strings
Items Enum: "+strings" "home_library" "holding_library" "biblio.title" "checkout" "checkout.patron" "transfer" "transfer+strings" "first_hold" "first_hold+strings" "first_hold.patron" "first_hold.desk" "recall" "recall+strings" "recall.patron" "item_type" "in_bundle" "bundle_host" "bundle_items_lost+count" "bundle_items_not_lost+count" "course_item.course_reserves.course" "analytics_count" "cover_image_ids" "item_group_item.item_group.description" "serial_item.serial" "return_claims" "effective_bookable"

Embed list sent as a request header

x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add an item for a biblio

koha-authorization: {"permissions":{"editcatalogue":"edit_catalogue"}}
path Parameters
biblio_id
required
integer

Record internal identifier

Request Body schema: application/json
required

A JSON object containing information about the new item

item_id
integer

Internal item identifier

biblio_id
integer

Internal identifier for the parent bibliographic record

external_id
string or null

The item's barcode

acquisition_date
string or null <date>

The date the item was acquired

acquisition_source
string or null

Information about the acquisition source (it is not really a vendor id)

bookable
boolean or null

Item level bookability override.

effective_bookable
boolean

Allow bookings on this item.

home_library_id
string or null

Internal library id for the library the item belongs to

purchase_price
number or null

Purchase price

replacement_price
number or null

Cost the library charges to replace the item (e.g. if lost)

replacement_price_date
string or null <date>

The date the replacement price is effective from

last_checkout_date
string or null <date>

The date the item was last checked out

last_seen_date
string or null <date-time>

The date the item barcode was last scanned

not_for_loan_status
integer

Authorized value defining why this item is not for loan

effective_not_for_loan_status
integer

Authorized value defining why this item is not for not_for_loan_status

damaged_status
integer

Authorized value defining this item as damaged

damaged_date
string or null

The date and time an item was last marked as damaged, NULL if not damaged

lost_status
integer

Authorized value defining this item as lost

lost_date
string or null <date-time>

The date and time an item was last marked as lost, NULL if not lost

withdrawn
integer

Authorized value defining this item as withdrawn

withdrawn_date
string or null <date-time>

The date and time an item was last marked as withdrawn, NULL if not withdrawn

callnumber
string or null

Call number for this item

coded_location_qualifier
string or null

Coded location qualifier

checkouts_count
integer or null

Number of times this item has been checked out/issued

renewals_count
integer or null

Number of times this item has been renewed

localuse
integer or null

Number of times this item has been recorded for localuse

holds_count
integer or null

Number of times this item has been placed on hold/reserved

restricted_status
integer or null

Authorized value defining use restrictions for this item

public_notes
string or null

Public notes on this item

internal_notes
string or null

Non-public notes on this item

holding_library_id
string or null

Library that is currently in possession item

timestamp
string <date-time>

Date and time this item was last altered

location
string or null

Authorized value for the shelving location for this item

permanent_location
string or null

Linked to the CART and PROC temporary locations feature, stores the permanent shelving location

checked_out_date
string or null <date>

Defines if item is checked out (NULL for not checked out, and checkout date for checked out)

call_number_source
string or null

Classification source used on this item

call_number_sort
string or null

?

collection_code
string or null

Authorized value for the collection code associated with this item

materials_notes
string or null

Materials specified

shelving_control_number
number or null

Shelving control number

uri
string or null

URL for the item

item_type_id
string or null

Itemtype defining the type for this item

effective_item_type_id
string or null

Effective itemtype defining the type for this item_id

extended_subfields
string or null

Additional 952 subfields in XML format

serial_issue_number
string or null

serial enumeration/chronology for the item

copy_number
string or null

Copy number

inventory_number
string or null

Inventory number

new_status
string or null

'new' value, whatever free-text information.

exclude_from_local_holds_priority
boolean

Exclude this item from local holds priority.

return_claims
Array of any

An array of all return claims associated with this item

return_claim
object or null
home_library
object or null
holding_library
object or null
cover_image_ids
Array of any or null
item_group_item
object or null
serial_item
object or null
biblio
object or null
checkout
object or null
transfer
object or null
first_hold
object or null
recall
object or null
item_type
object or null
in_bundle
boolean or null
bundle_host
object or null
bundle_items_lost_count
integer or null

Number of lost items in the bundle

bundle_items_not_lost_count
integer or null

Number of items not lost in the bundle

course_item
object or null
analytics_count
integer or null
_strings
object or null

A return claims object if one exists that's unresolved

Responses

Request samples

Content type
application/json
{
  • "item_id": 0,
  • "biblio_id": 0,
  • "external_id": "string",
  • "acquisition_date": "2019-08-24",
  • "acquisition_source": "string",
  • "bookable": true,
  • "effective_bookable": true,
  • "home_library_id": "string",
  • "purchase_price": 0,
  • "replacement_price": 0,
  • "replacement_price_date": "2019-08-24",
  • "last_checkout_date": "2019-08-24",
  • "last_seen_date": "2019-08-24T14:15:22Z",
  • "not_for_loan_status": 0,
  • "effective_not_for_loan_status": 0,
  • "damaged_status": 0,
  • "damaged_date": "string",
  • "lost_status": 0,
  • "lost_date": "2019-08-24T14:15:22Z",
  • "withdrawn": 0,
  • "withdrawn_date": "2019-08-24T14:15:22Z",
  • "callnumber": "string",
  • "coded_location_qualifier": "string",
  • "checkouts_count": 0,
  • "renewals_count": 0,
  • "localuse": 0,
  • "holds_count": 0,
  • "restricted_status": 0,
  • "public_notes": "string",
  • "internal_notes": "string",
  • "holding_library_id": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "location": "string",
  • "permanent_location": "string",
  • "checked_out_date": "2019-08-24",
  • "call_number_source": "string",
  • "call_number_sort": "string",
  • "collection_code": "string",
  • "materials_notes": "string",
  • "shelving_control_number": 0,
  • "uri": "string",
  • "item_type_id": "string",
  • "effective_item_type_id": "string",
  • "extended_subfields": "string",
  • "serial_issue_number": "string",
  • "copy_number": "string",
  • "inventory_number": "string",
  • "new_status": "string",
  • "exclude_from_local_holds_priority": true,
  • "return_claims": [
    ],
  • "return_claim": { },
  • "home_library": { },
  • "holding_library": { },
  • "cover_image_ids": [
    ],
  • "item_group_item": { },
  • "serial_item": { },
  • "biblio": { },
  • "checkout": { },
  • "transfer": { },
  • "first_hold": { },
  • "recall": { },
  • "item_type": { },
  • "in_bundle": true,
  • "bundle_host": { },
  • "bundle_items_lost_count": 0,
  • "bundle_items_not_lost_count": 0,
  • "course_item": { },
  • "analytics_count": 0,
  • "_strings": { }
}

Response samples

Content type
application/json
{
  • "item_id": 0,
  • "biblio_id": 0,
  • "external_id": "string",
  • "acquisition_date": "2019-08-24",
  • "acquisition_source": "string",
  • "bookable": true,
  • "effective_bookable": true,
  • "home_library_id": "string",
  • "purchase_price": 0,
  • "replacement_price": 0,
  • "replacement_price_date": "2019-08-24",
  • "last_checkout_date": "2019-08-24",
  • "last_seen_date": "2019-08-24T14:15:22Z",
  • "not_for_loan_status": 0,
  • "effective_not_for_loan_status": 0,
  • "damaged_status": 0,
  • "damaged_date": "string",
  • "lost_status": 0,
  • "lost_date": "2019-08-24T14:15:22Z",
  • "withdrawn": 0,
  • "withdrawn_date": "2019-08-24T14:15:22Z",
  • "callnumber": "string",
  • "coded_location_qualifier": "string",
  • "checkouts_count": 0,
  • "renewals_count": 0,
  • "localuse": 0,
  • "holds_count": 0,
  • "restricted_status": 0,
  • "public_notes": "string",
  • "internal_notes": "string",
  • "holding_library_id": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "location": "string",
  • "permanent_location": "string",
  • "checked_out_date": "2019-08-24",
  • "call_number_source": "string",
  • "call_number_sort": "string",
  • "collection_code": "string",
  • "materials_notes": "string",
  • "shelving_control_number": 0,
  • "uri": "string",
  • "item_type_id": "string",
  • "effective_item_type_id": "string",
  • "extended_subfields": "string",
  • "serial_issue_number": "string",
  • "copy_number": "string",
  • "inventory_number": "string",
  • "new_status": "string",
  • "exclude_from_local_holds_priority": true,
  • "return_claims": [
    ],
  • "return_claim": { },
  • "home_library": { },
  • "holding_library": { },
  • "cover_image_ids": [
    ],
  • "item_group_item": { },
  • "serial_item": { },
  • "biblio": { },
  • "checkout": { },
  • "transfer": { },
  • "first_hold": { },
  • "recall": { },
  • "item_type": { },
  • "in_bundle": true,
  • "bundle_host": { },
  • "bundle_items_lost_count": 0,
  • "bundle_items_not_lost_count": 0,
  • "course_item": { },
  • "analytics_count": 0,
  • "_strings": { }
}

Update an item for a biblio

koha-authorization: {"permissions":{"editcatalogue":"edit_catalogue"}}
path Parameters
biblio_id
required
integer

Record internal identifier

item_id
required
integer

Internal item identifier

Request Body schema: application/json
required

A JSON object containing information about the item

item_id
integer

Internal item identifier

biblio_id
integer

Internal identifier for the parent bibliographic record

external_id
string or null

The item's barcode

acquisition_date
string or null <date>

The date the item was acquired

acquisition_source
string or null

Information about the acquisition source (it is not really a vendor id)

bookable
boolean or null

Item level bookability override.

effective_bookable
boolean

Allow bookings on this item.

home_library_id
string or null

Internal library id for the library the item belongs to

purchase_price
number or null

Purchase price

replacement_price
number or null

Cost the library charges to replace the item (e.g. if lost)

replacement_price_date
string or null <date>

The date the replacement price is effective from

last_checkout_date
string or null <date>

The date the item was last checked out

last_seen_date
string or null <date-time>

The date the item barcode was last scanned

not_for_loan_status
integer

Authorized value defining why this item is not for loan

effective_not_for_loan_status
integer

Authorized value defining why this item is not for not_for_loan_status

damaged_status
integer

Authorized value defining this item as damaged

damaged_date
string or null

The date and time an item was last marked as damaged, NULL if not damaged

lost_status
integer

Authorized value defining this item as lost

lost_date
string or null <date-time>

The date and time an item was last marked as lost, NULL if not lost

withdrawn
integer

Authorized value defining this item as withdrawn

withdrawn_date
string or null <date-time>

The date and time an item was last marked as withdrawn, NULL if not withdrawn

callnumber
string or null

Call number for this item

coded_location_qualifier
string or null

Coded location qualifier

checkouts_count
integer or null

Number of times this item has been checked out/issued

renewals_count
integer or null

Number of times this item has been renewed

localuse
integer or null

Number of times this item has been recorded for localuse

holds_count
integer or null

Number of times this item has been placed on hold/reserved

restricted_status
integer or null

Authorized value defining use restrictions for this item

public_notes
string or null

Public notes on this item

internal_notes
string or null

Non-public notes on this item

holding_library_id
string or null

Library that is currently in possession item

timestamp
string <date-time>

Date and time this item was last altered

location
string or null

Authorized value for the shelving location for this item

permanent_location
string or null

Linked to the CART and PROC temporary locations feature, stores the permanent shelving location

checked_out_date
string or null <date>

Defines if item is checked out (NULL for not checked out, and checkout date for checked out)

call_number_source
string or null

Classification source used on this item

call_number_sort
string or null

?

collection_code
string or null

Authorized value for the collection code associated with this item

materials_notes
string or null

Materials specified

shelving_control_number
number or null

Shelving control number

uri
string or null

URL for the item

item_type_id
string or null

Itemtype defining the type for this item

effective_item_type_id
string or null

Effective itemtype defining the type for this item_id

extended_subfields
string or null

Additional 952 subfields in XML format

serial_issue_number
string or null

serial enumeration/chronology for the item

copy_number
string or null

Copy number

inventory_number
string or null

Inventory number

new_status
string or null

'new' value, whatever free-text information.

exclude_from_local_holds_priority
boolean

Exclude this item from local holds priority.

return_claims
Array of any

An array of all return claims associated with this item

return_claim
object or null
home_library
object or null
holding_library
object or null
cover_image_ids
Array of any or null
item_group_item
object or null
serial_item
object or null
biblio
object or null
checkout
object or null
transfer
object or null
first_hold
object or null
recall
object or null
item_type
object or null
in_bundle
boolean or null
bundle_host
object or null
bundle_items_lost_count
integer or null

Number of lost items in the bundle

bundle_items_not_lost_count
integer or null

Number of items not lost in the bundle

course_item
object or null
analytics_count
integer or null
_strings
object or null

A return claims object if one exists that's unresolved

Responses

Request samples

Content type
application/json
{
  • "item_id": 0,
  • "biblio_id": 0,
  • "external_id": "string",
  • "acquisition_date": "2019-08-24",
  • "acquisition_source": "string",
  • "bookable": true,
  • "effective_bookable": true,
  • "home_library_id": "string",
  • "purchase_price": 0,
  • "replacement_price": 0,
  • "replacement_price_date": "2019-08-24",
  • "last_checkout_date": "2019-08-24",
  • "last_seen_date": "2019-08-24T14:15:22Z",
  • "not_for_loan_status": 0,
  • "effective_not_for_loan_status": 0,
  • "damaged_status": 0,
  • "damaged_date": "string",
  • "lost_status": 0,
  • "lost_date": "2019-08-24T14:15:22Z",
  • "withdrawn": 0,
  • "withdrawn_date": "2019-08-24T14:15:22Z",
  • "callnumber": "string",
  • "coded_location_qualifier": "string",
  • "checkouts_count": 0,
  • "renewals_count": 0,
  • "localuse": 0,
  • "holds_count": 0,
  • "restricted_status": 0,
  • "public_notes": "string",
  • "internal_notes": "string",
  • "holding_library_id": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "location": "string",
  • "permanent_location": "string",
  • "checked_out_date": "2019-08-24",
  • "call_number_source": "string",
  • "call_number_sort": "string",
  • "collection_code": "string",
  • "materials_notes": "string",
  • "shelving_control_number": 0,
  • "uri": "string",
  • "item_type_id": "string",
  • "effective_item_type_id": "string",
  • "extended_subfields": "string",
  • "serial_issue_number": "string",
  • "copy_number": "string",
  • "inventory_number": "string",
  • "new_status": "string",
  • "exclude_from_local_holds_priority": true,
  • "return_claims": [
    ],
  • "return_claim": { },
  • "home_library": { },
  • "holding_library": { },
  • "cover_image_ids": [
    ],
  • "item_group_item": { },
  • "serial_item": { },
  • "biblio": { },
  • "checkout": { },
  • "transfer": { },
  • "first_hold": { },
  • "recall": { },
  • "item_type": { },
  • "in_bundle": true,
  • "bundle_host": { },
  • "bundle_items_lost_count": 0,
  • "bundle_items_not_lost_count": 0,
  • "course_item": { },
  • "analytics_count": 0,
  • "_strings": { }
}

Response samples

Content type
application/json
{
  • "item_id": 0,
  • "biblio_id": 0,
  • "external_id": "string",
  • "acquisition_date": "2019-08-24",
  • "acquisition_source": "string",
  • "bookable": true,
  • "effective_bookable": true,
  • "home_library_id": "string",
  • "purchase_price": 0,
  • "replacement_price": 0,
  • "replacement_price_date": "2019-08-24",
  • "last_checkout_date": "2019-08-24",
  • "last_seen_date": "2019-08-24T14:15:22Z",
  • "not_for_loan_status": 0,
  • "effective_not_for_loan_status": 0,
  • "damaged_status": 0,
  • "damaged_date": "string",
  • "lost_status": 0,
  • "lost_date": "2019-08-24T14:15:22Z",
  • "withdrawn": 0,
  • "withdrawn_date": "2019-08-24T14:15:22Z",
  • "callnumber": "string",
  • "coded_location_qualifier": "string",
  • "checkouts_count": 0,
  • "renewals_count": 0,
  • "localuse": 0,
  • "holds_count": 0,
  • "restricted_status": 0,
  • "public_notes": "string",
  • "internal_notes": "string",
  • "holding_library_id": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "location": "string",
  • "permanent_location": "string",
  • "checked_out_date": "2019-08-24",
  • "call_number_source": "string",
  • "call_number_sort": "string",
  • "collection_code": "string",
  • "materials_notes": "string",
  • "shelving_control_number": 0,
  • "uri": "string",
  • "item_type_id": "string",
  • "effective_item_type_id": "string",
  • "extended_subfields": "string",
  • "serial_issue_number": "string",
  • "copy_number": "string",
  • "inventory_number": "string",
  • "new_status": "string",
  • "exclude_from_local_holds_priority": true,
  • "return_claims": [
    ],
  • "return_claim": { },
  • "home_library": { },
  • "holding_library": { },
  • "cover_image_ids": [
    ],
  • "item_group_item": { },
  • "serial_item": { },
  • "biblio": { },
  • "checkout": { },
  • "transfer": { },
  • "first_hold": { },
  • "recall": { },
  • "item_type": { },
  • "in_bundle": true,
  • "bundle_host": { },
  • "bundle_items_lost_count": 0,
  • "bundle_items_not_lost_count": 0,
  • "course_item": { },
  • "analytics_count": 0,
  • "_strings": { }
}

Get valid pickup locations for a biblio

koha-authorization: {"permissions":{"reserveforothers":"place_holds"}}
path Parameters
biblio_id
required
integer

Record internal identifier

query Parameters
patron_id
required
integer

Internal patron identifier

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Merge Biblios

koha-authorization: {"permissions":{"catalogue":"editcatalogue"}}
path Parameters
biblio_id
required
string

Bilblionumber

Request Body schema: application/json
required

JSON Object with params and an optional marc record in MARC-in-JSON format

biblio_id_to_merge
required
integer

Biblionumber from which to merge

rules
string or null

Internally identifier of a merge algoritm. Now two identifier are supported, 'override' and 'override_ext'. 'override' is to use when you the bibliographic data of biblio_id as resulting bibliographic data. The null value is equivalent of 'override'. 'override_ext' is to use only with a value in datarecord field. In fact is mandatory to use if you insert a record inside datarecord field.

framework_to_use
string or null

Framework code, you can use it only with a value in datarecord field. With null value it uses the framework code of record to be merged into.

datarecord
object or null

Bibliographic record used as result of the merge. It uses the format MARC-in-JSON

Responses

Request samples

Content type
application/json
{
  • "biblio_id_to_merge": 0,
  • "rules": "string",
  • "framework_to_use": "string",
  • "datarecord": { }
}

Response samples

Content type
application/marc-in-json
{
  • "error": "string",
  • "error_code": "string"
}

List deleted biblios

koha-authorization: {"permissions":{"catalogue":"1"}}
query Parameters
_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
{
  • "error": "string",
  • "error_code": "string"
}

Get deleted biblio

koha-authorization: {"permissions":{"catalogue":"1"}}
path Parameters
biblio_id
required
integer

Record internal identifier

Responses

Response samples

Content type
{
  • "error": "string",
  • "error_code": "string"
}

Get biblio (public)

path Parameters
biblio_id
required
integer

Record internal identifier

Responses

Response samples

Content type
No sample

getBiblioItemsPublic

path Parameters
biblio_id
required
integer

Record internal identifier

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Value: "+strings"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

set biblio rating (public)

path Parameters
biblio_id
required
integer

Record internal identifier

Request Body schema: application/json

A JSON object containing rating information

rating
required
integer or null

the rating

Responses

Request samples

Content type
application/json
{
  • "rating": 0
}

Response samples

Content type
application/json
{
  • "rating": 0,
  • "average": 0,
  • "count": 0
}

Bookings

Manage bookings

List bookings

koha-authorization: {"permissions":{"catalogue":1}}
query Parameters
biblio_id
string

Case insensative search on booking biblio_id

item_id
string

Case insensative search on booking item_id

patron_id
string

Case insensative search on booking patron_id

start_date
string

Case Insensative search on booking start_date

end_date
string

Case Insensative search on booking end_date

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Enum: "biblio" "item" "item+strings" "item.checkout" "patron" "pickup_library"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add booking

koha-authorization: {"permissions":{"circulate":"manage_bookings"}}
Request Body schema: application/json
required

A JSON object containing informations about the new booking

biblio_id
required
integer

Internal identifier for the parent bibliographic record

biblio
object

Embedable biblio representation

booking_id
integer

Internal booking identifier

cancellation_reason
string or null

Booking cancellation reason

end_date
required
string <date-time>

Start date and time of this booking

item_id
required
integer or null

Internal item identifier

item
object or null

Embedable item representation

patron_id
required
integer

Internal patron identifier

patron
object or null

Embedable patron representation

pickup_library_id
required
string

Internal pickup_library identifier

pickup_library
object or null

Embedable pickup_library representation

start_date
required
string <date-time>

Start date and time of this booking

status
string or null

Status of the booking

Responses

Request samples

Content type
application/json
{
  • "biblio_id": 0,
  • "biblio": { },
  • "booking_id": 0,
  • "cancellation_reason": "string",
  • "end_date": "2019-08-24T14:15:22Z",
  • "item_id": 0,
  • "item": { },
  • "patron_id": 0,
  • "patron": { },
  • "pickup_library_id": "string",
  • "pickup_library": { },
  • "start_date": "2019-08-24T14:15:22Z",
  • "status": "string"
}

Response samples

Content type
application/json
{
  • "biblio_id": 0,
  • "biblio": { },
  • "booking_id": 0,
  • "cancellation_reason": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "end_date": "2019-08-24T14:15:22Z",
  • "item_id": 0,
  • "item": { },
  • "modification_date": "2019-08-24T14:15:22Z",
  • "patron_id": 0,
  • "patron": { },
  • "pickup_library_id": "string",
  • "pickup_library": { },
  • "start_date": "2019-08-24T14:15:22Z",
  • "status": "string"
}

Delete booking

koha-authorization: {"permissions":{"circulate":"manage_bookings"}}
path Parameters
booking_id
required
integer

Booking identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Get booking

koha-authorization: {"permissions":{"catalogue":1}}
path Parameters
booking_id
required
integer

Booking identifier

Responses

Response samples

Content type
application/json
{
  • "biblio_id": 0,
  • "biblio": { },
  • "booking_id": 0,
  • "cancellation_reason": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "end_date": "2019-08-24T14:15:22Z",
  • "item_id": 0,
  • "item": { },
  • "modification_date": "2019-08-24T14:15:22Z",
  • "patron_id": 0,
  • "patron": { },
  • "pickup_library_id": "string",
  • "pickup_library": { },
  • "start_date": "2019-08-24T14:15:22Z",
  • "status": "string"
}

Update booking

koha-authorization: {"permissions":{"circulate":"manage_bookings"}}
path Parameters
booking_id
required
integer

Booking identifier

Request Body schema: application/json
required

A complete booking object to replace the current one

biblio_id
required
integer

Internal identifier for the parent bibliographic record

biblio
object

Embedable biblio representation

booking_id
integer

Internal booking identifier

cancellation_reason
string or null

Booking cancellation reason

end_date
required
string <date-time>

Start date and time of this booking

item_id
required
integer or null

Internal item identifier

item
object or null

Embedable item representation

patron_id
required
integer

Internal patron identifier

patron
object or null

Embedable patron representation

pickup_library_id
required
string

Internal pickup_library identifier

pickup_library
object or null

Embedable pickup_library representation

start_date
required
string <date-time>

Start date and time of this booking

status
string or null

Status of the booking

Responses

Request samples

Content type
application/json
{
  • "biblio_id": 0,
  • "biblio": { },
  • "booking_id": 0,
  • "cancellation_reason": "string",
  • "end_date": "2019-08-24T14:15:22Z",
  • "item_id": 0,
  • "item": { },
  • "patron_id": 0,
  • "patron": { },
  • "pickup_library_id": "string",
  • "pickup_library": { },
  • "start_date": "2019-08-24T14:15:22Z",
  • "status": "string"
}

Response samples

Content type
application/json
{
  • "biblio_id": 0,
  • "biblio": { },
  • "booking_id": 0,
  • "cancellation_reason": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "end_date": "2019-08-24T14:15:22Z",
  • "item_id": 0,
  • "item": { },
  • "modification_date": "2019-08-24T14:15:22Z",
  • "patron_id": 0,
  • "patron": { },
  • "pickup_library_id": "string",
  • "pickup_library": { },
  • "start_date": "2019-08-24T14:15:22Z",
  • "status": "string"
}

Update booking

koha-authorization: {"permissions":{"circulate":"manage_bookings"}}
path Parameters
booking_id
required
integer

Booking identifier

Request Body schema: application/json
required

A partial booking object containing fields to modify

biblio_id
integer

Internal identifier for the parent bibliographic record

cancellation_reason
string or null

Booking cancellation reason

end_date
string <date-time>

Start date and time of this booking

item_id
integer or null

Internal item identifier

patron_id
integer

Internal patron identifier

pickup_library_id
string

Internal pickup_library identifier

start_date
string <date-time>

Start date and time of this booking

status
string or null

Status of the booking

Responses

Request samples

Content type
application/json
{
  • "biblio_id": 0,
  • "cancellation_reason": "string",
  • "end_date": "2019-08-24T14:15:22Z",
  • "item_id": 0,
  • "patron_id": 0,
  • "pickup_library_id": "string",
  • "start_date": "2019-08-24T14:15:22Z",
  • "status": "string"
}

Response samples

Content type
application/json
{
  • "biblio_id": 0,
  • "biblio": { },
  • "booking_id": 0,
  • "cancellation_reason": "string",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "end_date": "2019-08-24T14:15:22Z",
  • "item_id": 0,
  • "item": { },
  • "modification_date": "2019-08-24T14:15:22Z",
  • "patron_id": 0,
  • "patron": { },
  • "pickup_library_id": "string",
  • "pickup_library": { },
  • "start_date": "2019-08-24T14:15:22Z",
  • "status": "string"
}

Get bookings for a biblio

koha-authorization: {"permissions":{"circulate":"manage_bookings"}}
path Parameters
biblio_id
required
integer

Record internal identifier

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Enum: "item" "patron" "pickup_library"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Cash registers

Manage cash registers

List the library's cash registers

koha-authorization: {"permissions":{"catalogue":1}}
path Parameters
library_id
required
string

Internal library identifier

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Cashups

Manage cash register cashups

List cashups for the cash register

koha-authorization: {"permissions":{"cash_management":"cashup"}}
path Parameters
cash_register_id
required
integer

Cash register internal identifier

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Value: "manager"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Get cashup

koha-authorization: {"permissions":{"cash_management":"cashup"}}
path Parameters
cashup_id
required
integer

Cashup internal identifier

header Parameters
x-koha-embed
Array of strings
Items Value: "summary"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
{
  • "cashup_id": 0,
  • "cash_register_id": 0,
  • "manager_id": 0,
  • "manager": { },
  • "amount": 0,
  • "timestamp": "2019-08-24T14:15:22Z",
  • "summary": { }
}

Checkouts

Manage checkouts

List checkouts for a biblio

koha-authorization: {"permissions":[{"circulate":"circulate_remaining_permissions"},{"circulate":"manage_bookings"}]}
path Parameters
biblio_id
required
integer

Record internal identifier

query Parameters
_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

q
Array of strings

Query filter sent as a request parameter

checked_in
boolean

By default, current checkouts are returned, when this is true then checked in checkouts are returned as result.

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Enum: "issuer" "item" "patron" "library"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

List checkouts

koha-authorization: {"permissions":[{"circulate":"circulate_remaining_permissions"},{"circulate":"manage_bookings"}]}
query Parameters
patron_id
integer

Internal patron identifier

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

q
Array of strings

Query filter sent as a request parameter

checked_in
boolean

By default, current checkouts are returned, when this is true then checked in checkouts are returned as result.

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Enum: "issuer" "item" "item.biblio" "library" "patron" "renewals"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add a new checkout

koha-authorization: {"permissions":{"circulate":"circulate_remaining_permissions"}}
query Parameters
confirmation
string

A JWT confirmation token

Request Body schema: application/json
required

A JSON object containing information about the new checkout

checkout_id
integer

internally assigned checkout identifier

patron_id
integer

Internal patron identifier

item_id
integer or null
external_id
string or null

other identifier of checked out item f.e. barcode

due_date
string <date-time>

Due date

library_id
string or null

code of the library the item was checked out

issuer_id
integer or null

internally assigned for the user that processed the checkout

checkin_date
string or null <date-time>

Date the item was returned

checkin_library_id
string or null

Internal library identifier for the library at which the item was returned

last_renewed_date
string or null <date-time>

Date the item was last renewed

renewals_count
integer or null

Number of renewals

unseen_renewals
integer or null

Number of consecutive unseen renewals

auto_renew
boolean

Auto renewal

auto_renew_error
string or null

Auto renewal error

timestamp
string

Last update time

checkout_date
string <date-time>

Date the item was issued

onsite_checkout
boolean

On site checkout

note
string or null

Issue note text

note_date
string or null <date>

Datetime of the issue note

note_seen
boolean or null

has the note been seen already

issuer
object or null

The object representing the checkout issuer

item
object or null

The object representing the checked out item

library
object or null

The object representing the checkout library

patron
object or null

The object representing the checkout patron

Responses

Request samples

Content type
application/json
{
  • "checkout_id": 0,
  • "patron_id": 0,
  • "item_id": 0,
  • "external_id": "string",
  • "due_date": "2019-08-24T14:15:22Z",
  • "library_id": "string",
  • "issuer_id": 0,
  • "checkin_date": "2019-08-24T14:15:22Z",
  • "checkin_library_id": "string",
  • "last_renewed_date": "2019-08-24T14:15:22Z",
  • "renewals_count": 0,
  • "unseen_renewals": 0,
  • "auto_renew": true,
  • "auto_renew_error": "string",
  • "timestamp": "string",
  • "checkout_date": "2019-08-24T14:15:22Z",
  • "onsite_checkout": true,
  • "note": "string",
  • "note_date": "2019-08-24",
  • "note_seen": true,
  • "issuer": { },
  • "item": { },
  • "library": { },
  • "patron": { }
}

Response samples

Content type
application/json
{
  • "checkout_id": 0,
  • "patron_id": 0,
  • "item_id": 0,
  • "external_id": "string",
  • "due_date": "2019-08-24T14:15:22Z",
  • "library_id": "string",
  • "issuer_id": 0,
  • "checkin_date": "2019-08-24T14:15:22Z",
  • "checkin_library_id": "string",
  • "last_renewed_date": "2019-08-24T14:15:22Z",
  • "renewals_count": 0,
  • "unseen_renewals": 0,
  • "auto_renew": true,
  • "auto_renew_error": "string",
  • "timestamp": "string",
  • "checkout_date": "2019-08-24T14:15:22Z",
  • "onsite_checkout": true,
  • "note": "string",
  • "note_date": "2019-08-24",
  • "note_seen": true,
  • "issuer": { },
  • "item": { },
  • "library": { },
  • "patron": { }
}

Get checkout

koha-authorization: {"permissions":{"circulate":"circulate_remaining_permissions"}}
path Parameters
checkout_id
required
integer

Internal checkout identifier

header Parameters
x-koha-embed
Array of strings
Items Enum: "issuer" "item" "item.biblio" "library" "patron" "renewals"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
{
  • "checkout_id": 0,
  • "patron_id": 0,
  • "item_id": 0,
  • "external_id": "string",
  • "due_date": "2019-08-24T14:15:22Z",
  • "library_id": "string",
  • "issuer_id": 0,
  • "checkin_date": "2019-08-24T14:15:22Z",
  • "checkin_library_id": "string",
  • "last_renewed_date": "2019-08-24T14:15:22Z",
  • "renewals_count": 0,
  • "unseen_renewals": 0,
  • "auto_renew": true,
  • "auto_renew_error": "string",
  • "timestamp": "string",
  • "checkout_date": "2019-08-24T14:15:22Z",
  • "onsite_checkout": true,
  • "note": "string",
  • "note_date": "2019-08-24",
  • "note_seen": true,
  • "issuer": { },
  • "item": { },
  • "library": { },
  • "patron": { }
}

Get renewability for a checkout

koha-authorization: {"permissions":{"circulate":"circulate_remaining_permissions"}}
path Parameters
checkout_id
required
integer

Internal checkout identifier

Responses

Response samples

Content type
application/json
{
  • "allows_renewal": true,
  • "max_renewals": 0,
  • "current_renewals": 0,
  • "unseen_renewals": 0,
  • "error": "string"
}

Renew a checkout

koha-authorization: {"permissions":{"circulate":"circulate_remaining_permissions"}}
path Parameters
checkout_id
required
integer

Internal checkout identifier

query Parameters
seen
integer

Item was seen flag

Responses

Response samples

Content type
application/json
{
  • "checkout_id": 0,
  • "patron_id": 0,
  • "item_id": 0,
  • "external_id": "string",
  • "due_date": "2019-08-24T14:15:22Z",
  • "library_id": "string",
  • "issuer_id": 0,
  • "checkin_date": "2019-08-24T14:15:22Z",
  • "checkin_library_id": "string",
  • "last_renewed_date": "2019-08-24T14:15:22Z",
  • "renewals_count": 0,
  • "unseen_renewals": 0,
  • "auto_renew": true,
  • "auto_renew_error": "string",
  • "timestamp": "string",
  • "checkout_date": "2019-08-24T14:15:22Z",
  • "onsite_checkout": true,
  • "note": "string",
  • "note_date": "2019-08-24",
  • "note_seen": true,
  • "issuer": { },
  • "item": { },
  • "library": { },
  • "patron": { }
}

List renewals for a checkout

koha-authorization: {"permissions":{"circulate":"circulate_remaining_permissions"}}
path Parameters
checkout_id
required
integer

Internal checkout identifier

header Parameters
x-koha-embed
Array of strings
Items Value: "renewer"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Renew a checkout

koha-authorization: {"permissions":{"circulate":"circulate_remaining_permissions"}}
path Parameters
checkout_id
required
integer

Internal checkout identifier

query Parameters
seen
integer

Item was seen flag

Responses

Response samples

Content type
application/json
{
  • "checkout_id": 0,
  • "patron_id": 0,
  • "item_id": 0,
  • "external_id": "string",
  • "due_date": "2019-08-24T14:15:22Z",
  • "library_id": "string",
  • "issuer_id": 0,
  • "checkin_date": "2019-08-24T14:15:22Z",
  • "checkin_library_id": "string",
  • "last_renewed_date": "2019-08-24T14:15:22Z",
  • "renewals_count": 0,
  • "unseen_renewals": 0,
  • "auto_renew": true,
  • "auto_renew_error": "string",
  • "timestamp": "string",
  • "checkout_date": "2019-08-24T14:15:22Z",
  • "onsite_checkout": true,
  • "note": "string",
  • "note_date": "2019-08-24",
  • "note_seen": true,
  • "issuer": { },
  • "item": { },
  • "library": { },
  • "patron": { }
}

Get checkout availability

koha-authorization: {"permissions":{"circulate":"circulate_remaining_permissions"}}
query Parameters
patron_id
integer

Internal patron identifier

item_id
integer

Internal item identifier

Responses

Response samples

Content type
application/json
{
  • "blockers": { },
  • "confirms": { },
  • "warnings": { },
  • "confirmation_token": "string"
}

List checkouts for a patron

koha-authorization: {"permissions":[{"circulate":"circulate_remaining_permissions"},{"circulate":"manage_bookings"}]}
path Parameters
patron_id
required
integer

Internal patron identifier

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Enum: "issuer" "item" "item.biblio" "library" "patron" "renewals"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Get checkout availability

koha-authorization: {"allow-owner":true}
query Parameters
patron_id
integer

Internal patron identifier

item_id
integer

Internal item identifier

Responses

Response samples

Content type
application/json
{
  • "blockers": { },
  • "confirms": { },
  • "warnings": { },
  • "confirmation_token": "string"
}

Add a new checkout (public)

koha-authorization: {"allow-owner":true}
path Parameters
patron_id
required
integer

Internal patron identifier

query Parameters
confirmation
string

A JWT confirmation token

Request Body schema: application/json
required

A JSON object containing information about the new checkout

checkout_id
integer

internally assigned checkout identifier

patron_id
integer

Internal patron identifier

item_id
integer or null
external_id
string or null

other identifier of checked out item f.e. barcode

due_date
string <date-time>

Due date

library_id
string or null

code of the library the item was checked out

issuer_id
integer or null

internally assigned for the user that processed the checkout

checkin_date
string or null <date-time>

Date the item was returned

checkin_library_id
string or null

Internal library identifier for the library at which the item was returned

last_renewed_date
string or null <date-time>

Date the item was last renewed

renewals_count
integer or null

Number of renewals

unseen_renewals
integer or null

Number of consecutive unseen renewals

auto_renew
boolean

Auto renewal

auto_renew_error
string or null

Auto renewal error

timestamp
string

Last update time

checkout_date
string <date-time>

Date the item was issued

onsite_checkout
boolean

On site checkout

note
string or null

Issue note text

note_date
string or null <date>

Datetime of the issue note

note_seen
boolean or null

has the note been seen already

issuer
object or null

The object representing the checkout issuer

item
object or null

The object representing the checked out item

library
object or null

The object representing the checkout library

patron
object or null

The object representing the checkout patron

Responses

Request samples

Content type
application/json
{
  • "checkout_id": 0,
  • "patron_id": 0,
  • "item_id": 0,
  • "external_id": "string",
  • "due_date": "2019-08-24T14:15:22Z",
  • "library_id": "string",
  • "issuer_id": 0,
  • "checkin_date": "2019-08-24T14:15:22Z",
  • "checkin_library_id": "string",
  • "last_renewed_date": "2019-08-24T14:15:22Z",
  • "renewals_count": 0,
  • "unseen_renewals": 0,
  • "auto_renew": true,
  • "auto_renew_error": "string",
  • "timestamp": "string",
  • "checkout_date": "2019-08-24T14:15:22Z",
  • "onsite_checkout": true,
  • "note": "string",
  • "note_date": "2019-08-24",
  • "note_seen": true,
  • "issuer": { },
  • "item": { },
  • "library": { },
  • "patron": { }
}

Response samples

Content type
application/json
{
  • "checkout_id": 0,
  • "patron_id": 0,
  • "item_id": 0,
  • "external_id": "string",
  • "due_date": "2019-08-24T14:15:22Z",
  • "library_id": "string",
  • "issuer_id": 0,
  • "checkin_date": "2019-08-24T14:15:22Z",
  • "checkin_library_id": "string",
  • "last_renewed_date": "2019-08-24T14:15:22Z",
  • "renewals_count": 0,
  • "unseen_renewals": 0,
  • "auto_renew": true,
  • "auto_renew_error": "string",
  • "timestamp": "string",
  • "checkout_date": "2019-08-24T14:15:22Z",
  • "onsite_checkout": true,
  • "note": "string",
  • "note_date": "2019-08-24",
  • "note_seen": true,
  • "issuer": { },
  • "item": { },
  • "library": { },
  • "patron": { }
}

Circulation desks

Manage circulation desks

List the library's desks

koha-authorization: {"permissions":{"catalogue":1}}
path Parameters
library_id
required
string

Internal library identifier

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Circulation rules

Manage circulation rules

Get circulation rules for a given item type/library/patron combination.

koha-authorization: {"permissions":[{"circulate":"circulate_remaining_permissions"}]}
query Parameters
effective
boolean

Boolean indicating whether to return effective rules or all rules. Defaults to true.

item_type_id
string

The item type identifier

library_id
string

The library identifier

patron_category_id
string

The patron category identifier

rules
string

A comma-separated list of rule kinds

Responses

Response samples

Content type
application/json
[
  • { }
]

Get circulation rules kinds

koha-authorization: {"permissions":[{"circulate":"circulate_remaining_permissions"}]}

Responses

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Cities

Manage cities

List cities

koha-authorization: {"permissions":{"catalogue":"1"}}
query Parameters
name
string

Case insensative search on city name

state
string

Case insensative search on city state

country
string

Case insensative search on city country

postal_code
string

Case Insensative search on city postal code

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add city

koha-authorization: {"permissions":{"parameters":"manage_cities"}}
Request Body schema: application/json
required

A JSON object containing informations about the new hold

name
required
string

city name

state
required
string or null

city state

postal_code
required
string or null

city postal code

country
required
string or null

city country

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "state": "string",
  • "postal_code": "string",
  • "country": "string"
}

Response samples

Content type
application/json
{
  • "city_id": 0,
  • "name": "string",
  • "state": "string",
  • "postal_code": "string",
  • "country": "string"
}

Get city

koha-authorization: {"permissions":{"catalogue":"1"}}
path Parameters
city_id
required
integer

City internal identifier

Responses

Response samples

Content type
application/json
{
  • "city_id": 0,
  • "name": "string",
  • "state": "string",
  • "postal_code": "string",
  • "country": "string"
}

Update city

koha-authorization: {"permissions":{"parameters":"manage_cities"}}
path Parameters
city_id
required
integer

City internal identifier

Request Body schema: application/json
required

A city object

name
required
string

city name

state
required
string or null

city state

postal_code
required
string or null

city postal code

country
required
string or null

city country

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "state": "string",
  • "postal_code": "string",
  • "country": "string"
}

Response samples

Content type
application/json
{
  • "city_id": 0,
  • "name": "string",
  • "state": "string",
  • "postal_code": "string",
  • "country": "string"
}

Delete city

koha-authorization: {"permissions":{"parameters":"manage_cities"}}
path Parameters
city_id
required
integer

City internal identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Clubs

Manage patron clubs

Add a club hold

koha-authorization: {"permissions":{"reserveforothers":"1"}}
path Parameters
club_id
required
integer

Internal club identifier

Request Body schema: application/json
required

A JSON object containing informations about the new hold

biblio_id
integer or null

Internal biblio identifier

item_id
integer or null

Internal item identifier

pickup_library_id
required
string

Internal library identifier for the pickup library

expiration_date
string or null <date>

Hold end date

notes
string or null

Notes related to this hold

item_type
string or null

Limit hold on one itemtype (ignored for item-level holds)

default_patron_home
integer

For each patron, set pickup location to patron's home library if possible

Responses

Request samples

Content type
application/json
{
  • "biblio_id": 0,
  • "item_id": 0,
  • "pickup_library_id": "string",
  • "expiration_date": "2019-08-24",
  • "notes": "string",
  • "item_type": "string",
  • "default_patron_home": 0
}

Response samples

Content type
application/json
{
  • "club_hold_id": 0,
  • "club_id": 0,
  • "biblio_id": 0,
  • "item_id": "string",
  • "date_created": "2019-08-24T14:15:22Z"
}

EDI files

Manage EDI files

List EDIFACT files

koha-authorization: {"permissions":{"acquisition":"edi_manage"}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Enum: "vendor" "basket"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

ERM agreements

Manage ERM agreements

List agreements

koha-authorization: {"permissions":{"erm":1}}
query Parameters
agreement_id
integer

Case insensitive search on agreement agreement_id

vendor_id
integer

Case insensitive search on agreement vendor_id

name
string

Case insensitive search on agreement name

description
string

Case insensitive search on agreement description

status
string

Case insensitive search on agreement status

closure_reason
string

Case insensitive search on agreement closure_reason

is_perpetual
boolean

Case insensitive search on agreement is_perpetual

renewal_priority
string

Case insensitive search on agreement renewal_priority

license_info
string

Case insensitive search on agreement license_info

max_expiration_date
string <date>

filter by expired agreements

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Enum: "user_roles" "vendor" "extended_attributes" "+strings"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add agreement

koha-authorization: {"permissions":{"erm":1}}
Request Body schema: application/json
required

A JSON object containing information about the new agreement

vendor_id
integer or null

foreign key to aqbooksellers

name
required
string

name of the agreement

description
string or null

description of the agreement

status
required
string

current status of the agreement

closure_reason
string or null

reason of the closure

is_perpetual
required
boolean

is the agreement perpetual

renewal_priority
string or null

priority of the renewal

license_info
string or null

info about the license

Array of objects (erm_agreement_period)

periods defined for this agreement

Array
agreement_id
integer

Internal agreement identifier

started_on
required
string <date>

Start of the agreement period

ended_on
string or null <date>

End of the agreemnent period

cancellation_deadline
string or null <date>

Deadline for the cancellation

notes
string or null
Array of objects (erm_user_role)

role for users

Array
user_role_id
integer

Internal user_role identifier

agreement_id
integer or null

Internal agreement identifier

license_id
integer or null

Internal license identifier

user_id
required
integer

Internal patron identifier

role
required
string

role of the user

patron
object or null
Array of objects (erm_agreement_relationship)

agreement relationships

Array
agreement_id
integer

Internal agreement identifier

related_agreement_id
required
integer

Internal related agreement identifier

relationship
required
string
Enum: "supersedes" "is-superseded-by" "provides_post-cancellation_access_for" "has-post-cancellation-access-in" "tracks_demand-driven_acquisitions_for" "has-demand-driven-acquisitions-in" "has_backfile_in" "has_frontfile_in" "related_to"

relationship between the agreements

notes
string or null
Array of objects (erm_agreement_license)

agreement licenses

Array
agreement_license_id
integer

Internal agreement license identifier

agreement_id
integer

Internal agreement identifier

license_id
required
integer

Internal license identifier

status
required
string
physical_location
string or null
notes
string or null
uri
string or null
Array of objects (erm_document)

documents

Array
document_id
integer

internally assigned identifier

agreement_id
integer or null

Internal agreement identifier

license_id
integer or null

Internal license identifier

file_name
string or null

Name of the file

file_description
string or null

Description of the file

file_content
string or null

Content of the file

physical_location
string or null

Physical location of the document

uri
string or null

URI of the document

notes
string or null
vendor
object or null

Information about the vendor

Array of objects (extended_attribute_value)

Related additional field values

Array
field_id
integer

FK in corresponding to id in additional_fields table

record_id
string

ID corresponding to the object ID this additional field relates to

value
string

value of the additional field

_strings
object or null

Responses

Request samples

Content type
application/json
{
  • "vendor_id": 0,
  • "name": "string",
  • "description": "string",
  • "status": "string",
  • "closure_reason": "string",
  • "is_perpetual": true,
  • "renewal_priority": "string",
  • "license_info": "string",
  • "periods": [
    ],
  • "user_roles": [
    ],
  • "agreement_relationships": [
    ],
  • "agreement_licenses": [
    ],
  • "documents": [
    ],
  • "vendor": { },
  • "extended_attributes": [
    ],
  • "_strings": { }
}

Response samples

Content type
application/json
[
  • {
    }
]

Get agreement

koha-authorization: {"permissions":{"erm":1}}
path Parameters
agreement_id
required
integer

Agreement internal identifier

header Parameters
x-koha-embed
Array of strings
Items Enum: "periods" "user_roles" "user_roles.patron" "agreement_licenses" "agreement_licenses.license" "agreement_relationships" "agreement_relationships.agreement" "agreement_relationships.related_agreement" "agreement_packages" "agreement_packages.package" "documents" "vendor" "extended_attributes" "+strings"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update agreement

koha-authorization: {"permissions":{"erm":1}}
path Parameters
agreement_id
required
integer

Agreement internal identifier

header Parameters
x-koha-embed
Array of strings
Items Enum: "periods" "user_roles" "agreement_licenses" "agreement_relationships" "documents" "extended_attributes" "+strings"

Embed list sent as a request header

Request Body schema: application/json
required

A JSON object containing new information about existing agreement

vendor_id
integer or null

foreign key to aqbooksellers

name
required
string

name of the agreement

description
string or null

description of the agreement

status
required
string

current status of the agreement

closure_reason
string or null

reason of the closure

is_perpetual
required
boolean

is the agreement perpetual

renewal_priority
string or null

priority of the renewal

license_info
string or null

info about the license

Array of objects (erm_agreement_period)

periods defined for this agreement

Array
agreement_id
integer

Internal agreement identifier

started_on
required
string <date>

Start of the agreement period

ended_on
string or null <date>

End of the agreemnent period

cancellation_deadline
string or null <date>

Deadline for the cancellation

notes
string or null
Array of objects (erm_user_role)

role for users

Array
user_role_id
integer

Internal user_role identifier

agreement_id
integer or null

Internal agreement identifier

license_id
integer or null

Internal license identifier

user_id
required
integer

Internal patron identifier

role
required
string

role of the user

patron
object or null
Array of objects (erm_agreement_relationship)

agreement relationships

Array
agreement_id
integer

Internal agreement identifier

related_agreement_id
required
integer

Internal related agreement identifier

relationship
required
string
Enum: "supersedes" "is-superseded-by" "provides_post-cancellation_access_for" "has-post-cancellation-access-in" "tracks_demand-driven_acquisitions_for" "has-demand-driven-acquisitions-in" "has_backfile_in" "has_frontfile_in" "related_to"

relationship between the agreements

notes
string or null
Array of objects (erm_agreement_license)

agreement licenses

Array
agreement_license_id
integer

Internal agreement license identifier

agreement_id
integer

Internal agreement identifier

license_id
required
integer

Internal license identifier

status
required
string
physical_location
string or null
notes
string or null
uri
string or null
Array of objects (erm_document)

documents

Array
document_id
integer

internally assigned identifier

agreement_id
integer or null

Internal agreement identifier

license_id
integer or null

Internal license identifier

file_name
string or null

Name of the file

file_description
string or null

Description of the file

file_content
string or null

Content of the file

physical_location
string or null

Physical location of the document

uri
string or null

URI of the document

notes
string or null
vendor
object or null

Information about the vendor

Array of objects (extended_attribute_value)

Related additional field values

Array
field_id
integer

FK in corresponding to id in additional_fields table

record_id
string

ID corresponding to the object ID this additional field relates to

value
string

value of the additional field

_strings
object or null

Responses

Request samples

Content type
application/json
{
  • "vendor_id": 0,
  • "name": "string",
  • "description": "string",
  • "status": "string",
  • "closure_reason": "string",
  • "is_perpetual": true,
  • "renewal_priority": "string",
  • "license_info": "string",
  • "periods": [
    ],
  • "user_roles": [
    ],
  • "agreement_relationships": [
    ],
  • "agreement_licenses": [
    ],
  • "documents": [
    ],
  • "vendor": { },
  • "extended_attributes": [
    ],
  • "_strings": { }
}

Response samples

Content type
application/json
[
  • {
    }
]

Delete agreement

koha-authorization: {"permissions":{"erm":1}}
path Parameters
agreement_id
required
integer

Agreement internal identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

ERM configuration

Manage ERM configuration

get the ERM config

This resource returns a list of options needed for the ERM Vue app. EXPERIMENTAL - DO NOT RELY on this, it is subject to change!

koha-authorization: {"permissions":{"erm":1}}

Responses

Response samples

Content type
application/json
{
  • "settings": { }
}

ERM counter files

Manage ERM counter files

List counter_files

koha-authorization: {"permissions":{"erm":1}}
query Parameters
erm_counter_files_id
integer

Case insensitive search on counter_file erm_counter_files_id

usage_data_provider_id
integer

Case insensitive search on counter_file usage_data_provider_id

filename
string

Case insensitive search on counter_file filename

type
string

Case insensitive search on counter_file type

file_content
string

Case insensitive search on counter_file file_content

date_uploaded
string

Case insensitive search on counter_file date_uploaded

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Value: "counter_logs"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Delete counter_file

koha-authorization: {"permissions":{"erm":1}}
path Parameters
erm_counter_files_id
required
integer

ERM counter_files internal identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Download Counter file

koha-authorization: {"permissions":{"erm":1}}
path Parameters
erm_counter_files_id
required
integer

Case insensitive search on erm_counter_files_id

Responses

ERM counter logs

Manage ERM counter logs

List counter_logs

koha-authorization: {"permissions":{"erm":1}}
query Parameters
usage_data_provider_id
integer

Case insensitive search on counter_log usage_data_provider_id

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

ERM counter registry

Retrieve counter registry data

List platforms currently registered with the counter registry

koha-authorization: {"permissions":{"erm":1}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

ERM saved reports

Manage ERM saved reports

List default_usage_reports

koha-authorization: {"permissions":{"erm":1}}
query Parameters
erm_default_usage_report_id
integer

Case insensitive search on erm_default_usage_report_id

report_name
integer

Case insensitive search on default_usage_report report_name

report_url_params
integer

Case insensitive search on default_usage_report report_url_params

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add default_usage_report

koha-authorization: {"permissions":{"erm":1}}
Request Body schema: application/json
required

A JSON object containing information about the new default_usage_report

report_name
required
string

report_name

report_url_params
required
string

report_url_params

Responses

Request samples

Content type
application/json
{
  • "report_name": "string",
  • "report_url_params": "string"
}

Response samples

Content type
application/json
[
  • {
    }
]

Delete default_usage_report

koha-authorization: {"permissions":{"erm":1}}
path Parameters
erm_default_usage_report_id
required
integer

ERM default_usage_report internal identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

ERM documents

Manage ERM docuemnts

Download erm document

koha-authorization: {"permissions":{"erm":1}}
path Parameters
document_id
required
integer

Case insensitive search on document_id

Responses

ERM eHoldings packages

Manage ERM eHoldings packages

List packages

koha-authorization: {"permissions":{"erm":1}}
path Parameters
provider
required
string

Provider name

query Parameters
package_id
string

Case insensitive search on package package_id

vendor_id
integer

Case insensitive search on package vendor_id

name
string

Case insensitive search on package name

external_package_id
integer

Case insensitive search on package external_package_id

package_type
string

Case insensitive search on package type

content_type
string

Case insensitive search on package content_type

notes
string

Case insensitive search on package notes

created_on
string

Case insensitive search on package creation date

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Enum: "vendor" "vendor.name" "resources+count" "resources" "extended_attributes" "+strings"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add package

koha-authorization: {"permissions":{"erm":1}}
path Parameters
provider
required
string

Provider name

Request Body schema: application/json
required

A JSON object containing information about the new package

vendor_id
integer or null

foreign key to aqbooksellers

name
required
string

name of the package

provider
string or null

external id of the package

external_id
string or null

external id of the package

koha_internal_id
integer or null

internal id of the package

package_type
string or null

type of the package

content_type
string or null

content type of the package

notes
string or null

notes about the package

created_on
string or null

date of creation

Array of objects (erm_eholdings_package_agreement)

agreements

Array
agreement_id
required
integer

foreign key to agreement

Array of objects (erm_eholdings_resource)

resources

Array
title_id
integer or null

foreign key to the title

package_id
required
string or null

foreign key to the package

vendor_id
integer or null

foreign key to aqbooksellers

started_on
string or null

Start date

ended_on
string or null

End date

proxy
string or null

Proxy to access this resource

is_selected
boolean or null
title
object or null

Information about the title

package
object or null

Information about the package

vendor
object or null

Information about the vendor

vendor
object or null
is_selected
boolean or null
resources_count
integer or null
Array of objects (extended_attribute_value)

Related additional field values

Array
field_id
integer

FK in corresponding to id in additional_fields table

record_id
string

ID corresponding to the object ID this additional field relates to

value
string

value of the additional field

_strings
object or null

Responses

Request samples

Content type
application/json
{
  • "vendor_id": 0,
  • "name": "string",
  • "provider": "string",
  • "external_id": "string",
  • "koha_internal_id": 0,
  • "package_type": "string",
  • "content_type": "string",
  • "notes": "string",
  • "created_on": "string",
  • "package_agreements": [
    ],
  • "resources": [
    ],
  • "vendor": { },
  • "is_selected": true,
  • "resources_count": 0,
  • "extended_attributes": [
    ],
  • "_strings": { }
}

Response samples

Content type
application/json
[
  • {
    }
]

Get eHoldings package

koha-authorization: {"permissions":{"erm":1}}
path Parameters
provider
required
string

Provider name

package_id
required
string

Package internal identifier

header Parameters
x-koha-embed
Array of strings
Items Enum: "package_agreements" "package_agreements.agreement" "resources+count" "vendor" "extended_attributes" "+strings"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update eHoldings package

koha-authorization: {"permissions":{"erm":1}}
path Parameters
provider
required
string

Provider name

package_id
required
string

Package internal identifier

header Parameters
x-koha-embed
Array of strings
Items Enum: "agreements" "resources" "extended_attributes" "+strings"

Embed list sent as a request header

Request Body schema: application/json
required

A JSON object containing new information about existing package

vendor_id
integer or null

foreign key to aqbooksellers

name
required
string

name of the package

provider
string or null

external id of the package

external_id
string or null

external id of the package

koha_internal_id
integer or null

internal id of the package

package_type
string or null

type of the package

content_type
string or null

content type of the package

notes
string or null

notes about the package

created_on
string or null

date of creation

Array of objects (erm_eholdings_package_agreement)

agreements

Array
agreement_id
required
integer

foreign key to agreement

Array of objects (erm_eholdings_resource)

resources

Array
title_id
integer or null

foreign key to the title

package_id
required
string or null

foreign key to the package

vendor_id
integer or null

foreign key to aqbooksellers

started_on
string or null

Start date

ended_on
string or null

End date

proxy
string or null

Proxy to access this resource

is_selected
boolean or null
title
object or null

Information about the title

package
object or null

Information about the package

vendor
object or null

Information about the vendor

vendor
object or null
is_selected
boolean or null
resources_count
integer or null
Array of objects (extended_attribute_value)

Related additional field values

Array
field_id
integer

FK in corresponding to id in additional_fields table

record_id
string

ID corresponding to the object ID this additional field relates to

value
string

value of the additional field

_strings
object or null

Responses

Request samples

Content type
application/json
{
  • "vendor_id": 0,
  • "name": "string",
  • "provider": "string",
  • "external_id": "string",
  • "koha_internal_id": 0,
  • "package_type": "string",
  • "content_type": "string",
  • "notes": "string",
  • "created_on": "string",
  • "package_agreements": [
    ],
  • "resources": [
    ],
  • "vendor": { },
  • "is_selected": true,
  • "resources_count": 0,
  • "extended_attributes": [
    ],
  • "_strings": { }
}

Response samples

Content type
application/json
[
  • {
    }
]

Delete eHoldings package

koha-authorization: {"permissions":{"erm":1}}
path Parameters
provider
required
string

Provider name

package_id
required
string

Package internal identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Edit a package

koha-authorization: {"permissions":{"erm":1}}
path Parameters
provider
required
string

Provider name

package_id
required
string

Package internal identifier

Request Body schema: application/json
required

A JSON object containing the fields to edit

is_selected
boolean

Add or remove this package from remote holdings

Responses

Request samples

Content type
application/json
{
  • "is_selected": true
}

Response samples

Content type
application/json
{
  • "is_selected": true
}

List eholdings resources

koha-authorization: {"permissions":{"erm":1}}
path Parameters
provider
required
string

Provider name

package_id
required
string

Package internal identifier

query Parameters
resource_id
string

Case insensitive search on resource_id

started_on
string

Case insensitive search on started_on

ended_on
string

Case insensitive search on ended_on

proxy
string

Case insensitive search on proxy

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Value: "title"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

ERM eHoldings resources

Manage ERM eHoldings resources

List eholdings resources

koha-authorization: {"permissions":{"erm":1}}
path Parameters
provider
required
string

Provider name

query Parameters
resource_id
string

Case insensitive search on resource_id

package_id
string

Case insensitive search on package_id

vendor_id
integer

Case insensitive search on title vendor_id

started_on
string

Case insensitive search on started_on

ended_on
string

Case insensitive search on ended_on

proxy
string

Case insensitive search on proxy

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Get resources

koha-authorization: {"permissions":{"erm":1}}
path Parameters
provider
required
string

Provider name

resource_id
required
string

Resource internal identifier

header Parameters
x-koha-embed
Array of strings
Items Enum: "title" "package" "vendor"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Edit a resource

koha-authorization: {"permissions":{"erm":1}}
path Parameters
provider
required
string

Provider name

resource_id
required
string

Resource internal identifier

Request Body schema: application/json
required

A JSON object containing the fields to edit

is_selected
boolean

Add or remove this resource from remote holdings

Responses

Request samples

Content type
application/json
{
  • "is_selected": true
}

Response samples

Content type
application/json
{
  • "is_selected": true
}

ERM eHoldings titles

Manage ERM eHoldings titles

List eholdings titles

koha-authorization: {"permissions":{"erm":1}}
path Parameters
provider
required
string

Provider name

query Parameters
title_id
integer

Case insensitive search on title title_id

publication_title
string

Case insensitive search on title publication_title

external_id
string

Case insensitive search on title external_id

print_identifier
string

Case insensitive search on title print_identifier

online_identifier
string

Case insensitive search on title online_identifier

date_first_issue_online
string

Case insensitive search on title date_first_issue_online

num_first_vol_online
string

Case insensitive search on title num_first_vol_online

num_first_issue_online
string

Case insensitive search on title num_first_issue_online

date_last_issue_online
string

Case insensitive search on title date_last_issue_online

num_last_vol_online
string

Case insensitive search on title num_last_vol_online

num_last_issue_online
string

Case insensitive search on title num_last_issue_online

title_url
string

Case insensitive search on title title_url

first_author
string

Case insensitive search on title first_author

embargo_info
string

Case insensitive search on title embargo_info

coverage_depth
string

Case insensitive search on title coverage_depth

notes
string

Case insensitive search on title notes

publisher_name
string

Case insensitive search on title publisher_name

publication_type
string

Case insensitive search on title publication_type

date_monograph_published_print
string

Case insensitive search on title date_monograph_published_print

date_monograph_published_online
string

Case insensitive search on title date_monograph_published_online

monograph_volume
string

Case insensitive search on title monograph_volume

monograph_edition
string

Case insensitive search on title monograph_edition

first_editor
string

Case insensitive search on title first_editor

parent_publication_title_id
string

Case insensitive search on title parent_publication_title_id

preceding_publication_title_id
string

Case insensitive search on title preceding_publication_title_id

access_type
string

Case insensitive search on title access_type

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Value: "resources.package"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add eholding

koha-authorization: {"permissions":{"erm":1}}
path Parameters
provider
required
string

Provider name

Request Body schema: application/json
required

A JSON object containing information about the new title

publication_title
required
string

publication_title of the title

external_id
string or null

External id of the title

print_identifier
string or null

print_identifier of the title

online_identifier
string or null

online_identifier of the title

date_first_issue_online
string or null

date_first_issue_online of the title

num_first_vol_online
string or null

num_first_vol_online of the title

num_first_issue_online
string or null

num_first_issue_online of the title

date_last_issue_online
string or null

date_last_issue_online of the title

num_last_vol_online
string or null

num_last_vol_online of the title

num_last_issue_online
string or null

num_last_issue_online of the title

title_url
string or null

title_url of the title

first_author
string or null

first_author of the title

embargo_info
string or null

embargo_info of the title

coverage_depth
string or null

coverage_depth of the title

notes
string or null

notes of the title

publisher_name
string or null

publisher_name of the title

publication_type
string or null

publication_type of the title

date_monograph_published_print
string or null

date_monograph_published_print of the title

date_monograph_published_online
string or null

date_monograph_published_online of the title

monograph_volume
string or null

monograph_volume of the title

monograph_edition
string or null

monograph_edition of the title

first_editor
string or null

first_editor of the title

parent_publication_title_id
string or null

parent_publication_title_id of the title

preceding_publication_title_id
string or null

preceding_publication_title_id of the title

access_type
string or null

access_type of the title

is_selected
boolean or null

if the title is selected in the KB

Array of objects (erm_eholdings_resource)

Resource containing this title

Array
title_id
integer or null

foreign key to the title

package_id
required
string or null

foreign key to the package

vendor_id
integer or null

foreign key to aqbooksellers

started_on
string or null

Start date

ended_on
string or null

End date

proxy
string or null

Proxy to access this resource

is_selected
boolean or null
title
object or null

Information about the title

package
object or null

Information about the package

vendor
object or null

Information about the vendor

create_linked_biblio
boolean or null

should a linked biblio be created

Responses

Request samples

Content type
application/json
{
  • "publication_title": "string",
  • "external_id": "string",
  • "print_identifier": "string",
  • "online_identifier": "string",
  • "date_first_issue_online": "string",
  • "num_first_vol_online": "string",
  • "num_first_issue_online": "string",
  • "date_last_issue_online": "string",
  • "num_last_vol_online": "string",
  • "num_last_issue_online": "string",
  • "title_url": "string",
  • "first_author": "string",
  • "embargo_info": "string",
  • "coverage_depth": "string",
  • "notes": "string",
  • "publisher_name": "string",
  • "publication_type": "string",
  • "date_monograph_published_print": "string",
  • "date_monograph_published_online": "string",
  • "monograph_volume": "string",
  • "monograph_edition": "string",
  • "first_editor": "string",
  • "parent_publication_title_id": "string",
  • "preceding_publication_title_id": "string",
  • "access_type": "string",
  • "is_selected": true,
  • "resources": [
    ],
  • "create_linked_biblio": true
}

Response samples

Content type
application/json
[
  • {
    }
]

Import local titles

koha-authorization: {"permissions":{"erm":1}}
Request Body schema: application/json
required

The list_id of the list to import

list_id
string
package_id
string

Responses

Request samples

Content type
application/json
{
  • "list_id": "string",
  • "package_id": "string"
}

Response samples

Content type
application/json
{
  • "job_id": "string"
}

Import local titles from a KBART file

koha-authorization: {"permissions":{"erm":1}}
Request Body schema: application/json
required

The file to import

file
object
package_id
string
create_linked_biblio
boolean

Responses

Request samples

Content type
application/json
{
  • "file": { },
  • "package_id": "string",
  • "create_linked_biblio": true
}

Response samples

Content type
application/json
{
  • "job_ids": [
    ],
  • "invalid_columns": [
    ],
  • "valid_columns": [
    ],
  • "invalid_filetype": 0,
  • "warnings": { }
}

Get titles

koha-authorization: {"permissions":{"erm":1}}
path Parameters
provider
required
string

Provider name

title_id
required
integer

Title internal identifier

header Parameters
x-koha-embed
Array of strings
Items Enum: "resources" "resources.package"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update titles

koha-authorization: {"permissions":{"erm":1}}
path Parameters
provider
required
string

Provider name

title_id
required
integer

Title internal identifier

header Parameters
x-koha-embed
Array of strings
Items Enum: "resources" "resources.package"

Embed list sent as a request header

Request Body schema: application/json
required

A JSON object containing new information about existing title

publication_title
required
string

publication_title of the title

external_id
string or null

External id of the title

print_identifier
string or null

print_identifier of the title

online_identifier
string or null

online_identifier of the title

date_first_issue_online
string or null

date_first_issue_online of the title

num_first_vol_online
string or null

num_first_vol_online of the title

num_first_issue_online
string or null

num_first_issue_online of the title

date_last_issue_online
string or null

date_last_issue_online of the title

num_last_vol_online
string or null

num_last_vol_online of the title

num_last_issue_online
string or null

num_last_issue_online of the title

title_url
string or null

title_url of the title

first_author
string or null

first_author of the title

embargo_info
string or null

embargo_info of the title

coverage_depth
string or null

coverage_depth of the title

notes
string or null

notes of the title

publisher_name
string or null

publisher_name of the title

publication_type
string or null

publication_type of the title

date_monograph_published_print
string or null

date_monograph_published_print of the title

date_monograph_published_online
string or null

date_monograph_published_online of the title

monograph_volume
string or null

monograph_volume of the title

monograph_edition
string or null

monograph_edition of the title

first_editor
string or null

first_editor of the title

parent_publication_title_id
string or null

parent_publication_title_id of the title

preceding_publication_title_id
string or null

preceding_publication_title_id of the title

access_type
string or null

access_type of the title

is_selected
boolean or null

if the title is selected in the KB

Array of objects (erm_eholdings_resource)

Resource containing this title

Array
title_id
integer or null

foreign key to the title

package_id
required
string or null

foreign key to the package

vendor_id
integer or null

foreign key to aqbooksellers

started_on
string or null

Start date

ended_on
string or null

End date

proxy
string or null

Proxy to access this resource

is_selected
boolean or null
title
object or null

Information about the title

package
object or null

Information about the package

vendor
object or null

Information about the vendor

create_linked_biblio
boolean or null

should a linked biblio be created

Responses

Request samples

Content type
application/json
{
  • "publication_title": "string",
  • "external_id": "string",
  • "print_identifier": "string",
  • "online_identifier": "string",
  • "date_first_issue_online": "string",
  • "num_first_vol_online": "string",
  • "num_first_issue_online": "string",
  • "date_last_issue_online": "string",
  • "num_last_vol_online": "string",
  • "num_last_issue_online": "string",
  • "title_url": "string",
  • "first_author": "string",
  • "embargo_info": "string",
  • "coverage_depth": "string",
  • "notes": "string",
  • "publisher_name": "string",
  • "publication_type": "string",
  • "date_monograph_published_print": "string",
  • "date_monograph_published_online": "string",
  • "monograph_volume": "string",
  • "monograph_edition": "string",
  • "first_editor": "string",
  • "parent_publication_title_id": "string",
  • "preceding_publication_title_id": "string",
  • "access_type": "string",
  • "is_selected": true,
  • "resources": [
    ],
  • "create_linked_biblio": true
}

Response samples

Content type
application/json
[
  • {
    }
]

Delete eHolding title

koha-authorization: {"permissions":{"erm":1}}
path Parameters
provider
required
string

Provider name

title_id
required
integer

Title internal identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

List eholdings resources

koha-authorization: {"permissions":{"erm":1}}
path Parameters
provider
required
string

Provider name

title_id
required
integer

Title internal identifier

query Parameters
resource_id
string

Case insensitive search on resource_id

started_on
string

Case insensitive search on started_on

ended_on
string

Case insensitive search on ended_on

proxy
string

Case insensitive search on proxy

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Value: "title.publication_title"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

ERM licences

Manage ERM licences

List licenses for agreements

koha-authorization: {"permissions":{"erm":1}}
query Parameters
license_id
integer

Case insensitive search on license license_id

vendor_id
integer

Case insensitive search on agreement vendor_id

name
string

Case insensitive search on license name

type
string

Case insensitive search on license type

status
string

Case insensitive search on license status

started_on
string

Case insensitive search on license start date

ended_on
string

Case insensitive search on license end date

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Enum: "vendor" "extended_attributes" "+strings"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add license

koha-authorization: {"permissions":{"erm":1}}
Request Body schema: application/json
required

A JSON object containing information about the new agreement's license

vendor_id
integer or null

foreign key to aqbooksellers

name
required
string

name of the license

description
string or null

description of the license

type
required
string

description of the license

status
required
string

status of the license

started_on
string or null <date>

Start of the license

ended_on
string or null <date>

End of the license

Array of objects (erm_user_role)

role for users

Array
user_role_id
integer

Internal user_role identifier

agreement_id
integer or null

Internal agreement identifier

license_id
integer or null

Internal license identifier

user_id
required
integer

Internal patron identifier

role
required
string

role of the user

patron
object or null
Array of objects (erm_document)

documents

Array
document_id
integer

internally assigned identifier

agreement_id
integer or null

Internal agreement identifier

license_id
integer or null

Internal license identifier

file_name
string or null

Name of the file

file_description
string or null

Description of the file

file_content
string or null

Content of the file

physical_location
string or null

Physical location of the document

uri
string or null

URI of the document

notes
string or null
vendor
object or null

Information about the vendor

Array of objects (extended_attribute_value)

Related additional field values

Array
field_id
integer

FK in corresponding to id in additional_fields table

record_id
string

ID corresponding to the object ID this additional field relates to

value
string

value of the additional field

_strings
object or null

Responses

Request samples

Content type
application/json
{
  • "vendor_id": 0,
  • "name": "string",
  • "description": "string",
  • "type": "string",
  • "status": "string",
  • "started_on": "2019-08-24",
  • "ended_on": "2019-08-24",
  • "user_roles": [
    ],
  • "documents": [
    ],
  • "vendor": { },
  • "extended_attributes": [
    ],
  • "_strings": { }
}

Response samples

Content type
application/json
[
  • {
    }
]

get license

koha-authorization: {"permissions":{"erm":1}}
path Parameters
license_id
required
integer

License internal identifier

header Parameters
x-koha-embed
Array of strings
Items Enum: "user_roles" "user_roles.patron" "vendor" "documents" "extended_attributes" "+strings"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
[
  • {
    }
]

update license

koha-authorization: {"permissions":{"erm":1}}
path Parameters
license_id
required
integer

License internal identifier

header Parameters
x-koha-embed
Array of strings
Items Enum: "user_roles" "documents" "extended_attributes" "+strings"

Embed list sent as a request header

Request Body schema: application/json
required

a json object containing new information about existing license

vendor_id
integer or null

foreign key to aqbooksellers

name
required
string

name of the license

description
string or null

description of the license

type
required
string

description of the license

status
required
string

status of the license

started_on
string or null <date>

Start of the license

ended_on
string or null <date>

End of the license

Array of objects (erm_user_role)

role for users

Array
user_role_id
integer

Internal user_role identifier

agreement_id
integer or null

Internal agreement identifier

license_id
integer or null

Internal license identifier

user_id
required
integer

Internal patron identifier

role
required
string

role of the user

patron
object or null
Array of objects (erm_document)

documents

Array
document_id
integer

internally assigned identifier

agreement_id
integer or null

Internal agreement identifier

license_id
integer or null

Internal license identifier

file_name
string or null

Name of the file

file_description
string or null

Description of the file

file_content
string or null

Content of the file

physical_location
string or null

Physical location of the document

uri
string or null

URI of the document

notes
string or null
vendor
object or null

Information about the vendor

Array of objects (extended_attribute_value)

Related additional field values

Array
field_id
integer

FK in corresponding to id in additional_fields table

record_id
string

ID corresponding to the object ID this additional field relates to

value
string

value of the additional field

_strings
object or null

Responses

Request samples

Content type
application/json
{
  • "vendor_id": 0,
  • "name": "string",
  • "description": "string",
  • "type": "string",
  • "status": "string",
  • "started_on": "2019-08-24",
  • "ended_on": "2019-08-24",
  • "user_roles": [
    ],
  • "documents": [
    ],
  • "vendor": { },
  • "extended_attributes": [
    ],
  • "_strings": { }
}

Response samples

Content type
application/json
[
  • {
    }
]

Delete license

koha-authorization: {"permissions":{"erm":1}}
path Parameters
license_id
required
integer

License internal identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

ERM SUSHI services

Retrieve SUSHI service data

Get the details for a sushi service from the counter registry

koha-authorization: {"permissions":{"erm":1}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

ERM usage data providers

Manage ERM usage data providers

List usage_data_providers

koha-authorization: {"permissions":{"erm":1}}
query Parameters
usage_data_provider_id
integer

Case insensitive search on usage_data_provider usage_data_provider_id

name
string

Case insensitive search on usage_data_provider name

description
string

Case insensitive search on usage_data_provider description

active
integer

Case insensitive search on usage_data_provider active

method
string

Case insensitive search on usage_data_provider method

aggregator
string

Case insensitive search on usage_data_provider aggregator

service_type
string

Case insensitive search on usage_data_provider service_type

service_url
string

Case insensitive search on usage_data_provider service_url

report_release
string

Case insensitive search on usage_data_provider report_release

customer_id
string

Case insensitive search on usage_data_provider customer_id

requestor_id
string

Case insensitive search on usage_data_provider requestor_id

api_key
string

Case insensitive search on usage_data_provider api_key

requestor_name
string

Case insensitive search on usage_data_provider requestor_name

requestor_email
string

Case insensitive search on usage_data_provider requestor_email

report_types
string

Case insensitive search on usage_data_provider report_types

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Value: "counter_files"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add usage_data_provider

koha-authorization: {"permissions":{"erm":1}}
Request Body schema: application/json
required

A JSON object containing information about the new usage_data_provider

name
required
string

name of the data provider

description
string or null

description of the data provider

active
integer or null

status of the harvester

method
string or null

method of the harvester

aggregator
string or null

aggregator of the harvester

service_type
string or null

service_type of the harvester

service_url
required
string or null

service_url of the harvester

report_release
required
string or null

report_release of the harvester

customer_id
required
string or null

customer_id of the harvester

requestor_id
required
string or null

requestor_id of the harvester

api_key
string or null

api_key of the harvester

requestor_name
string or null

requestor_name of the harvester

requestor_email
string or null

requestor_email of the harvester

report_types
string or null

report types of the harvester

service_platform
string or null

service platform of the harvester

metric_type
string or null

metric type of the harvester when reporting

Array of objects (erm_counter_file)

counter files

Array
usage_data_provider_id
required
integer

usage_data_provider_id of the counter_files

type
string or null

type of the counter_files

filename
required
string

filename

file_content
required
string

file_content

date_uploaded
string <date-time>

Timestamp for the date of upload

Array of objects (erm_counter_log)

counter logs

Array of objects (erm_usage_title)

usage titles

Array
title
required
string or null

title of the title

usage_data_provider_id
required
integer

usage_data_provider the title is harvested by

title_doi
string or null

doi number of the title

proprietary_id
string or null

proprietary_id of the title

platform
string or null

platform of the title

print_issn
string or null

print_issn number of the title

online_issn
string or null

online_issn number of the title

title_uri
string or null

title_uri number of the title

provider_name
string or null

provider_name of the title

metric_type
string or null

metric_type of the title data

publisher
string or null

publisher of the title data

publisher_id
string or null

publisher_id of the title data

isbn
string or null

isbn of the title

Array of objects (erm_usage_mus)

usage mus

Array of objects (erm_usage_yus)

usage yus

Array of objects (erm_usage_item)

usage items

Array
item
required
string or null

item of the item

usage_data_provider_id
required
integer

usage_data_provider the item is harvested by

platform
string or null

name of the platform

publisher
string or null

publisher of the item data

Array of objects (erm_usage_mus)

usage mus

Array of objects (erm_usage_yus)

usage yus

Array of objects (erm_usage_platform)

usage platforms

Array
platform
required
string or null

title of the platform

usage_data_provider_id
required
integer

usage_data_provider the platform is harvested by

Array of objects (erm_usage_mus)

usage mus

Array of objects (erm_usage_yus)

usage yus

Array of objects (erm_usage_database)

usage databases

Array
database
required
string or null

name of the database

usage_data_provider_id
required
integer

usage_data_provider the database is harvested by

platform
string or null

name of the platform

publisher
string or null

publisher of the database data

publisher_id
string or null

publisher_id of the database data

Array of objects (erm_usage_mus)

usage mus

Array of objects (erm_usage_yus)

usage yus

earliest_title
string or null

time period of data harvested

latest_title
string or null

time period of data harvested

earliest_platform
string or null

time period of data harvested

latest_platform
string or null

time period of data harvested

earliest_item
string or null

time period of data harvested

latest_item
string or null

time period of data harvested

earliest_database
string or null

time period of data harvested

latest_database
string or null

time period of data harvested

last_run
string or null

last time the harvester was run

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "active": 0,
  • "method": "string",
  • "aggregator": "string",
  • "service_type": "string",
  • "service_url": "string",
  • "report_release": "string",
  • "customer_id": "string",
  • "requestor_id": "string",
  • "api_key": "string",
  • "requestor_name": "string",
  • "requestor_email": "string",
  • "report_types": "string",
  • "service_platform": "string",
  • "metric_type": "string",
  • "counter_files": [
    ],
  • "erm_usage_titles": [
    ],
  • "erm_usage_items": [
    ],
  • "erm_usage_platforms": [
    ],
  • "erm_usage_databases": [
    ],
  • "earliest_title": "string",
  • "latest_title": "string",
  • "earliest_platform": "string",
  • "latest_platform": "string",
  • "earliest_item": "string",
  • "latest_item": "string",
  • "earliest_database": "string",
  • "latest_database": "string",
  • "last_run": "string"
}

Response samples

Content type
application/json
[
  • {
    }
]

get usage_data_provider

koha-authorization: {"permissions":{"erm":1}}
path Parameters
erm_usage_data_provider_id
required
integer

ERM usage_data_provider internal identifier

header Parameters
x-koha-embed
Array of strings
Items Enum: "counter_files" "erm_usage_titles.erm_usage_muses"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
[
  • {
    }
]

update usage_data_provider

koha-authorization: {"permissions":{"erm":1}}
path Parameters
erm_usage_data_provider_id
required
integer

ERM usage_data_provider internal identifier

header Parameters
x-koha-embed
Array of strings

Embed list sent as a request header

Request Body schema: application/json
required

a json object containing new information about existing usage_data_provider

name
required
string

name of the data provider

description
string or null

description of the data provider

active
integer or null

status of the harvester

method
string or null

method of the harvester

aggregator
string or null

aggregator of the harvester

service_type
string or null

service_type of the harvester

service_url
required
string or null

service_url of the harvester

report_release
required
string or null

report_release of the harvester

customer_id
required
string or null

customer_id of the harvester

requestor_id
required
string or null

requestor_id of the harvester

api_key
string or null

api_key of the harvester

requestor_name
string or null

requestor_name of the harvester

requestor_email
string or null

requestor_email of the harvester

report_types
string or null

report types of the harvester

service_platform
string or null

service platform of the harvester

metric_type
string or null

metric type of the harvester when reporting

Array of objects (erm_counter_file)

counter files

Array
usage_data_provider_id
required
integer

usage_data_provider_id of the counter_files

type
string or null

type of the counter_files

filename
required
string

filename

file_content
required
string

file_content

date_uploaded
string <date-time>

Timestamp for the date of upload

Array of objects (erm_counter_log)

counter logs

Array of objects (erm_usage_title)

usage titles

Array
title
required
string or null

title of the title

usage_data_provider_id
required
integer

usage_data_provider the title is harvested by

title_doi
string or null

doi number of the title

proprietary_id
string or null

proprietary_id of the title

platform
string or null

platform of the title

print_issn
string or null

print_issn number of the title

online_issn
string or null

online_issn number of the title

title_uri
string or null

title_uri number of the title

provider_name
string or null

provider_name of the title

metric_type
string or null

metric_type of the title data

publisher
string or null

publisher of the title data

publisher_id
string or null

publisher_id of the title data

isbn
string or null

isbn of the title

Array of objects (erm_usage_mus)

usage mus

Array of objects (erm_usage_yus)

usage yus

Array of objects (erm_usage_item)

usage items

Array
item
required
string or null

item of the item

usage_data_provider_id
required
integer

usage_data_provider the item is harvested by

platform
string or null

name of the platform

publisher
string or null

publisher of the item data

Array of objects (erm_usage_mus)

usage mus

Array of objects (erm_usage_yus)

usage yus

Array of objects (erm_usage_platform)

usage platforms

Array
platform
required
string or null

title of the platform

usage_data_provider_id
required
integer

usage_data_provider the platform is harvested by

Array of objects (erm_usage_mus)

usage mus

Array of objects (erm_usage_yus)

usage yus

Array of objects (erm_usage_database)

usage databases

Array
database
required
string or null

name of the database

usage_data_provider_id
required
integer

usage_data_provider the database is harvested by

platform
string or null

name of the platform

publisher
string or null

publisher of the database data

publisher_id
string or null

publisher_id of the database data

Array of objects (erm_usage_mus)

usage mus

Array of objects (erm_usage_yus)

usage yus

earliest_title
string or null

time period of data harvested

latest_title
string or null

time period of data harvested

earliest_platform
string or null

time period of data harvested

latest_platform
string or null

time period of data harvested

earliest_item
string or null

time period of data harvested

latest_item
string or null

time period of data harvested

earliest_database
string or null

time period of data harvested

latest_database
string or null

time period of data harvested

last_run
string or null

last time the harvester was run

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "active": 0,
  • "method": "string",
  • "aggregator": "string",
  • "service_type": "string",
  • "service_url": "string",
  • "report_release": "string",
  • "customer_id": "string",
  • "requestor_id": "string",
  • "api_key": "string",
  • "requestor_name": "string",
  • "requestor_email": "string",
  • "report_types": "string",
  • "service_platform": "string",
  • "metric_type": "string",
  • "counter_files": [
    ],
  • "erm_usage_titles": [
    ],
  • "erm_usage_items": [
    ],
  • "erm_usage_platforms": [
    ],
  • "erm_usage_databases": [
    ],
  • "earliest_title": "string",
  • "latest_title": "string",
  • "earliest_platform": "string",
  • "latest_platform": "string",
  • "earliest_item": "string",
  • "latest_item": "string",
  • "earliest_database": "string",
  • "latest_database": "string",
  • "last_run": "string"
}

Response samples

Content type
application/json
[
  • {
    }
]

Delete usage_data_provider

koha-authorization: {"permissions":{"erm":1}}
path Parameters
erm_usage_data_provider_id
required
integer

ERM usage_data_provider internal identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Process SUSHI COUNTER for this data provider's harvester

koha-authorization: {"permissions":{"erm":1}}
path Parameters
erm_usage_data_provider_id
required
integer

ERM usage_data_provider internal identifier

Request Body schema: application/json
required

A JSON object with the begin and end dates

begin_date
string <date>

begin date of the harvest

end_date
string <date>

end date of the harvest

Responses

Request samples

Content type
application/json
{
  • "begin_date": "2019-08-24",
  • "end_date": "2019-08-24"
}

Response samples

Content type
application/json
[
  • {
    }
]

Process COUNTER file upload for this data provider's harvester

koha-authorization: {"permissions":{"erm":1}}
path Parameters
erm_usage_data_provider_id
required
integer

ERM usage_data_provider internal identifier

Request Body schema: application/json
required

A JSON object containing information about the new counter_file

usage_data_provider_id
required
integer

usage_data_provider_id of the counter_files

type
string or null

type of the counter_files

filename
required
string

filename

file_content
required
string

file_content

date_uploaded
string <date-time>

Timestamp for the date of upload

Array of objects (erm_counter_log)

counter logs

Array
counter_files_id
required
integer or null

counter_files_id of the counter_log

borrowernumber
required
integer or null

borrowernumber of the counter_log

importdate
string <date-time>

Timestamp for the date of upload

filename
required
string or null

filename of the counter_file

logdetails
string or null

logdetails of the counter_log

usage_data_provider_id
integer or null

logdetails of the counter_log

Responses

Request samples

Content type
application/json
{
  • "usage_data_provider_id": 0,
  • "type": "string",
  • "filename": "string",
  • "file_content": "string",
  • "date_uploaded": "2019-08-24T14:15:22Z",
  • "counter_logs": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Test this data provider's harvester

koha-authorization: {"permissions":{"erm":1}}
path Parameters
erm_usage_data_provider_id
required
integer

ERM usage_data_provider internal identifier

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ERM usage databases

Manage ERM usage databases

List usage_databases

koha-authorization: {"permissions":{"erm":1}}
query Parameters
database_id
integer

Case insensitive search on usage_database database_id

database
string

Case insensitive search on usage_database database

usage_data_provider_id
string

Case insensitive search on usage_database usage_data_provider_id

platform
string

Case insensitive search on usage_database platform

publisher
string

Case insensitive search on usage_database publisher

publisher_id
string

Case insensitive search on usage_title publisher_id

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Enum: "erm_usage_muses" "erm_usage_yuses"

Embed list sent as a request header

x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

ERM usage items

Manage ERM usage items

List usage_items

koha-authorization: {"permissions":{"erm":1}}
query Parameters
item_id
integer

Case insensitive search on usage_item item_id

item
string

Case insensitive search on usage_item item

usage_data_provider_id
string

Case insensitive search on usage_item usage_data_provider_id

platform
string

Case insensitive search on usage_item platform

publisher
string

Case insensitive search on usage_item publisher

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Enum: "erm_usage_muses" "erm_usage_yuses"

Embed list sent as a request header

x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

ERM usage platforms

Manage ERM usage platforms

List usage_platforms

koha-authorization: {"permissions":{"erm":1}}
query Parameters
platform_id
integer

Case insensitive search on usage_platform platform_id

platform
string

Case insensitive search on usage_platform platform

usage_data_provider_id
string

Case insensitive search on usage_platform usage_data_provider_id

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Enum: "erm_usage_muses" "erm_usage_yuses"

Embed list sent as a request header

x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

ERM usage titles

Manage ERM usage titles

List usage_titles

koha-authorization: {"permissions":{"erm":1}}
query Parameters
title_id
integer

Case insensitive search on usage_title title_id

title
string

Case insensitive search on usage_title title

usage_data_provider_id
string

Case insensitive search on usage_title usage_data_provider_id

title_doi
string

Case insensitive search on usage_title title_doi

print_issn
string

Case insensitive search on usage_title print_issn

online_issn
string

Case insensitive search on usage_title online_issn

title_uri
string

Case insensitive search on usage_title title_uri

publisher
string

Case insensitive search on usage_title publisher

publisher_id
string

Case insensitive search on usage_title publisher_id

yop
string

Case insensitive search on usage_title yop

isbn
string

Case insensitive search on usage_title isbn

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Enum: "erm_usage_muses" "erm_usage_yuses"

Embed list sent as a request header

x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

ERM usage reports

Manage ERM usage reports

get usage monthly report

koha-authorization: {"permissions":{"erm":1}}
path Parameters
data_type
required
string

ERM custom report data type

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Value: "erm_usage_muses"

Embed list sent as a request header

x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

get usage yearly report

koha-authorization: {"permissions":{"erm":1}}
path Parameters
data_type
required
string

ERM custom report data type

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Value: "erm_usage_yuses"

Embed list sent as a request header

x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

get usage metric_types report

koha-authorization: {"permissions":{"erm":1}}
path Parameters
data_type
required
string

ERM custom report data type

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Value: "erm_usage_muses"

Embed list sent as a request header

x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

get usage provider rollup report

koha-authorization: {"permissions":{"erm":1}}
path Parameters
data_type
required
string

ERM custom report data type

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Enum: "erm_usage_titles.erm_usage_muses" "erm_usage_platforms.erm_usage_muses" "erm_usage_databases.erm_usage_muses" "erm_usage_items.erm_usage_muses"

Embed list sent as a request header

x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

ERM users

Manage ERM users

List possibe users for ERM

This resource returns a list of patron allowed to be users of the ERM module

koha-authorization: {"permissions":{"erm":1}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Enum: "extended_attributes" "library"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Funds

Manage funds for the acquisitions module

List funds

koha-authorization: {"permissions":{"acquisition":"budget_manage_all"}}
query Parameters
name
string

Case insensitive search on fund name

fund_owner_id
integer

Display only the funds that belongs to the given patron ID

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

List possibe owners for funds

This resource returns a list of patron allowed to be owner of funds

koha-authorization: {"permissions":{"acquisition":"budget_modify"}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Enum: "extended_attributes" "library"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

List possibe users for funds

This resource returns a list of patron allowed to be owner of funds

koha-authorization: {"permissions":{"acquisition":"budget_modify"}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Enum: "extended_attributes" "library"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Holds

Manage holds

List holds

koha-authorization: {"permissions":{"reserveforothers":"place_holds"}}
query Parameters
hold_id
integer

Internal hold identifier

patron_id
integer

Internal patron identifier

hold_date
string <date>

Hold

biblio_id
integer

Internal biblio identifier

item_group_id
integer

Internal item group identifier

pickup_library_id
string

Internal library identifier for the pickup library

cancellation_date
string <date>

The date the hold was cancelled

notes
string

Notes related to this hold

priority
integer

Where in the queue the patron sits

status
string

Found status

timestamp
string

Time of latest update

item_id
integer

Internal item identifier

waiting_date
string

Date the item was marked as waiting for the patron

expiration_date
string

Date the hold expires

lowest_priority
boolean

Lowest priority

suspended
boolean

Suspended

suspended_until
string

Suspended until

non_priority
boolean

Non priority hold

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

old
boolean

By default, current holds are returned, when this is true then old holds are returned as result.

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Enum: "cancellation_requested" "biblio" "pickup_library"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Place hold

koha-authorization: {"permissions":{"reserveforothers":"1"}}
header Parameters
x-koha-override
Array of strings
Items Value: "any"

Overrides list sent as a request header

Request Body schema: application/json
required

A JSON object containing informations about the new hold

patron_id
required
integer

Internal patron identifier

biblio_id
integer or null

Internal biblio identifier

item_group_id
integer or null

Internal item group identifier

hold_date
string or null <date>

The date the hold was placed

item_id
integer or null

Internal item identifier

pickup_library_id
required
string

Internal library identifier for the pickup library

expiration_date
string or null <date>

Hold end date

notes
string or null

Notes related to this hold

item_type
string or null

Limit hold on one itemtype (ignored for item-level holds)

non_priority
boolean or null

Set this hold as non priority

Responses

Request samples

Content type
application/json
{
  • "patron_id": 0,
  • "biblio_id": 0,
  • "item_group_id": 0,
  • "hold_date": "2019-08-24",
  • "item_id": 0,
  • "pickup_library_id": "string",
  • "expiration_date": "2019-08-24",
  • "notes": "string",
  • "item_type": "string",
  • "non_priority": true
}

Response samples

Content type
application/json
{
  • "hold_id": 0,
  • "patron_id": 0,
  • "hold_date": "2019-08-24",
  • "biblio_id": 0,
  • "deleted_biblio_id": 0,
  • "item_group_id": "string",
  • "pickup_library_id": "string",
  • "desk_id": 0,
  • "cancellation_date": "2019-08-24",
  • "cancellation_reason": "string",
  • "notes": "string",
  • "priority": 0,
  • "status": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "item_id": 0,
  • "waiting_date": "2019-08-24",
  • "expiration_date": "2019-08-24",
  • "lowest_priority": true,
  • "suspended": true,
  • "suspended_until": "2019-08-24T14:15:22Z",
  • "non_priority": true,
  • "item_type": "string",
  • "item_level": true,
  • "cancellation_requested": true,
  • "biblio": { },
  • "item": { },
  • "pickup_library": { }
}

Update hold

koha-authorization: {"permissions":{"reserveforothers":"1"}}
path Parameters
hold_id
required
integer

Internal hold identifier

Request Body schema: application/json
required

A JSON object containing fields to modify

priority
integer >= 1

Position in waiting queue

pickup_library_id
string

Internal library identifier for the pickup library

suspended_until
string <date-time>

Date until which the hold has been suspended

hold_date
string <date>

Hold date

expiration_date
string <date>

Hold's expiration date

Responses

Request samples

Content type
application/json
{
  • "priority": 1,
  • "pickup_library_id": "string",
  • "suspended_until": "2019-08-24T14:15:22Z",
  • "hold_date": "2019-08-24",
  • "expiration_date": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "hold_id": 0,
  • "patron_id": 0,
  • "hold_date": "2019-08-24",
  • "biblio_id": 0,
  • "deleted_biblio_id": 0,
  • "item_group_id": "string",
  • "pickup_library_id": "string",
  • "desk_id": 0,
  • "cancellation_date": "2019-08-24",
  • "cancellation_reason": "string",
  • "notes": "string",
  • "priority": 0,
  • "status": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "item_id": 0,
  • "waiting_date": "2019-08-24",
  • "expiration_date": "2019-08-24",
  • "lowest_priority": true,
  • "suspended": true,
  • "suspended_until": "2019-08-24T14:15:22Z",
  • "non_priority": true,
  • "item_type": "string",
  • "item_level": true,
  • "cancellation_requested": true,
  • "biblio": { },
  • "item": { },
  • "pickup_library": { }
}

Update hold

This route is being deprecated and will be removed in future releases. Please migrate your project to use PATCH /holds/{hold_id} instead.

koha-authorization: {"permissions":{"reserveforothers":"1"}}
path Parameters
hold_id
required
integer

Internal hold identifier

Request Body schema: application/json
required

A JSON object containing fields to modify

priority
integer >= 1

Position in waiting queue

pickup_library_id
string

Internal library identifier for the pickup library

suspended_until
string <date-time>

Date until which the hold has been suspended

Responses

Request samples

Content type
application/json
{
  • "priority": 1,
  • "pickup_library_id": "string",
  • "suspended_until": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "hold_id": 0,
  • "patron_id": 0,
  • "hold_date": "2019-08-24",
  • "biblio_id": 0,
  • "deleted_biblio_id": 0,
  • "item_group_id": "string",
  • "pickup_library_id": "string",
  • "desk_id": 0,
  • "cancellation_date": "2019-08-24",
  • "cancellation_reason": "string",
  • "notes": "string",
  • "priority": 0,
  • "status": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "item_id": 0,
  • "waiting_date": "2019-08-24",
  • "expiration_date": "2019-08-24",
  • "lowest_priority": true,
  • "suspended": true,
  • "suspended_until": "2019-08-24T14:15:22Z",
  • "non_priority": true,
  • "item_type": "string",
  • "item_level": true,
  • "cancellation_requested": true,
  • "biblio": { },
  • "item": { },
  • "pickup_library": { }
}

Cancel hold

koha-authorization: {"permissions":{"reserveforothers":"place_holds"}}
path Parameters
hold_id
required
integer

Internal hold identifier

header Parameters
x-koha-override
Array of strings
Items Value: "cancellation-request-flow"

Overrides list sent as a request header

Request Body schema: application/json

Cancellation reason

string

Responses

Request samples

Content type
application/json
"string"

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Update pickup location for the hold

Set a new pickup location for the hold

koha-authorization: {"permissions":{"reserveforothers":"place_holds"}}
path Parameters
hold_id
required
integer

Internal hold identifier

Request Body schema: application/json
required

Pickup location

pickup_library_id
string

Internal identifier for the pickup library

Responses

Request samples

Content type
application/json
{
  • "pickup_library_id": "string"
}

Response samples

Content type
application/json
{
  • "pickup_library_id": "string"
}

Get valid pickup locations for hold

koha-authorization: {"permissions":{"reserveforothers":"place_holds"}}
path Parameters
hold_id
required
integer

Internal hold identifier

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-override
Array of strings
Items Value: "any"

Overrides list sent as a request header

x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Update priority for the hold

koha-authorization: {"permissions":{"reserveforothers":"modify_holds_priority"}}
path Parameters
hold_id
required
integer

Internal hold identifier

Request Body schema: application/json
required

An integer representing the new priority to be set for the hold

integer

Responses

Request samples

Content type
application/json
0
0

Response samples

Content type
application/json
0
0

Suspend the hold

koha-authorization: {"permissions":{"reserveforothers":"place_holds"}}
path Parameters
hold_id
required
integer

Internal hold identifier

Request Body schema: application/json

A JSON object containing fields to modify

end_date
string <date>

Date the hold suspension expires

Responses

Request samples

Content type
application/json
{
  • "end_date": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Resume hold

koha-authorization: {"permissions":{"reserveforothers":"place_holds"}}
path Parameters
hold_id
required
integer

Internal hold identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

List holds for a patron

koha-authorization: {"permissions":{"borrowers":"edit_borrowers"}}
path Parameters
patron_id
required
integer

Internal patron identifier

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

old
boolean

By default, current holds are returned, when this is true then old holds are returned as result.

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Enum: "cancellation_requested" "biblio" "item" "pickup_library" "pickup_library.branchname"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Identity providers

Manage identity providers

List configured identity providers

koha-authorization: {"permissions":{"parameters":"manage_identity_providers"}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Value: "domains"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add a new identity provider

koha-authorization: {"permissions":{"parameters":"manage_identity_providers"}}
Request Body schema: application/json
required

A JSON object containing OAuth provider parameters.

The config object required attributes depends on the chosen protocol

OAuth

Requires:

  • key
  • secret
  • authorize_url
  • token_url

OIDC

Requires:

  • key
  • secret
  • well_known_url
code
required
string

Identity provider code

description
string

User-oriented description for the provider

protocol
required
string
Enum: "OAuth" "OIDC" "CAS (not implemented)" "LDAP (not implemented)"

Authentication protocol

mapping
object or null

Attribute mapping

matchpoint
string
Enum: "email" "userid" "cardnumber"

Patron attribute that will be used to match

config
required
object

Configuration

icon_url
string or null

Icon url

domains
Array of any or null

Configured domains for the identity provider

Responses

Request samples

Content type
application/json
{
  • "code": "string",
  • "description": "string",
  • "protocol": "OAuth",
  • "mapping": { },
  • "matchpoint": "email",
  • "config": { },
  • "icon_url": "string",
  • "domains": [
    ]
}

Response samples

Content type
application/json
{
  • "identity_provider_id": 0,
  • "code": "string",
  • "description": "string",
  • "protocol": "OAuth",
  • "mapping": { },
  • "matchpoint": "email",
  • "config": { },
  • "icon_url": "string",
  • "domains": [
    ]
}

Get identity provider

koha-authorization: {"permissions":{"parameters":"manage_identity_providers"}}
path Parameters
identity_provider_id
required
integer

Identity provider internal identifier

header Parameters
x-koha-embed
Array of strings
Items Value: "domains"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
{
  • "identity_provider_id": 0,
  • "code": "string",
  • "description": "string",
  • "protocol": "OAuth",
  • "mapping": { },
  • "matchpoint": "email",
  • "config": { },
  • "icon_url": "string",
  • "domains": [
    ]
}

Update an identity provider

koha-authorization: {"permissions":{"parameters":"manage_identity_providers"}}
path Parameters
identity_provider_id
required
integer

Identity provider internal identifier

Request Body schema: application/json
required

A JSON object containing OAuth provider parameters.

The config object required attributes depends on the chosen protocol

OAuth

Requires:

  • key
  • secret
  • authorize_url
  • token_url

OIDC

Requires:

  • key
  • secret
  • well_known_url
code
required
string

Identity provider code

description
string

User-oriented description for the provider

protocol
required
string
Enum: "OAuth" "OIDC" "CAS (not implemented)" "LDAP (not implemented)"

Authentication protocol

mapping
object or null

Attribute mapping

matchpoint
string
Enum: "email" "userid" "cardnumber"

Patron attribute that will be used to match

config
required
object

Configuration

icon_url
string or null

Icon url

domains
Array of any or null

Configured domains for the identity provider

Responses

Request samples

Content type
application/json
{
  • "code": "string",
  • "description": "string",
  • "protocol": "OAuth",
  • "mapping": { },
  • "matchpoint": "email",
  • "config": { },
  • "icon_url": "string",
  • "domains": [
    ]
}

Response samples

Content type
application/json
{
  • "identity_provider_id": 0,
  • "code": "string",
  • "description": "string",
  • "protocol": "OAuth",
  • "mapping": { },
  • "matchpoint": "email",
  • "config": { },
  • "icon_url": "string",
  • "domains": [
    ]
}

Delete identity provider

koha-authorization: {"permissions":{"parameters":"manage_identity_providers"}}
path Parameters
identity_provider_id
required
integer

Identity provider internal identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Get identity provider configured domains

koha-authorization: {"permissions":{"parameters":"manage_identity_providers"}}
path Parameters
identity_provider_id
required
integer

Identity provider internal identifier

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Value: "domains"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add an identity provider domain

koha-authorization: {"permissions":{"parameters":"manage_identity_providers"}}
path Parameters
identity_provider_id
required
integer

Identity provider internal identifier

Request Body schema: application/json
required

An identity provider domain object

identity_provider_id
integer

Internally assigned identity provider identifier

domain
required
string or null

Matching domain ('*' used as wildcard)

auto_register
required
boolean

If patrons will be generated on login if required

update_on_auth
required
boolean

If patron data is updated on login

default_library_id
required
string or null

Internal identifier for the default library to be assigned to the new patrons

default_category_id
required
string or null

Internal identifier for the default patron's category

allow_opac
required
boolean

If this domain can be used for OPAC login

allow_staff
required
boolean

If this domain can be used for staff login

Responses

Request samples

Content type
application/json
{
  • "identity_provider_id": 0,
  • "domain": "string",
  • "auto_register": true,
  • "update_on_auth": true,
  • "default_library_id": "string",
  • "default_category_id": "string",
  • "allow_opac": true,
  • "allow_staff": true
}

Response samples

Content type
application/json
{
  • "identity_provider_domain_id": 0,
  • "identity_provider_id": 0,
  • "domain": "string",
  • "auto_register": true,
  • "update_on_auth": true,
  • "default_library_id": "string",
  • "default_category_id": "string",
  • "allow_opac": true,
  • "allow_staff": true
}

Get identity provider domain

koha-authorization: {"permissions":{"parameters":"manage_identity_providers"}}
path Parameters
identity_provider_id
required
integer

Identity provider internal identifier

identity_provider_domain_id
required
integer

Identity provider domain internal identifier

Responses

Response samples

Content type
application/json
{
  • "identity_provider_domain_id": 0,
  • "identity_provider_id": 0,
  • "domain": "string",
  • "auto_register": true,
  • "update_on_auth": true,
  • "default_library_id": "string",
  • "default_category_id": "string",
  • "allow_opac": true,
  • "allow_staff": true
}

Update an identity provider domain

koha-authorization: {"permissions":{"parameters":"manage_identity_providers"}}
path Parameters
identity_provider_id
required
integer

Identity provider internal identifier

identity_provider_domain_id
required
integer

Identity provider domain internal identifier

Request Body schema: application/json
required

An identity provider domain object

identity_provider_id
integer

Internally assigned identity provider identifier

domain
required
string or null

Matching domain ('*' used as wildcard)

auto_register
required
boolean

If patrons will be generated on login if required

update_on_auth
required
boolean

If patron data is updated on login

default_library_id
required
string or null

Internal identifier for the default library to be assigned to the new patrons

default_category_id
required
string or null

Internal identifier for the default patron's category

allow_opac
required
boolean

If this domain can be used for OPAC login

allow_staff
required
boolean

If this domain can be used for staff login

Responses

Request samples

Content type
application/json
{
  • "identity_provider_id": 0,
  • "domain": "string",
  • "auto_register": true,
  • "update_on_auth": true,
  • "default_library_id": "string",
  • "default_category_id": "string",
  • "allow_opac": true,
  • "allow_staff": true
}

Response samples

Content type
application/json
{
  • "identity_provider_domain_id": 0,
  • "identity_provider_id": 0,
  • "domain": "string",
  • "auto_register": true,
  • "update_on_auth": true,
  • "default_library_id": "string",
  • "default_category_id": "string",
  • "allow_opac": true,
  • "allow_staff": true
}

Delete identity provider

koha-authorization: {"permissions":{"parameters":"manage_identity_providers"}}
path Parameters
identity_provider_id
required
integer

Identity provider internal identifier

identity_provider_domain_id
required
integer

Identity provider domain internal identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

ILL backends

Manage ILL module backends

List ILL backends

koha-authorization: {"permissions":{"ill":"1"}}
header Parameters
x-koha-embed
Array of strings
Items Value: "statuses+strings"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get ILL backend

koha-authorization: {"permissions":{"ill":"1"}}
path Parameters
ill_backend_id
required
string

ILL backend id/name

header Parameters
x-koha-embed
Array of strings
Items Value: "statuses+strings"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
{
  • "ill_backend_id": "string",
  • "capabilities": { },
  • "statuses": [
    ]
}

ILL batches

Manage ILL module batches

List ILL batches

koha-authorization: {"permissions":{"ill":"1"}}
query Parameters
_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Enum: "+strings" "requests" "requests+count" "patron" "library"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add ILL batch

koha-authorization: {"permissions":{"ill":"1"}}
header Parameters
x-koha-embed
Array of strings
Items Enum: "+strings" "requests" "requests+count" "patron" "library"

Embed list sent as a request header

Request Body schema: application/json
required

A JSON object containing informations about the new batch

ill_batch_id
integer

Internal ILL batch identifier

name
required
string

Name of the ILL batch

backend
required
string

Backend name

cardnumber
string

Library assigned user identifier of the ILL batch

patron_id
string

Internal identifier the patron of the ILL batch

library_id
required
string

Internal identifier for the ILL batch's library

status_code
required
string

Code of the status of the ILL batch

patron
object or null

The patron associated with the batch

library
object or null

The library associated with the batch

requests
Array of any or null

The requests in this batch (x-koha-embed)

requests_count
integer or null

The number of requests in this batch (x-koha-embed)

status
object or null

The status associated with the batch (x-koha-embed)

_strings
object or null

Expanded coded fields (x-koha-embed)

Responses

Request samples

Content type
application/json
{
  • "ill_batch_id": 0,
  • "name": "string",
  • "backend": "string",
  • "cardnumber": "string",
  • "patron_id": "string",
  • "library_id": "string",
  • "status_code": "string",
  • "patron": { },
  • "library": { },
  • "requests": [
    ],
  • "requests_count": 0,
  • "status": { },
  • "_strings": { }
}

Response samples

Content type
application/json
{
  • "ill_batch_id": 0,
  • "name": "string",
  • "backend": "string",
  • "cardnumber": "string",
  • "patron_id": "string",
  • "library_id": "string",
  • "status_code": "string",
  • "patron": { },
  • "library": { },
  • "requests": [
    ],
  • "requests_count": 0,
  • "status": { },
  • "_strings": { }
}

Get ILL batch

koha-authorization: {"permissions":{"ill":"1"}}
path Parameters
ill_batch_id
required
string

ILL batch id/name/contents

query Parameters
_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Enum: "+strings" "requests" "requests+count" "patron" "library"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "ill_batch_id": 0,
  • "name": "string",
  • "backend": "string",
  • "cardnumber": "string",
  • "patron_id": "string",
  • "library_id": "string",
  • "status_code": "string",
  • "patron": { },
  • "library": { },
  • "requests": [
    ],
  • "requests_count": 0,
  • "status": { },
  • "_strings": { }
}

Update batch

koha-authorization: {"permissions":{"ill":"1"}}
path Parameters
ill_batch_id
required
integer

Internal ILL batch identifier

Request Body schema: application/json
required

A JSON object containing information on the batch

ill_batch_id
integer

Internal ILL batch identifier

name
required
string

Name of the ILL batch

backend
required
string

Backend name

cardnumber
string

Library assigned user identifier of the ILL batch

patron_id
string

Internal identifier the patron of the ILL batch

library_id
required
string

Internal identifier for the ILL batch's library

status_code
required
string

Code of the status of the ILL batch

patron
object or null

The patron associated with the batch

library
object or null

The library associated with the batch

requests
Array of any or null

The requests in this batch (x-koha-embed)

requests_count
integer or null

The number of requests in this batch (x-koha-embed)

status
object or null

The status associated with the batch (x-koha-embed)

_strings
object or null

Expanded coded fields (x-koha-embed)

Responses

Request samples

Content type
application/json
{
  • "ill_batch_id": 0,
  • "name": "string",
  • "backend": "string",
  • "cardnumber": "string",
  • "patron_id": "string",
  • "library_id": "string",
  • "status_code": "string",
  • "patron": { },
  • "library": { },
  • "requests": [
    ],
  • "requests_count": 0,
  • "status": { },
  • "_strings": { }
}

Response samples

Content type
application/json
{
  • "ill_batch_id": 0,
  • "name": "string",
  • "backend": "string",
  • "cardnumber": "string",
  • "patron_id": "string",
  • "library_id": "string",
  • "status_code": "string",
  • "patron": { },
  • "library": { },
  • "requests": [
    ],
  • "requests_count": 0,
  • "status": { },
  • "_strings": { }
}

Delete ILL batch

koha-authorization: {"permissions":{"ill":"1"}}
path Parameters
ill_batch_id
required
integer

Internal ILL batch identifier

Responses

Response samples

Content type
application/json
"string"

ILL batch statuses

Manage ILL module batch statuses

List ILL batch statuses

koha-authorization: {"permissions":{"ill":"1"}}

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add ILL batch status

koha-authorization: {"permissions":{"ill":"1"}}
Request Body schema: application/json
required

A JSON object containing informations about the new batch status

id
string

Internal ILL batch status identifier

name
required
string

Status name

code
required
string

Unique, immutable status code

is_system
required
boolean

Is this status required for system operation

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "code": "string",
  • "is_system": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "code": "string",
  • "is_system": true
}

Get ILL batch status

koha-authorization: {"permissions":{"ill":"1"}}
path Parameters
ill_batchstatus_code
required
string

ILL batch status

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "code": "string",
  • "is_system": true
}

Update batch status

koha-authorization: {"permissions":{"ill":"1"}}
path Parameters
ill_batchstatus_code
required
string

Internal ILL batch status identifier

Request Body schema: application/json
required

A JSON object containing information on the batch status

id
string

Internal ILL batch status identifier

name
required
string

Status name

code
required
string

Unique, immutable status code

is_system
required
boolean

Is this status required for system operation

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "code": "string",
  • "is_system": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "code": "string",
  • "is_system": true
}

Delete ILL batch status

koha-authorization: {"permissions":{"ill":"1"}}
path Parameters
ill_batchstatus_code
required
string

Internal ILL batch status identifier

Responses

Response samples

Content type
application/json
"string"

ILL requests

Manage ILL requests

List ILL requests

koha-authorization: {"permissions":{"ill":"1"}}
query Parameters
_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Enum: "+strings" "biblio" "comments" "comments+count" "extended_attributes" "ill_batch" "library" "id_prefix" "patron"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add ILL request

koha-authorization: {"permissions":{"ill":"1"}}
Request Body schema: application/json
required

A JSON object containing informations about the new request

ill_request_id
integer

Internal ILL request identifier

biblio_id
integer or null

Internal bibliographic record identifier

ill_batch_id
integer or null

Batch id this requests belongs to

patron_id
integer or null

Internal patron id

due_date
string or null <date-time>

Date and time the request item should be due when checked out

library_id
string

Internal library identifier

requested_date
string or null <date>

Date the request was placed by the patron

replied_date
string or null <date>

FIXME

timestamp
string <date-time>

Date and time of last object update

completed_date
string or null <date>

Date the request was marked as completed

access_url
string or null

A URL for accessing the item

status
string

The status the request is at.

Note: This is defined by each backend. Please refer to the specific backend's documentation or code to understand the possible values.

medium
string or null

Description of the ILL item medium

cost
string or null

Default request cost

paid_price
string or null

Effective request cost

opac_notes
string or null

Note that is visible to the patron

staff_notes
string or null

Interal staff note about the request

ill_backend_id
string

The ILL backend identifier string

ill_backend_request_id
string or null

Backend-specific request id

status_av
string or null

The authorised value category the field is linked to

biblio
object or null

The linked biblio object (x-koha-embed)

comments
Array of any or null

The linked comment objects (x-koha-embed)

comments_count
integer or null

The linked comment objects count (x-koha-embed)

extended_attributes
Array of any or null

The linked extended ill request attributes (x-koha-embed)

ill_batch
object or null

The linked ill batch object (x-koha-embed)

library
object or null

The linked library object (x-koha-embed)

id_prefix
string or null

The id_prefix of the request (x-koha-embed)

patron
object or null

The linked patron object (x-koha-embed)

_strings
object or null

Expanded coded fiels (x-koha-embed)

Responses

Request samples

Content type
application/json
{
  • "ill_request_id": 0,
  • "biblio_id": 0,
  • "ill_batch_id": 0,
  • "patron_id": 0,
  • "due_date": "2019-08-24T14:15:22Z",
  • "library_id": "string",
  • "requested_date": "2019-08-24",
  • "replied_date": "2019-08-24",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "completed_date": "2019-08-24",
  • "access_url": "string",
  • "status": "string",
  • "medium": "string",
  • "cost": "string",
  • "paid_price": "string",
  • "opac_notes": "string",
  • "staff_notes": "string",
  • "ill_backend_id": "string",
  • "ill_backend_request_id": "string",
  • "status_av": "string",
  • "biblio": { },
  • "comments": [
    ],
  • "comments_count": 0,
  • "extended_attributes": [
    ],
  • "ill_batch": { },
  • "library": { },
  • "id_prefix": "string",
  • "patron": { },
  • "_strings": { }
}

Response samples

Content type
application/json
{
  • "ill_request_id": 0,
  • "biblio_id": 0,
  • "ill_batch_id": 0,
  • "patron_id": 0,
  • "due_date": "2019-08-24T14:15:22Z",
  • "library_id": "string",
  • "requested_date": "2019-08-24",
  • "replied_date": "2019-08-24",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "completed_date": "2019-08-24",
  • "access_url": "string",
  • "status": "string",
  • "medium": "string",
  • "cost": "string",
  • "paid_price": "string",
  • "opac_notes": "string",
  • "staff_notes": "string",
  • "ill_backend_id": "string",
  • "ill_backend_request_id": "string",
  • "status_av": "string",
  • "biblio": { },
  • "comments": [
    ],
  • "comments_count": 0,
  • "extended_attributes": [
    ],
  • "ill_batch": { },
  • "library": { },
  • "id_prefix": "string",
  • "patron": { },
  • "_strings": { }
}

Import batches

Manage import batches

Set the chosen match for an import record ID

koha-authorization: {"permissions":{"tools":"manage_staged_marc"}}
path Parameters
import_batch_id
required
integer

An import_batch ID

import_record_id
required
integer

An import_record ID

Request Body schema: application/json
required

A JSON object containing fields to modify

candidate_match_id
integer

Candidate match to choose

Responses

Request samples

Content type
application/json
{
  • "candidate_match_id": 0
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Unset the chosen match for an import record ID

koha-authorization: {"permissions":{"tools":"manage_staged_marc"}}
path Parameters
import_batch_id
required
integer

An import_batch ID

import_record_id
required
integer

An import_record ID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Item groups

Manage item groups

List item_groups

koha-authorization: {"permissions":{"catalogue":"manage_item_groups"}}
path Parameters
biblio_id
required
string

Internal identifier for the parent bibliographic record

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Value: "items"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Add item group

koha-authorization: {"permissions":{"catalogue":"manage_item_groups"}}
path Parameters
biblio_id
required
string

Internal identifier for the parent bibliographic record

Request Body schema: application/json
required

A JSON object representing an item group

description
string

ItemGroup description

display_order
integer

Position in waiting queue

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "display_order": 0
}

Get item group

koha-authorization: {"permissions":{"catalogue":"manage_item_groups"}}
path Parameters
biblio_id
required
string

Internal identifier for the parent bibliographic record

item_group_id
required
string

Internal identifier for the item_group

header Parameters
x-koha-embed
Array of strings
Items Value: "items"

Embed list sent as a request header

Responses

Update item group

koha-authorization: {"permissions":{"catalogue":"manage_item_groups"}}
path Parameters
biblio_id
required
string

Internal identifier for the parent bibliographic record

item_group_id
required
string

Internal identifier for the item group

header Parameters
x-koha-embed
Array of strings
Items Value: "items"

Embed list sent as a request header

Request Body schema: application/json
required

A JSON object with the new values for the item group

description
string

ItemGroup description

display_order
integer

Position in waiting queue

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "display_order": 0
}

Delete item group

koha-authorization: {"permissions":{"catalogue":"manage_item_groups"}}
path Parameters
biblio_id
required
string

Internal identifier for the parent bibliographic record

item_group_id
required
string

Internal identifier for the item group

Responses

Add item to item group

koha-authorization: {"permissions":{"catalogue":"manage_item_groups"}}
path Parameters
biblio_id
required
string

Internal identifier for the parent bibliographic record

item_group_id
required
string

Internal identifier for the item group

header Parameters
x-koha-embed
Array of strings
Items Value: "items"

Embed list sent as a request header

Request Body schema: application/json
required

A JSON object containing an item_id

item_id
integer

Internal identifier for an item to be linked

Responses

Request samples

Content type
application/json
{
  • "item_id": 0
}

Delete item from item group

koha-authorization: {"permissions":{"catalogue":"manage_item_groups"}}
path Parameters
biblio_id
required
string

Internal identifier for the parent bibliographic record

item_group_id
required
string

Internal identifier for the item group

item_id
required
string

Internal identifier for the item

Responses

Record source

Manage record sources

List record sources

koha-authorization: {"permissions":{"parameters":"manage_record_sources"}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Value: "usage_count"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add a record source

koha-authorization: {"permissions":{"parameters":"manage_record_sources"}}
Request Body schema: application/json
required

A JSON object containing informations about the new record source

name
required
string

Record source name

can_be_edited
boolean

If records from this source can be edited

usage_count
integer

Record source usage count (x-koha-embed)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "can_be_edited": true,
  • "usage_count": 0
}

Response samples

Content type
application/json
{
  • "record_source_id": 0,
  • "name": "string",
  • "can_be_edited": true,
  • "usage_count": 0
}

Get a record source

koha-authorization: {"permissions":{"parameters":"manage_record_sources"}}
path Parameters
record_source_id
required
integer

Internal record source identifier

Responses

Response samples

Content type
application/json
{
  • "record_source_id": 0,
  • "name": "string",
  • "can_be_edited": true,
  • "usage_count": 0
}

Update a record source

koha-authorization: {"permissions":{"parameters":"manage_record_sources"}}
path Parameters
record_source_id
required
integer

Internal record source identifier

Request Body schema: application/json
required

A JSON object containing informations about the new record source

name
required
string

Record source name

can_be_edited
boolean

If records from this source can be edited

usage_count
integer

Record source usage count (x-koha-embed)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "can_be_edited": true,
  • "usage_count": 0
}

Response samples

Content type
application/json
{
  • "record_source_id": 0,
  • "name": "string",
  • "can_be_edited": true,
  • "usage_count": 0
}

Delete a record source

koha-authorization: {"permissions":{"parameters":"manage_record_sources"}}
path Parameters
record_source_id
required
integer

Internal record source identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Items

Manage items

List items

koha-authorization: {"permissions":{"catalogue":"1"}}
query Parameters
external_id
string

Search on the item's barcode

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Enum: "+strings" "biblio" "effective_bookable"

Embed list sent as a request header

x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Get item

koha-authorization: {"permissions":{"catalogue":"1"}}
path Parameters
item_id
required
integer

Internal item identifier

header Parameters
x-koha-embed
Array of strings
Items Enum: "+strings" "effective_bookable"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
{
  • "item_id": 0,
  • "biblio_id": 0,
  • "external_id": "string",
  • "acquisition_date": "2019-08-24",
  • "acquisition_source": "string",
  • "bookable": true,
  • "effective_bookable": true,
  • "home_library_id": "string",
  • "purchase_price": 0,
  • "replacement_price": 0,
  • "replacement_price_date": "2019-08-24",
  • "last_checkout_date": "2019-08-24",
  • "last_seen_date": "2019-08-24T14:15:22Z",
  • "not_for_loan_status": 0,
  • "effective_not_for_loan_status": 0,
  • "damaged_status": 0,
  • "damaged_date": "string",
  • "lost_status": 0,
  • "lost_date": "2019-08-24T14:15:22Z",
  • "withdrawn": 0,
  • "withdrawn_date": "2019-08-24T14:15:22Z",
  • "callnumber": "string",
  • "coded_location_qualifier": "string",
  • "checkouts_count": 0,
  • "renewals_count": 0,
  • "localuse": 0,
  • "holds_count": 0,
  • "restricted_status": 0,
  • "public_notes": "string",
  • "internal_notes": "string",
  • "holding_library_id": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "location": "string",
  • "permanent_location": "string",
  • "checked_out_date": "2019-08-24",
  • "call_number_source": "string",
  • "call_number_sort": "string",
  • "collection_code": "string",
  • "materials_notes": "string",
  • "shelving_control_number": 0,
  • "uri": "string",
  • "item_type_id": "string",
  • "effective_item_type_id": "string",
  • "extended_subfields": "string",
  • "serial_issue_number": "string",
  • "copy_number": "string",
  • "inventory_number": "string",
  • "new_status": "string",
  • "exclude_from_local_holds_priority": true,
  • "return_claims": [
    ],
  • "return_claim": { },
  • "home_library": { },
  • "holding_library": { },
  • "cover_image_ids": [
    ],
  • "item_group_item": { },
  • "serial_item": { },
  • "biblio": { },
  • "checkout": { },
  • "transfer": { },
  • "first_hold": { },
  • "recall": { },
  • "item_type": { },
  • "in_bundle": true,
  • "bundle_host": { },
  • "bundle_items_lost_count": 0,
  • "bundle_items_not_lost_count": 0,
  • "course_item": { },
  • "analytics_count": 0,
  • "_strings": { }
}

Delete item

koha-authorization: {"permissions":{"editcatalogue":"edit_catalogue"}}
path Parameters
item_id
required
integer

Internal item identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Get existing bookings for an item

koha-authorization: {"permissions":{"circulation":1}}
path Parameters
item_id
required
integer

Internal item identifier

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add item to bundle

koha-authorization: {"permissions":{"catalogue":1}}
path Parameters
item_id
required
integer

Internal item identifier

Request Body schema: application/json
required

A JSON object containing information about the new bundle link

item_id
integer or null

Internal item identifier

external_id
string or null

Item barcode

force_checkin
boolean or null
ignore_holds
boolean or null
marc_link
boolean

Is there a MARC link for this item

Responses

Request samples

Content type
application/json
{
  • "item_id": 0,
  • "external_id": "string",
  • "force_checkin": true,
  • "ignore_holds": true,
  • "marc_link": true
}

Response samples

Content type
application/json
[
  • {
    }
]

List bundled items

koha-authorization: {"permissions":{"catalogue":"1"}}
path Parameters
item_id
required
integer

Internal item identifier

query Parameters
external_id
string

Search on the item's barcode

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Enum: "biblio" "checkout" "return_claims" "return_claim" "return_claim.patron"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Remove item from bundle

koha-authorization: {"permissions":{"catalogue":1}}
path Parameters
item_id
required
integer

Internal item identifier

bundled_item_id
required
string

Internal identifier for the bundled item

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Get valid pickup locations for an item

koha-authorization: {"permissions":{"reserveforothers":"place_holds"}}
path Parameters
item_id
required
integer

Internal item identifier

query Parameters
patron_id
required
integer

Internal patron identifier

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

List items publically visible

query Parameters
external_id
string

Search on the item's barcode

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Enum: "+strings" "biblio"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

getBiblioItemsPublic

path Parameters
biblio_id
required
integer

Record internal identifier

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Value: "+strings"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Item Types

Manage item types

List item types

koha-authorization: {"permissions":{"catalogue":1}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Value: "translated_descriptions"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Jobs

Manage jobs

List jobs

koha-authorization: {"permissions":{"catalogue":"1"}}
query Parameters
only_current
boolean

Only include current jobs

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Get a job

koha-authorization: {"permissions":{"catalogue":"1"}}
path Parameters
job_id
required
integer

Job internal identifier

Responses

Response samples

Content type
application/json
{
  • "job_id": 0,
  • "status": "string",
  • "progress": "string",
  • "size": "string",
  • "patron_id": "string",
  • "type": "string",
  • "queue": "string",
  • "data": { },
  • "context": { },
  • "enqueued_date": "2019-08-24T14:15:22Z",
  • "started_date": "2019-08-24T14:15:22Z",
  • "ended_date": "2019-08-24T14:15:22Z"
}

Libraries

Manage libraries

List libraries

koha-authorization: {"permissions":{"catalogue":"1"}}
query Parameters
name
string

Case insensitive 'starts-with' search on name

address1
string

Case insensitive 'starts-with' search on address1

address2
string

Case insensitive 'starts-with' search on address2

address3
string

Case insensitive 'starts-with' search on address3

postal_code
string

Case insensitive 'starts-with' search on postal code

city
string

Case insensitive 'starts-with' search on city

state
string

Case insensitive 'starts-with' search on state

country
string

Case insensitive 'starts_with' search on country

phone
string

Case insensitive 'starts_with' search on phone number

fax
string

Case insensitive 'starts_with' search on fax number

email
string

Case insensitive 'starts_with' search on email address

reply_to_email
string

Case insensitive 'starts_with' search on Reply-To email address

return_path_email
string

Case insensitive 'starts_with' search on Return-Path email address

url
string

Case insensitive 'starts_with' search on website URL

ip
string

Case insensitive 'starts_with' search on IP address

notes
string

Case insensitive 'starts_with' search on notes

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Enum: "cash_registers" "desks" "smtp_server" "library_hours"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add library

koha-authorization: {"permissions":{"parameters":"manage_libraries"}}
Request Body schema: application/json
required

A JSON object containing informations about the new library

library_id
required
string [ 1 .. 10 ] characters

internally assigned library identifier

name
required
string

Printable name of library

address1
string or null

the first address line of the library

address2
string or null

the second address line of the library

address3
string or null

the third address line of the library

postal_code
string or null

the postal code of the library

city
string or null

the city or province of the library

state
string or null

the reqional state of the library

country
string or null

the county of the library

phone
string or null

the primary phone of the library

fax
string or null

the fax number of the library

email
string or null

the primary email address of the library

ill_email
string or null

the ILL staff email address of the library

reply_to_email
string or null

the email to be used as a Reply-To

return_path_email
string or null

the email to be used as Return-Path

url
string or null

the URL for your library or branch's website

ip
string or null

the IP address for your library or branch

notes
string or null

notes related to your library or branch

geolocation
string or null

geolocation of your library

marc_org_code
string or null

MARC Organization Code, see http://www.loc.gov/marc/organizations/orgshome.html, when empty defaults to syspref MARCOrgCode

pickup_location
boolean

If the library can act as a pickup location

pickup_items
Array of integers or null

Array of items available for pickup at this library if the library is marked as a pickup location

public
boolean

If the library is visible to the public

smtp_server
object or null

The library effective SMTP server

needs_override
boolean

If the library needs an override to act as pickup location for a hold

library_hours
Array of any or null

The open and close times for a library on any given day

cash_registers
Array of any or null

The library's defined cash registers (x-koha-embed)

desks
Array of any or null

The library's defined desks (x-koha-embed)

Responses

Request samples

Content type
application/json
{
  • "library_id": "string",
  • "name": "string",
  • "address1": "string",
  • "address2": "string",
  • "address3": "string",
  • "postal_code": "string",
  • "city": "string",
  • "state": "string",
  • "country": "string",
  • "phone": "string",
  • "fax": "string",
  • "email": "string",
  • "ill_email": "string",
  • "reply_to_email": "string",
  • "return_path_email": "string",
  • "url": "string",
  • "ip": "string",
  • "notes": "string",
  • "geolocation": "string",
  • "marc_org_code": "string",
  • "pickup_location": true,
  • "pickup_items": [
    ],
  • "public": true,
  • "smtp_server": { },
  • "needs_override": true,
  • "library_hours": [
    ],
  • "cash_registers": [
    ],
  • "desks": [
    ]
}

Response samples

Content type
application/json
{
  • "library_id": "string",
  • "name": "string",
  • "address1": "string",
  • "address2": "string",
  • "address3": "string",
  • "postal_code": "string",
  • "city": "string",
  • "state": "string",
  • "country": "string",
  • "phone": "string",
  • "fax": "string",
  • "email": "string",
  • "ill_email": "string",
  • "reply_to_email": "string",
  • "return_path_email": "string",
  • "url": "string",
  • "ip": "string",
  • "notes": "string",
  • "geolocation": "string",
  • "marc_org_code": "string",
  • "pickup_location": true,
  • "pickup_items": [
    ],
  • "public": true,
  • "smtp_server": { },
  • "needs_override": true,
  • "library_hours": [
    ],
  • "cash_registers": [
    ],
  • "desks": [
    ]
}

Get library

koha-authorization: {"permissions":{"catalogue":"1"}}
path Parameters
library_id
required
string

Internal library identifier

header Parameters
x-koha-embed
Array of strings
Items Enum: "cash_registers" "desks" "smtp_server" "library_hours"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
{
  • "library_id": "string",
  • "name": "string",
  • "address1": "string",
  • "address2": "string",
  • "address3": "string",
  • "postal_code": "string",
  • "city": "string",
  • "state": "string",
  • "country": "string",
  • "phone": "string",
  • "fax": "string",
  • "email": "string",
  • "ill_email": "string",
  • "reply_to_email": "string",
  • "return_path_email": "string",
  • "url": "string",
  • "ip": "string",
  • "notes": "string",
  • "geolocation": "string",
  • "marc_org_code": "string",
  • "pickup_location": true,
  • "pickup_items": [
    ],
  • "public": true,
  • "smtp_server": { },
  • "needs_override": true,
  • "library_hours": [
    ],
  • "cash_registers": [
    ],
  • "desks": [
    ]
}

Update library

koha-authorization: {"permissions":{"parameters":"manage_libraries"}}
path Parameters
library_id
required
string

Internal library identifier

Request Body schema: application/json
required

A JSON object containing information on the library

library_id
required
string [ 1 .. 10 ] characters

internally assigned library identifier

name
required
string

Printable name of library

address1
string or null

the first address line of the library

address2
string or null

the second address line of the library

address3
string or null

the third address line of the library

postal_code
string or null

the postal code of the library

city
string or null

the city or province of the library

state
string or null

the reqional state of the library

country
string or null

the county of the library

phone
string or null

the primary phone of the library

fax
string or null

the fax number of the library

email
string or null

the primary email address of the library

ill_email
string or null

the ILL staff email address of the library

reply_to_email
string or null

the email to be used as a Reply-To

return_path_email
string or null

the email to be used as Return-Path

url
string or null

the URL for your library or branch's website

ip
string or null

the IP address for your library or branch

notes
string or null

notes related to your library or branch

geolocation
string or null

geolocation of your library

marc_org_code
string or null

MARC Organization Code, see http://www.loc.gov/marc/organizations/orgshome.html, when empty defaults to syspref MARCOrgCode

pickup_location
boolean

If the library can act as a pickup location

pickup_items
Array of integers or null

Array of items available for pickup at this library if the library is marked as a pickup location

public
boolean

If the library is visible to the public

smtp_server
object or null

The library effective SMTP server

needs_override
boolean

If the library needs an override to act as pickup location for a hold

library_hours
Array of any or null

The open and close times for a library on any given day

cash_registers
Array of any or null

The library's defined cash registers (x-koha-embed)

desks
Array of any or null

The library's defined desks (x-koha-embed)

Responses

Request samples

Content type
application/json
{
  • "library_id": "string",
  • "name": "string",
  • "address1": "string",
  • "address2": "string",
  • "address3": "string",
  • "postal_code": "string",
  • "city": "string",
  • "state": "string",
  • "country": "string",
  • "phone": "string",
  • "fax": "string",
  • "email": "string",
  • "ill_email": "string",
  • "reply_to_email": "string",
  • "return_path_email": "string",
  • "url": "string",
  • "ip": "string",
  • "notes": "string",
  • "geolocation": "string",
  • "marc_org_code": "string",
  • "pickup_location": true,
  • "pickup_items": [
    ],
  • "public": true,
  • "smtp_server": { },
  • "needs_override": true,
  • "library_hours": [
    ],
  • "cash_registers": [
    ],
  • "desks": [
    ]
}

Response samples

Content type
application/json
{
  • "library_id": "string",
  • "name": "string",
  • "address1": "string",
  • "address2": "string",
  • "address3": "string",
  • "postal_code": "string",
  • "city": "string",
  • "state": "string",
  • "country": "string",
  • "phone": "string",
  • "fax": "string",
  • "email": "string",
  • "ill_email": "string",
  • "reply_to_email": "string",
  • "return_path_email": "string",
  • "url": "string",
  • "ip": "string",
  • "notes": "string",
  • "geolocation": "string",
  • "marc_org_code": "string",
  • "pickup_location": true,
  • "pickup_items": [
    ],
  • "public": true,
  • "smtp_server": { },
  • "needs_override": true,
  • "library_hours": [
    ],
  • "cash_registers": [
    ],
  • "desks": [
    ]
}

Delete library

koha-authorization: {"permissions":{"parameters":"manage_libraries"}}
path Parameters
library_id
required
string

Internal library identifier

Responses

Response samples

Content type
application/json
"string"

List libraries

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Get library (public)

path Parameters
library_id
required
string

Internal library identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Lists

Manage lists

List bibliographic lists

This resource returns a list of existing bibliographic lists.

query Parameters
only_mine
string

Only return the users' lists

only_public
string

Only return public lists

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Macros

Manage macros

List advanced editor macros

koha-authorization: {"permissions":{"editcatalogue":"advanced_editor"}}
query Parameters
name
string

Case insensative search on macro name

macro_text
string

Case insensative search on macro text

patron_id
string

Search on internal patron_id

shared
string

Search on shared macros

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add advanced editor macros

koha-authorization: {"permissions":{"editcatalogue":"advanced_editor"}}
Request Body schema: application/json
required

A JSON object containing informations about the new macro

name
required
string

macro name

macro_text
required
string or null

macro text

patron_id
required
integer or null

borrower number

shared
required
boolean or null

is macro shared

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "macro_text": "string",
  • "patron_id": 0,
  • "shared": true
}

Response samples

Content type
application/json
{
  • "macro_id": 0,
  • "name": "string",
  • "macro_text": "string",
  • "patron_id": 0,
  • "shared": true
}

Add shared advanced editor macros

koha-authorization: {"permissions":{"editcatalogue":{"advanced_editor":1,"create_shared_macros":1}}}
Request Body schema: application/json
required

A JSON object containing informations about the new macro

name
required
string

macro name

macro_text
required
string or null

macro text

patron_id
required
integer or null

borrower number

shared
required
boolean or null

is macro shared

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "macro_text": "string",
  • "patron_id": 0,
  • "shared": true
}

Response samples

Content type
application/json
{
  • "macro_id": 0,
  • "name": "string",
  • "macro_text": "string",
  • "patron_id": 0,
  • "shared": true
}

Get shared advanced editor macro

koha-authorization: {"permissions":{"editcatalogue":"advanced_editor"}}
path Parameters
advancededitormacro_id
required
integer

Advanced editor macro internal identifier

Responses

Response samples

Content type
application/json
{
  • "macro_id": 0,
  • "name": "string",
  • "macro_text": "string",
  • "patron_id": 0,
  • "shared": true
}

Update shared advanced editor macro

koha-authorization: {"permissions":{"editcatalogue":{"advanced_editor":1,"create_shared_macros":1}}}
path Parameters
advancededitormacro_id
required
integer

Advanced editor macro internal identifier

Request Body schema: application/json
required

An advanced editor macro object

name
required
string

macro name

macro_text
required
string or null

macro text

patron_id
required
integer or null

borrower number

shared
required
boolean or null

is macro shared

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "macro_text": "string",
  • "patron_id": 0,
  • "shared": true
}

Response samples

Content type
application/json
{
  • "macro_id": 0,
  • "name": "string",
  • "macro_text": "string",
  • "patron_id": 0,
  • "shared": true
}

Delete shared advanced editor macro

koha-authorization: {"permissions":{"editcatalogue":{"advanced_editor":1,"delete_shared_macros":1}}}
path Parameters
advancededitormacro_id
required
integer

Advanced editor macro internal identifier

Responses

Response samples

Content type
application/json
"string"

Get advanced editor macro

koha-authorization: {"permissions":{"editcatalogue":"advanced_editor"}}
path Parameters
advancededitormacro_id
required
integer

Advanced editor macro internal identifier

Responses

Response samples

Content type
application/json
{
  • "macro_id": 0,
  • "name": "string",
  • "macro_text": "string",
  • "patron_id": 0,
  • "shared": true
}

Update advanced editor macro

koha-authorization: {"permissions":{"editcatalogue":"advanced_editor"}}
path Parameters
advancededitormacro_id
required
integer

Advanced editor macro internal identifier

Request Body schema: application/json
required

An advanced editor macro object

name
required
string

macro name

macro_text
required
string or null

macro text

patron_id
required
integer or null

borrower number

shared
required
boolean or null

is macro shared

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "macro_text": "string",
  • "patron_id": 0,
  • "shared": true
}

Response samples

Content type
application/json
{
  • "macro_id": 0,
  • "name": "string",
  • "macro_text": "string",
  • "patron_id": 0,
  • "shared": true
}

Delete advanced editor macro

koha-authorization: {"permissions":{"editcatalogue":"advanced_editor"}}
path Parameters
advancededitormacro_id
required
integer

Advanced editor macro internal identifier

Responses

Response samples

Content type
application/json
"string"

Orders

Manage acquisition orders

List orders

koha-authorization: {"permissions":{"acquisition":["order_manage","order_manage_all","order_receive"]}}
query Parameters
biblio_id
integer

Identifier for a linked bibliographic record

basket_id
integer

Identifier for a linked acquisition basket

fund_id
integer

Identifier for the fund the order goes against

status
string

Current status for the order. Can be 'new', 'ordered', 'partial', 'complete' or 'cancelled'

only_active
boolean

If only active orders should be listed

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Enum: "basket" "basket.basket_group" "basket.creator" "biblio" "biblio.uncancelled_orders+count" "biblio.holds+count" "biblio.items+count" "biblio.suggestions.suggester" "creator" "fund" "fund.budget" "current_item_level_holds+count" "invoice" "items" "items+strings" "subscription"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add order

koha-authorization: {"permissions":{"acquisition":"order_manage"}}
Request Body schema: application/json
required

A JSON object representing an order

order_id
integer

Internally assigned order identifier

biblio_id
integer or null

Identifier for the linked bibliographic record

deleted_biblio_id
integer or null

Identifier for the linked deleted bibliographic record

created_by
integer or null

Interal patron identifier of the order line creator

entry_date
string or null <date>

Date the bib was added to the basket

quantity
integer or null

Ordered quantity

currency
string or null

Currency used for the purchase

list_price
number or null

Vendor price for the line item

replacement_price
number or null

Replacement cost for this item

date_received
string or null <date>

Date the order was received

invoice_id
integer or null

Id of the order invoice

shipping_cost
number or null

Shipping cost

unit_price
number or null

The actual cost entered when receiving this line item

unit_price_tax_excluded
number or null

Unit price excluding tax (on receiving)

unit_price_tax_included
number or null

Unit price including tax (on receiving)

quantity_received
integer

Quantity received so far

cancellation_date
string or null <date>

Date the line item was deleted

cancellation_reason
string or null

Reason of cancellation

internal_note
string or null

Notes related to this order line, made for staff

vendor_note
string or null

Notes related to this order line, made for vendor

basket_id
integer or null

Basket this order is linked to

timestamp
string <date-time>

Date and time this order line was last modified

rrp
number or null

Retail cost for this item

rrp_tax_excluded
number or null

Replacement cost for this item (tax excluded)

rrp_tax_included
number or null

Replacement cost for this item (tax included)

ecost
number or null

Effective cost

ecost_tax_excluded
number or null

Effective cost (tax excluded)

ecost_tax_included
number or null

Effective cost (tax included)

tax_rate_on_ordering
number or null

Tax rate on ordering (%)

tax_rate_on_receiving
number or null

Tax rate on receiving (%)

tax_value_on_ordering
number or null

Tax value on ordering

tax_value_on_receiving
number or null

Tax value on receiving

discount_rate
number or null

Discount rate

fund_id
integer

Internal identifier for the fund this order goes against

statistics_1
string or null

Statistical field

statistics_2
string or null

Statistical field (2)

statistics_1_authcat
string or null

Statistical category for this order

statistics_2_authcat
string or null

Statistical category for this order (2)

uncertain_price
boolean

If this price was uncertain

claims_count
integer

Generated claim letters count

last_claim_date
string or null <date>

Last date a claim letter was generated

subscription_id
integer or null

Subscription ID linking the order to a subscription

parent_order_id
integer or null

Order ID of parent order line if exists

status
string
Enum: "new" "ordered" "partial" "complete" "cancelled"

The current order status

basket
object or null
biblio
object or null
current_item_level_holds_count
integer

Current holds count for associated items

estimated_delivery_date
string or null <date>

Estimated delivery date

invoice_unit_price
number or null

The actual cost in the foreign currency used in the invoice

invoice_currency
string or null

Currency of the actual cost used when receiving

fund
object or null
invoice
object or null
items
Array of any
subscription
object or null
creator
object or null

Patron that created the order

Responses

Request samples

Content type
application/json
{
  • "order_id": 0,
  • "biblio_id": 0,
  • "deleted_biblio_id": 0,
  • "created_by": 0,
  • "entry_date": "2019-08-24",
  • "quantity": 0,
  • "currency": "string",
  • "list_price": 0,
  • "replacement_price": 0,
  • "date_received": "2019-08-24",
  • "invoice_id": 0,
  • "shipping_cost": 0,
  • "unit_price": 0,
  • "unit_price_tax_excluded": 0,
  • "unit_price_tax_included": 0,
  • "quantity_received": 0,
  • "cancellation_date": "2019-08-24",
  • "cancellation_reason": "string",
  • "internal_note": "string",
  • "vendor_note": "string",
  • "basket_id": 0,
  • "timestamp": "2019-08-24T14:15:22Z",
  • "rrp": 0,
  • "rrp_tax_excluded": 0,
  • "rrp_tax_included": 0,
  • "ecost": 0,
  • "ecost_tax_excluded": 0,
  • "ecost_tax_included": 0,
  • "tax_rate_on_ordering": 0,
  • "tax_rate_on_receiving": 0,
  • "tax_value_on_ordering": 0,
  • "tax_value_on_receiving": 0,
  • "discount_rate": 0,
  • "fund_id": 0,
  • "statistics_1": "string",
  • "statistics_2": "string",
  • "statistics_1_authcat": "string",
  • "statistics_2_authcat": "string",
  • "uncertain_price": true,
  • "claims_count": 0,
  • "last_claim_date": "2019-08-24",
  • "subscription_id": 0,
  • "parent_order_id": 0,
  • "status": "new",
  • "basket": { },
  • "biblio": { },
  • "current_item_level_holds_count": 0,
  • "estimated_delivery_date": "2019-08-24",
  • "invoice_unit_price": 0,
  • "invoice_currency": "string",
  • "fund": { },
  • "invoice": { },
  • "items": [
    ],
  • "subscription": { },
  • "creator": { }
}

Response samples

Content type
application/json
{
  • "order_id": 0,
  • "biblio_id": 0,
  • "deleted_biblio_id": 0,
  • "created_by": 0,
  • "entry_date": "2019-08-24",
  • "quantity": 0,
  • "currency": "string",
  • "list_price": 0,
  • "replacement_price": 0,
  • "date_received": "2019-08-24",
  • "invoice_id": 0,
  • "shipping_cost": 0,
  • "unit_price": 0,
  • "unit_price_tax_excluded": 0,
  • "unit_price_tax_included": 0,
  • "quantity_received": 0,
  • "cancellation_date": "2019-08-24",
  • "cancellation_reason": "string",
  • "internal_note": "string",
  • "vendor_note": "string",
  • "basket_id": 0,
  • "timestamp": "2019-08-24T14:15:22Z",
  • "rrp": 0,
  • "rrp_tax_excluded": 0,
  • "rrp_tax_included": 0,
  • "ecost": 0,
  • "ecost_tax_excluded": 0,
  • "ecost_tax_included": 0,
  • "tax_rate_on_ordering": 0,
  • "tax_rate_on_receiving": 0,
  • "tax_value_on_ordering": 0,
  • "tax_value_on_receiving": 0,
  • "discount_rate": 0,
  • "fund_id": 0,
  • "statistics_1": "string",
  • "statistics_2": "string",
  • "statistics_1_authcat": "string",
  • "statistics_2_authcat": "string",
  • "uncertain_price": true,
  • "claims_count": 0,
  • "last_claim_date": "2019-08-24",
  • "subscription_id": 0,
  • "parent_order_id": 0,
  • "status": "new",
  • "basket": { },
  • "biblio": { },
  • "current_item_level_holds_count": 0,
  • "estimated_delivery_date": "2019-08-24",
  • "invoice_unit_price": 0,
  • "invoice_currency": "string",
  • "fund": { },
  • "invoice": { },
  • "items": [
    ],
  • "subscription": { },
  • "creator": { }
}

Get order

koha-authorization: {"permissions":{"acquisition":"order_manage"}}
path Parameters
order_id
required
integer

Internal order identifier

header Parameters
x-koha-embed
Array of strings
Items Enum: "basket" "basket.basket_group" "basket.creator" "biblio" "biblio.uncancelled_orders+count" "biblio.holds+count" "biblio.items+count" "biblio.suggestions.suggester" "fund" "current_item_level_holds+count" "invoice" "items" "subscription"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
{
  • "order_id": 0,
  • "biblio_id": 0,
  • "deleted_biblio_id": 0,
  • "created_by": 0,
  • "entry_date": "2019-08-24",
  • "quantity": 0,
  • "currency": "string",
  • "list_price": 0,
  • "replacement_price": 0,
  • "date_received": "2019-08-24",
  • "invoice_id": 0,
  • "shipping_cost": 0,
  • "unit_price": 0,
  • "unit_price_tax_excluded": 0,
  • "unit_price_tax_included": 0,
  • "quantity_received": 0,
  • "cancellation_date": "2019-08-24",
  • "cancellation_reason": "string",
  • "internal_note": "string",
  • "vendor_note": "string",
  • "basket_id": 0,
  • "timestamp": "2019-08-24T14:15:22Z",
  • "rrp": 0,
  • "rrp_tax_excluded": 0,
  • "rrp_tax_included": 0,
  • "ecost": 0,
  • "ecost_tax_excluded": 0,
  • "ecost_tax_included": 0,
  • "tax_rate_on_ordering": 0,
  • "tax_rate_on_receiving": 0,
  • "tax_value_on_ordering": 0,
  • "tax_value_on_receiving": 0,
  • "discount_rate": 0,
  • "fund_id": 0,
  • "statistics_1": "string",
  • "statistics_2": "string",
  • "statistics_1_authcat": "string",
  • "statistics_2_authcat": "string",
  • "uncertain_price": true,
  • "claims_count": 0,
  • "last_claim_date": "2019-08-24",
  • "subscription_id": 0,
  • "parent_order_id": 0,
  • "status": "new",
  • "basket": { },
  • "biblio": { },
  • "current_item_level_holds_count": 0,
  • "estimated_delivery_date": "2019-08-24",
  • "invoice_unit_price": 0,
  • "invoice_currency": "string",
  • "fund": { },
  • "invoice": { },
  • "items": [
    ],
  • "subscription": { },
  • "creator": { }
}

Update order

koha-authorization: {"permissions":{"acquisition":"order_manage"}}
path Parameters
order_id
required
integer

Internal order identifier

Request Body schema: application/json
required

A JSON object representing an order

order_id
integer

Internally assigned order identifier

biblio_id
integer or null

Identifier for the linked bibliographic record

deleted_biblio_id
integer or null

Identifier for the linked deleted bibliographic record

created_by
integer or null

Interal patron identifier of the order line creator

entry_date
string or null <date>

Date the bib was added to the basket

quantity
integer or null

Ordered quantity

currency
string or null

Currency used for the purchase

list_price
number or null

Vendor price for the line item

replacement_price
number or null

Replacement cost for this item

date_received
string or null <date>

Date the order was received

invoice_id
integer or null

Id of the order invoice

shipping_cost
number or null

Shipping cost

unit_price
number or null

The actual cost entered when receiving this line item

unit_price_tax_excluded
number or null

Unit price excluding tax (on receiving)

unit_price_tax_included
number or null

Unit price including tax (on receiving)

quantity_received
integer

Quantity received so far

cancellation_date
string or null <date>

Date the line item was deleted

cancellation_reason
string or null

Reason of cancellation

internal_note
string or null

Notes related to this order line, made for staff

vendor_note
string or null

Notes related to this order line, made for vendor

basket_id
integer or null

Basket this order is linked to

timestamp
string <date-time>

Date and time this order line was last modified

rrp
number or null

Retail cost for this item

rrp_tax_excluded
number or null

Replacement cost for this item (tax excluded)

rrp_tax_included
number or null

Replacement cost for this item (tax included)

ecost
number or null

Effective cost

ecost_tax_excluded
number or null

Effective cost (tax excluded)

ecost_tax_included
number or null

Effective cost (tax included)

tax_rate_on_ordering
number or null

Tax rate on ordering (%)

tax_rate_on_receiving
number or null

Tax rate on receiving (%)

tax_value_on_ordering
number or null

Tax value on ordering

tax_value_on_receiving
number or null

Tax value on receiving

discount_rate
number or null

Discount rate

fund_id
integer

Internal identifier for the fund this order goes against

statistics_1
string or null

Statistical field

statistics_2
string or null

Statistical field (2)

statistics_1_authcat
string or null

Statistical category for this order

statistics_2_authcat
string or null

Statistical category for this order (2)

uncertain_price
boolean

If this price was uncertain

claims_count
integer

Generated claim letters count

last_claim_date
string or null <date>

Last date a claim letter was generated

subscription_id
integer or null

Subscription ID linking the order to a subscription

parent_order_id
integer or null

Order ID of parent order line if exists

status
string
Enum: "new" "ordered" "partial" "complete" "cancelled"

The current order status

basket
object or null
biblio
object or null
current_item_level_holds_count
integer

Current holds count for associated items

estimated_delivery_date
string or null <date>

Estimated delivery date

invoice_unit_price
number or null

The actual cost in the foreign currency used in the invoice

invoice_currency
string or null

Currency of the actual cost used when receiving

fund
object or null
invoice
object or null
items
Array of any
subscription
object or null
creator
object or null

Patron that created the order

Responses

Request samples

Content type
application/json
{
  • "order_id": 0,
  • "biblio_id": 0,
  • "deleted_biblio_id": 0,
  • "created_by": 0,
  • "entry_date": "2019-08-24",
  • "quantity": 0,
  • "currency": "string",
  • "list_price": 0,
  • "replacement_price": 0,
  • "date_received": "2019-08-24",
  • "invoice_id": 0,
  • "shipping_cost": 0,
  • "unit_price": 0,
  • "unit_price_tax_excluded": 0,
  • "unit_price_tax_included": 0,
  • "quantity_received": 0,
  • "cancellation_date": "2019-08-24",
  • "cancellation_reason": "string",
  • "internal_note": "string",
  • "vendor_note": "string",
  • "basket_id": 0,
  • "timestamp": "2019-08-24T14:15:22Z",
  • "rrp": 0,
  • "rrp_tax_excluded": 0,
  • "rrp_tax_included": 0,
  • "ecost": 0,
  • "ecost_tax_excluded": 0,
  • "ecost_tax_included": 0,
  • "tax_rate_on_ordering": 0,
  • "tax_rate_on_receiving": 0,
  • "tax_value_on_ordering": 0,
  • "tax_value_on_receiving": 0,
  • "discount_rate": 0,
  • "fund_id": 0,
  • "statistics_1": "string",
  • "statistics_2": "string",
  • "statistics_1_authcat": "string",
  • "statistics_2_authcat": "string",
  • "uncertain_price": true,
  • "claims_count": 0,
  • "last_claim_date": "2019-08-24",
  • "subscription_id": 0,
  • "parent_order_id": 0,
  • "status": "new",
  • "basket": { },
  • "biblio": { },
  • "current_item_level_holds_count": 0,
  • "estimated_delivery_date": "2019-08-24",
  • "invoice_unit_price": 0,
  • "invoice_currency": "string",
  • "fund": { },
  • "invoice": { },
  • "items": [
    ],
  • "subscription": { },
  • "creator": { }
}

Response samples

Content type
application/json
{
  • "order_id": 0,
  • "biblio_id": 0,
  • "deleted_biblio_id": 0,
  • "created_by": 0,
  • "entry_date": "2019-08-24",
  • "quantity": 0,
  • "currency": "string",
  • "list_price": 0,
  • "replacement_price": 0,
  • "date_received": "2019-08-24",
  • "invoice_id": 0,
  • "shipping_cost": 0,
  • "unit_price": 0,
  • "unit_price_tax_excluded": 0,
  • "unit_price_tax_included": 0,
  • "quantity_received": 0,
  • "cancellation_date": "2019-08-24",
  • "cancellation_reason": "string",
  • "internal_note": "string",
  • "vendor_note": "string",
  • "basket_id": 0,
  • "timestamp": "2019-08-24T14:15:22Z",
  • "rrp": 0,
  • "rrp_tax_excluded": 0,
  • "rrp_tax_included": 0,
  • "ecost": 0,
  • "ecost_tax_excluded": 0,
  • "ecost_tax_included": 0,
  • "tax_rate_on_ordering": 0,
  • "tax_rate_on_receiving": 0,
  • "tax_value_on_ordering": 0,
  • "tax_value_on_receiving": 0,
  • "discount_rate": 0,
  • "fund_id": 0,
  • "statistics_1": "string",
  • "statistics_2": "string",
  • "statistics_1_authcat": "string",
  • "statistics_2_authcat": "string",
  • "uncertain_price": true,
  • "claims_count": 0,
  • "last_claim_date": "2019-08-24",
  • "subscription_id": 0,
  • "parent_order_id": 0,
  • "status": "new",
  • "basket": { },
  • "biblio": { },
  • "current_item_level_holds_count": 0,
  • "estimated_delivery_date": "2019-08-24",
  • "invoice_unit_price": 0,
  • "invoice_currency": "string",
  • "fund": { },
  • "invoice": { },
  • "items": [
    ],
  • "subscription": { },
  • "creator": { }
}

Delete order

koha-authorization: {"permissions":{"acquisition":"order_manage"}}
path Parameters
order_id
required
integer

Internal order identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

OAuth

Handle OAuth flows

Login to OAuth provider

path Parameters
provider_code
required
string

Code for OAuth provider

interface
required
string

Name of the interface this login is for

query Parameters
code
string

Code returned from OAuth server for Authorization Code grant

state
string

An opaque value used by the client to maintain state between the request and callback. This is the callback part.

scope
string

Scope returned by OAuth server

prompt
string

Prompt returned by OAuth server

authuser
string

Auth user returned by OAuth server

error
string

OAuth error code

error_description
string

OAuth error description

error_uri
string

Web page with user friendly description of the error

session_state
string

Session state returned by OAuth server

Responses

Response samples

Content type
application/json
"string"

Get access token

Request Body schema: application/x-www-form-urlencoded
required
grant_type
required
string

grant type (client_credentials)

client_id
string

client id

client_secret
string

client secret

Responses

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "token_type": "string",
  • "expires_in": 0
}

Login to OAuth provider

path Parameters
provider_code
required
string

Code for OAuth provider

interface
required
string

Name of the interface this login is for

query Parameters
code
string

Code returned from OAuth server for Authorization Code grant

state
string

An opaque value used by the client to maintain state between the request and callback. This is the callback part.

scope
string

Scope returned by OAuth server

prompt
string

Prompt returned by OAuth server

authuser
string

Auth user returned by OAuth server

error
string

OAuth error code

error_description
string

OAuth error description

error_uri
string

Web page with user friendly description of the error

session_state
string

Session state returned by OAuth server

Responses

Response samples

Content type
application/json
"string"

Patron categories

Manage patron categories

List patron categories

koha-authorization: {"permissions":{"parameters":"manage_patron_categories"}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Patrons

Manage patrons

Check validity of username and password

koha-authorization: {"permissions":{"borrowers":"1"}}
Request Body schema: application/json

A JSON object containing a patron identifier and password information.

The identifier will be used to match patrons on the database using the following order:

  • userid
  • cardnumber

Optionally, you can specify the userid attribute if you don't want it to be checked against the patron cardnumbers.

identifier
string

A patron identifier (userid or cardnumber)

password
required
string

Password (plain text)

userid
string

A patron userid

Responses

Request samples

Content type
application/json
{
  • "identifier": "string",
  • "password": "string",
  • "userid": "string"
}

Response samples

Content type
application/json
{
  • "cardnumber": "string",
  • "patron_id": 0,
  • "userid": "string"
}

Add a new checkout

koha-authorization: {"permissions":{"circulate":"circulate_remaining_permissions"}}
query Parameters
confirmation
string

A JWT confirmation token

Request Body schema: application/json
required

A JSON object containing information about the new checkout

checkout_id
integer

internally assigned checkout identifier

patron_id
integer

Internal patron identifier

item_id
integer or null
external_id
string or null

other identifier of checked out item f.e. barcode

due_date
string <date-time>

Due date

library_id
string or null

code of the library the item was checked out

issuer_id
integer or null

internally assigned for the user that processed the checkout

checkin_date
string or null <date-time>

Date the item was returned

checkin_library_id
string or null

Internal library identifier for the library at which the item was returned

last_renewed_date
string or null <date-time>

Date the item was last renewed

renewals_count
integer or null

Number of renewals

unseen_renewals
integer or null

Number of consecutive unseen renewals

auto_renew
boolean

Auto renewal

auto_renew_error
string or null

Auto renewal error

timestamp
string

Last update time

checkout_date
string <date-time>

Date the item was issued

onsite_checkout
boolean

On site checkout

note
string or null

Issue note text

note_date
string or null <date>

Datetime of the issue note

note_seen
boolean or null

has the note been seen already

issuer
object or null

The object representing the checkout issuer

item
object or null

The object representing the checked out item

library
object or null

The object representing the checkout library

patron
object or null

The object representing the checkout patron

Responses

Request samples

Content type
application/json
{
  • "checkout_id": 0,
  • "patron_id": 0,
  • "item_id": 0,
  • "external_id": "string",
  • "due_date": "2019-08-24T14:15:22Z",
  • "library_id": "string",
  • "issuer_id": 0,
  • "checkin_date": "2019-08-24T14:15:22Z",
  • "checkin_library_id": "string",
  • "last_renewed_date": "2019-08-24T14:15:22Z",
  • "renewals_count": 0,
  • "unseen_renewals": 0,
  • "auto_renew": true,
  • "auto_renew_error": "string",
  • "timestamp": "string",
  • "checkout_date": "2019-08-24T14:15:22Z",
  • "onsite_checkout": true,
  • "note": "string",
  • "note_date": "2019-08-24",
  • "note_seen": true,
  • "issuer": { },
  • "item": { },
  • "library": { },
  • "patron": { }
}

Response samples

Content type
application/json
{
  • "checkout_id": 0,
  • "patron_id": 0,
  • "item_id": 0,
  • "external_id": "string",
  • "due_date": "2019-08-24T14:15:22Z",
  • "library_id": "string",
  • "issuer_id": 0,
  • "checkin_date": "2019-08-24T14:15:22Z",
  • "checkin_library_id": "string",
  • "last_renewed_date": "2019-08-24T14:15:22Z",
  • "renewals_count": 0,
  • "unseen_renewals": 0,
  • "auto_renew": true,
  • "auto_renew_error": "string",
  • "timestamp": "string",
  • "checkout_date": "2019-08-24T14:15:22Z",
  • "onsite_checkout": true,
  • "note": "string",
  • "note_date": "2019-08-24",
  • "note_seen": true,
  • "issuer": { },
  • "item": { },
  • "library": { },
  • "patron": { }
}

List patrons

koha-authorization: {"permissions":[{"borrowers":"list_borrowers"}]}
query Parameters
patron_id
string

Search on patron_id

cardnumber
string

Case insensitive search on cardnumber

surname
string

Case insensitive search on surname

firstname
string

Case insensitive search on firstname

preferred_name
string

Case insensitive search on preferred name

title
string

Case insensitive search on title

other_name
string

Case insensitive search on othernames

initials
string

Case insensitive search on initials

street_number
string

Case insensitive search on streetnumber

street_type
string

Case insensitive search on streettype

address
string

Case insensitive search on address

address2
string

Case insensitive search on address2

city
string

Case insensitive search on city

state
string

Case insensitive search on state

postal_code
string

Case insensitive search on zipcode

country
string

Case insensitive search on country

email
string

Case insensitive search on email

phone
string

Case insensitive search on phone

mobile
string

Case insensitive search on mobile

fax
string

Case insensitive search on fax

secondary_email
string

Case insensitive search on secondary_email

secondary_phone
string

Case insensitive search on secondary_phone

altaddress_street_number
string

Case insensitive search on altaddress_street_number

altaddress_street_type
string

Case insensitive search on altaddress_street_type

altaddress_address
string

Case insensitive search on altaddress_address

altaddress_address2
string

Case insensitive search on altaddress_address2

altaddress_city
string

Case insensitive search on altaddress_city

altaddress_state
string

Case insensitive search on altaddress_state

altaddress_postal_code
string

Case insensitive search on altaddress_postal_code

altaddress_country
string

Case insensitive search on altaddress_country

altaddress_email
string

Case insensitive search on altaddress_email

altaddress_phone
string

Case insensitive search on altaddress_phone

date_of_birth
string

Case insensitive search on date_of_birth

library_id
string

Case insensitive search on library_id

category_id
string

Case insensitive search on category_id

date_enrolled
string

Case insensitive search on date_enrolled

expiry_date
string

Case insensitive search on expiry_date

incorrect_address
boolean

Search on incorrect_address

patron_card_lost
boolean

Search on patron_card_lost

restricted
boolean

Filter search by restricted

staff_notes
string

Case insensitive search on staff_notes

relationship_type
string

Case insensitive search on relationship_type

gender
string

Case insensitive search on gender

userid
string

Case insensitive search on userid

opac_notes
string

Case insensitive search on opac_notes

altaddress_notes
string

Case insensitive search on altaddress_notes

statistics_1
string

Case insensitive search on statistics_1

statistics_2
string

Case insensitive search on statistics_2

autorenew_checkouts
boolean

Search on autorenew_checkouts

altcontact_firstname
string

Case insensitive search on altcontact_firstname

altcontact_surname
string

Case insensitive search on altcontact_surname

altcontact_address
string

Case insensitive search on altcontact_address

altcontact_address2
string

Case insensitive search on altcontact_address2

altcontact_city
string

Case insensitive search on altcontact_city

altcontact_state
string

Case insensitive search on altcontact_state

altcontact_postal_code
string

Case insensitive search on altcontact_postal_code

altcontact_country
string

Case insensitive search on altcontact_country

altcontact_phone
string

Case insensitive search on altcontact_phone

sms_number
string

Case insensitive search on sms_number

sms_provider_id
string

Case insensitive search on sms_provider_id

privacy
string

Search on privacy

privacy_guarantor_checkouts
string

Search on privacy_guarantor_checkouts

check_previous_checkout
string

Case insensitive search on check_previous_checkout

updated_on
string

Search on updated_on

last_seen
string

Case insensitive search on last_seen

lang
string

Case insensitive search on lang

login_attempts
string

Search on login_attempts

protected
boolean

Search on protected status

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Enum: "extended_attributes" "checkouts+count" "overdues+count" "account_balance" "library"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add patron

koha-authorization: {"permissions":{"borrowers":"edit_borrowers"}}
header Parameters
x-koha-override
Array of strings
Items Enum: "welcome_yes" "welcome_no"

Overrides list sent as a request header

Request Body schema: application/json
required

A JSON object containing information about the new patron

patron_id
integer

Internal patron identifier

cardnumber
string or null

library assigned user identifier

surname
required
string or null

patron's last name

firstname
string or null

patron's first name

preferred_name
string or null

patron's preferred name

middle_name
string or null

patron's middle name

title
string or null

patron's title

other_name
string or null

any other names associated with the patron

initials
string or null

initials of the patron

pronouns
string or null

pronouns of the patron

street_number
string or null

street number of patron's primary address

street_type
string or null

street type of patron's primary address

address
string or null

first address line of patron's primary address

address2
string or null

second address line of patron's primary address

city
string or null

city or town of patron's primary address

state
string or null

state or province of patron's primary address

postal_code
string or null

zip or postal code of patron's primary address

country
string or null

country of patron's primary address

email
string or null

primary email address for patron's primary address

phone
string or null

primary phone number for patron's primary address

mobile
string or null

the other phone number for patron's primary address

fax
string or null

fax number for patron's primary address

secondary_email
string or null

secondary email address for patron's primary address

secondary_phone
string or null

secondary phone number for patron's primary address

altaddress_street_number
string or null

street number of patron's alternate address

altaddress_street_type
string or null

street type of patron's alternate address

altaddress_address
string or null

first address line of patron's alternate address

altaddress_address2
string or null

second address line of patron's alternate address

altaddress_city
string or null

city or town of patron's alternate address

altaddress_state
string or null

state or province of patron's alternate address

altaddress_postal_code
string or null

zip or postal code of patron's alternate address

altaddress_country
string or null

country of patron's alternate address

altaddress_email
string or null

email address for patron's alternate address

altaddress_phone
string or null

phone number for patron's alternate address

date_of_birth
string or null <date>

patron's date of birth

library_id
required
string

Internal identifier for the patron's home library

category_id
required
string

Internal identifier for the patron's category

date_enrolled
string or null <date>

date the patron was added to Koha

expiry_date
string or null <date>

date the patron's card is set to expire

date_renewed
string or null <date>

date the patron's card was last renewed

incorrect_address
boolean or null

set to 1 if library marked this patron as having an unconfirmed address

patron_card_lost
boolean or null

set to 1 if library marked this patron as having lost his card

staff_notes
string or null

a note on the patron's account

relationship_type
string or null

used for children to include the relationship to their guarantor

gender
string or null

patron's gender

userid
string or null

patron's login

opac_notes
string or null

a note on the patron's account visible in OPAC and staff interface

altaddress_notes
string or null

a note related to patron's alternate address

statistics_1
string or null

a field that can be used for any information unique to the library

statistics_2
string or null

a field that can be used for any information unique to the library

autorenew_checkouts
boolean

indicate whether auto-renewal is allowed for patron

altcontact_firstname
string or null

first name of alternate contact for the patron

altcontact_surname
string or null

surname or last name of the alternate contact for the patron

altcontact_address
string or null

the first address line for the alternate contact for the patron

altcontact_address2
string or null

the second address line for the alternate contact for the patron

altcontact_city
string or null

the city for the alternate contact for the patron

altcontact_state
string or null

the state for the alternate contact for the patron

altcontact_postal_code
string or null

the zipcode for the alternate contact for the patron

altcontact_country
string or null

the country for the alternate contact for the patron

altcontact_phone
string or null

the phone number for the alternate contact for the patron

sms_number
string or null

the mobile phone number where the patron would like to receive notices (if SMS turned on)

sms_provider_id
integer or null

the provider of the mobile phone number defined in smsalertnumber

privacy
integer

patron's privacy settings related to their checkout history

privacy_guarantor_checkouts
integer

controls if relatives can see this patron's checkouts

privacy_guarantor_fines
boolean

controls if relatives can see this patron's fines

check_previous_checkout
string

produce a warning for this patron if this item has previously been checked out to this patron if 'yes', not if 'no', defer to category setting if 'inherit'

updated_on
string <date-time>

time of last change could be useful for synchronization with external systems (among others)

last_seen
string or null <date-time>

last time a patron has been seen (connected at the OPAC or staff interface)

lang
string

lang to use to send notices to this patron

login_attempts
integer or null

number of failed login attemps

overdrive_auth_token
string or null

persist OverDrive auth token

Array of objects (patron_extended_attribute)

patron's extended attributes

Array
extended_attribute_id
integer

Internal ID for the extended attribute

type
required
string

Extended attribute type

value
required
string or null

Extended attribute value

checkouts_count
integer or null

Number of checkouts

overdues_count
integer or null

Number of overdued checkouts

account_balance
number or null

Balance of the patron's account

library
object or null

Library of the patron

protected
boolean

Protected status of the patron

_strings
object or null

A list of stringified coded values

Responses

Request samples

Content type
application/json
{
  • "patron_id": 0,
  • "cardnumber": "string",
  • "surname": "string",
  • "firstname": "string",
  • "preferred_name": "string",
  • "middle_name": "string",
  • "title": "string",
  • "other_name": "string",
  • "initials": "string",
  • "pronouns": "string",
  • "street_number": "string",
  • "street_type": "string",
  • "address": "string",
  • "address2": "string",
  • "city": "string",
  • "state": "string",
  • "postal_code": "string",
  • "country": "string",
  • "email": "string",
  • "phone": "string",
  • "mobile": "string",
  • "fax": "string",
  • "secondary_email": "string",
  • "secondary_phone": "string",
  • "altaddress_street_number": "string",
  • "altaddress_street_type": "string",
  • "altaddress_address": "string",
  • "altaddress_address2": "string",
  • "altaddress_city": "string",
  • "altaddress_state": "string",
  • "altaddress_postal_code": "string",
  • "altaddress_country": "string",
  • "altaddress_email": "string",
  • "altaddress_phone": "string",
  • "date_of_birth": "2019-08-24",
  • "library_id": "string",
  • "category_id": "string",
  • "date_enrolled": "2019-08-24",
  • "expiry_date": "2019-08-24",
  • "date_renewed": "2019-08-24",
  • "incorrect_address": true,
  • "patron_card_lost": true,
  • "staff_notes": "string",
  • "relationship_type": "string",
  • "gender": "string",
  • "userid": "string",
  • "opac_notes": "string",
  • "altaddress_notes": "string",
  • "statistics_1": "string",
  • "statistics_2": "string",
  • "autorenew_checkouts": true,
  • "altcontact_firstname": "string",
  • "altcontact_surname": "string",
  • "altcontact_address": "string",
  • "altcontact_address2": "string",
  • "altcontact_city": "string",
  • "altcontact_state": "string",
  • "altcontact_postal_code": "string",
  • "altcontact_country": "string",
  • "altcontact_phone": "string",
  • "sms_number": "string",
  • "sms_provider_id": 0,
  • "privacy": 0,
  • "privacy_guarantor_checkouts": 0,
  • "privacy_guarantor_fines": true,
  • "check_previous_checkout": "string",
  • "updated_on": "2019-08-24T14:15:22Z",
  • "last_seen": "2019-08-24T14:15:22Z",
  • "lang": "string",
  • "login_attempts": 0,
  • "overdrive_auth_token": "string",
  • "extended_attributes": [
    ],
  • "checkouts_count": 0,
  • "overdues_count": 0,
  • "account_balance": 0,
  • "library": { },
  • "protected": true,
  • "_strings": { }
}

Response samples

Content type
application/json
[
  • {
    }
]

Get patron

koha-authorization: {"permissions":[{"borrowers":"list_borrowers"},{"borrowers":"edit_borrowers"}]}
path Parameters
patron_id
required
integer

Internal patron identifier

header Parameters
x-koha-embed
Array of strings
Items Enum: "+strings" "extended_attributes"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
{
  • "patron_id": 0,
  • "cardnumber": "string",
  • "surname": "string",
  • "firstname": "string",
  • "preferred_name": "string",
  • "middle_name": "string",
  • "title": "string",
  • "other_name": "string",
  • "initials": "string",
  • "pronouns": "string",
  • "street_number": "string",
  • "street_type": "string",
  • "address": "string",
  • "address2": "string",
  • "city": "string",
  • "state": "string",
  • "postal_code": "string",
  • "country": "string",
  • "email": "string",
  • "phone": "string",
  • "mobile": "string",
  • "fax": "string",
  • "secondary_email": "string",
  • "secondary_phone": "string",
  • "altaddress_street_number": "string",
  • "altaddress_street_type": "string",
  • "altaddress_address": "string",
  • "altaddress_address2": "string",
  • "altaddress_city": "string",
  • "altaddress_state": "string",
  • "altaddress_postal_code": "string",
  • "altaddress_country": "string",
  • "altaddress_email": "string",
  • "altaddress_phone": "string",
  • "date_of_birth": "2019-08-24",
  • "library_id": "string",
  • "category_id": "string",
  • "date_enrolled": "2019-08-24",
  • "expiry_date": "2019-08-24",
  • "date_renewed": "2019-08-24",
  • "incorrect_address": true,
  • "patron_card_lost": true,
  • "expired": true,
  • "restricted": true,
  • "staff_notes": "string",
  • "relationship_type": "string",
  • "gender": "string",
  • "userid": "string",
  • "opac_notes": "string",
  • "altaddress_notes": "string",
  • "statistics_1": "string",
  • "statistics_2": "string",
  • "autorenew_checkouts": true,
  • "altcontact_firstname": "string",
  • "altcontact_surname": "string",
  • "altcontact_address": "string",
  • "altcontact_address2": "string",
  • "altcontact_city": "string",
  • "altcontact_state": "string",
  • "altcontact_postal_code": "string",
  • "altcontact_country": "string",
  • "altcontact_phone": "string",
  • "sms_number": "string",
  • "sms_provider_id": 0,
  • "privacy": 0,
  • "privacy_guarantor_checkouts": 0,
  • "privacy_guarantor_fines": true,
  • "check_previous_checkout": "string",
  • "updated_on": "2019-08-24T14:15:22Z",
  • "last_seen": "2019-08-24T14:15:22Z",
  • "lang": "string",
  • "login_attempts": 0,
  • "overdrive_auth_token": "string",
  • "anonymized": true,
  • "extended_attributes": [
    ],
  • "checkouts_count": 0,
  • "overdues_count": 0,
  • "account_balance": 0,
  • "library": { },
  • "protected": true,
  • "_strings": { }
}

Update patron

koha-authorization: {"permissions":{"borrowers":"1"}}
path Parameters
patron_id
required
integer

Internal patron identifier

header Parameters
x-koha-embed
Array of strings
Items Value: "extended_attributes"

Embed list sent as a request header

Request Body schema: application/json
required

A JSON object containing new information about existing patron

patron_id
integer

Internal patron identifier

cardnumber
string or null

library assigned user identifier

surname
required
string or null

patron's last name

firstname
string or null

patron's first name

preferred_name
string or null

patron's preferred name

middle_name
string or null

patron's middle name

title
string or null

patron's title

other_name
string or null

any other names associated with the patron

initials
string or null

initials of the patron

pronouns
string or null

pronouns of the patron

street_number
string or null

street number of patron's primary address

street_type
string or null

street type of patron's primary address

address
string or null

first address line of patron's primary address

address2
string or null

second address line of patron's primary address

city
string or null

city or town of patron's primary address

state
string or null

state or province of patron's primary address

postal_code
string or null

zip or postal code of patron's primary address

country
string or null

country of patron's primary address

email
string or null

primary email address for patron's primary address

phone
string or null

primary phone number for patron's primary address

mobile
string or null

the other phone number for patron's primary address

fax
string or null

fax number for patron's primary address

secondary_email
string or null

secondary email address for patron's primary address

secondary_phone
string or null

secondary phone number for patron's primary address

altaddress_street_number
string or null

street number of patron's alternate address

altaddress_street_type
string or null

street type of patron's alternate address

altaddress_address
string or null

first address line of patron's alternate address

altaddress_address2
string or null

second address line of patron's alternate address

altaddress_city
string or null

city or town of patron's alternate address

altaddress_state
string or null

state or province of patron's alternate address

altaddress_postal_code
string or null

zip or postal code of patron's alternate address

altaddress_country
string or null

country of patron's alternate address

altaddress_email
string or null

email address for patron's alternate address

altaddress_phone
string or null

phone number for patron's alternate address

date_of_birth
string or null <date>

patron's date of birth

library_id
required
string

Internal identifier for the patron's home library

category_id
required
string

Internal identifier for the patron's category

date_enrolled
string or null <date>

date the patron was added to Koha

expiry_date
string or null <date>

date the patron's card is set to expire

date_renewed
string or null <date>

date the patron's card was last renewed

incorrect_address
boolean or null

set to 1 if library marked this patron as having an unconfirmed address

patron_card_lost
boolean or null

set to 1 if library marked this patron as having lost his card

staff_notes
string or null

a note on the patron's account

relationship_type
string or null

used for children to include the relationship to their guarantor

gender
string or null

patron's gender

userid
string or null

patron's login

opac_notes
string or null

a note on the patron's account visible in OPAC and staff interface

altaddress_notes
string or null

a note related to patron's alternate address

statistics_1
string or null

a field that can be used for any information unique to the library

statistics_2
string or null

a field that can be used for any information unique to the library

autorenew_checkouts
boolean

indicate whether auto-renewal is allowed for patron

altcontact_firstname
string or null

first name of alternate contact for the patron

altcontact_surname
string or null

surname or last name of the alternate contact for the patron

altcontact_address
string or null

the first address line for the alternate contact for the patron

altcontact_address2
string or null

the second address line for the alternate contact for the patron

altcontact_city
string or null

the city for the alternate contact for the patron

altcontact_state
string or null

the state for the alternate contact for the patron

altcontact_postal_code
string or null

the zipcode for the alternate contact for the patron

altcontact_country
string or null

the country for the alternate contact for the patron

altcontact_phone
string or null

the phone number for the alternate contact for the patron

sms_number
string or null

the mobile phone number where the patron would like to receive notices (if SMS turned on)

sms_provider_id
integer or null

the provider of the mobile phone number defined in smsalertnumber

privacy
integer

patron's privacy settings related to their checkout history

privacy_guarantor_checkouts
integer

controls if relatives can see this patron's checkouts

privacy_guarantor_fines
boolean

controls if relatives can see this patron's fines

check_previous_checkout
string

produce a warning for this patron if this item has previously been checked out to this patron if 'yes', not if 'no', defer to category setting if 'inherit'

updated_on
string <date-time>

time of last change could be useful for synchronization with external systems (among others)

last_seen
string or null <date-time>

last time a patron has been seen (connected at the OPAC or staff interface)

lang
string

lang to use to send notices to this patron

login_attempts
integer or null

number of failed login attemps

overdrive_auth_token
string or null

persist OverDrive auth token

Array of objects (patron_extended_attribute)

patron's extended attributes

Array
extended_attribute_id
integer

Internal ID for the extended attribute

type
required
string

Extended attribute type

value
required
string or null

Extended attribute value

checkouts_count
integer or null

Number of checkouts

overdues_count
integer or null

Number of overdued checkouts

account_balance
number or null

Balance of the patron's account

library
object or null

Library of the patron

protected
boolean

Protected status of the patron

_strings
object or null

A list of stringified coded values

Responses

Request samples

Content type
application/json
{
  • "patron_id": 0,
  • "cardnumber": "string",
  • "surname": "string",
  • "firstname": "string",
  • "preferred_name": "string",
  • "middle_name": "string",
  • "title": "string",
  • "other_name": "string",
  • "initials": "string",
  • "pronouns": "string",
  • "street_number": "string",
  • "street_type": "string",
  • "address": "string",
  • "address2": "string",
  • "city": "string",
  • "state": "string",
  • "postal_code": "string",
  • "country": "string",
  • "email": "string",
  • "phone": "string",
  • "mobile": "string",
  • "fax": "string",
  • "secondary_email": "string",
  • "secondary_phone": "string",
  • "altaddress_street_number": "string",
  • "altaddress_street_type": "string",
  • "altaddress_address": "string",
  • "altaddress_address2": "string",
  • "altaddress_city": "string",
  • "altaddress_state": "string",
  • "altaddress_postal_code": "string",
  • "altaddress_country": "string",
  • "altaddress_email": "string",
  • "altaddress_phone": "string",
  • "date_of_birth": "2019-08-24",
  • "library_id": "string",
  • "category_id": "string",
  • "date_enrolled": "2019-08-24",
  • "expiry_date": "2019-08-24",
  • "date_renewed": "2019-08-24",
  • "incorrect_address": true,
  • "patron_card_lost": true,
  • "staff_notes": "string",
  • "relationship_type": "string",
  • "gender": "string",
  • "userid": "string",
  • "opac_notes": "string",
  • "altaddress_notes": "string",
  • "statistics_1": "string",
  • "statistics_2": "string",
  • "autorenew_checkouts": true,
  • "altcontact_firstname": "string",
  • "altcontact_surname": "string",
  • "altcontact_address": "string",
  • "altcontact_address2": "string",
  • "altcontact_city": "string",
  • "altcontact_state": "string",
  • "altcontact_postal_code": "string",
  • "altcontact_country": "string",
  • "altcontact_phone": "string",
  • "sms_number": "string",
  • "sms_provider_id": 0,
  • "privacy": 0,
  • "privacy_guarantor_checkouts": 0,
  • "privacy_guarantor_fines": true,
  • "check_previous_checkout": "string",
  • "updated_on": "2019-08-24T14:15:22Z",
  • "last_seen": "2019-08-24T14:15:22Z",
  • "lang": "string",
  • "login_attempts": 0,
  • "overdrive_auth_token": "string",
  • "extended_attributes": [
    ],
  • "checkouts_count": 0,
  • "overdues_count": 0,
  • "account_balance": 0,
  • "library": { },
  • "protected": true,
  • "_strings": { }
}

Response samples

Content type
application/json
[
  • {
    }
]

Delete patron

koha-authorization: {"permissions":{"borrowers":"delete_borrowers"}}
path Parameters
patron_id
required
integer

Internal patron identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Get account information for a patron

koha-authorization: {"permissions":{"borrowers":"edit_borrowers","updatecharges":"remaining_permissions"}}
path Parameters
patron_id
required
integer

Internal patron identifier

Responses

Response samples

Content type
application/json
{
  • "balance": 0,
  • "outstanding_credits": {
    },
  • "outstanding_debits": {
    }
}

List patron credits

koha-authorization: {"permissions":{"borrowers":"edit_borrowers","updatecharges":"remaining_permissions"}}
path Parameters
patron_id
required
integer

Internal patron identifier

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add credit to a patron's account

koha-authorization: {"permissions":{"updatecharges":"remaining_permissions"}}
path Parameters
patron_id
required
integer

Internal patron identifier

Request Body schema: application/json
required

A JSON object containing credit information

credit_type
string

Type of credit ('CREDIT', 'FORGIVEN', 'LOST_FOUND', 'PAYMENT', 'WRITEOFF', 'PROCESSING_FOUND' )

amount
required
number >= 0

Credit amount

library_id
string or null

Internal identifier for the library in which the transaction took place

account_lines_ids
Array of integers

List of account line ids the credit goes against (optional)

payment_type
string

Payment type (only applies when credit_type=payment)

date
string <date>

Date the credit was recorded (optional)

description
string

Description

note
string

Internal note

Responses

Request samples

Content type
application/json
{
  • "credit_type": "string",
  • "amount": 0,
  • "library_id": "string",
  • "account_lines_ids": [
    ],
  • "payment_type": "string",
  • "date": "2019-08-24",
  • "description": "string",
  • "note": "string"
}

Response samples

Content type
application/json
{
  • "account_line_id": 0,
  • "amount": 0,
  • "amount_outstanding": 0,
  • "cash_register_id": 0,
  • "checkout_id": 0,
  • "old_checkout_id": 0,
  • "credit_number": "string",
  • "credit_type": "string",
  • "date": "2019-08-24T14:15:22Z",
  • "debit_type": "string",
  • "description": "string",
  • "interface": "string",
  • "internal_note": "string",
  • "item_id": 0,
  • "library_id": "string",
  • "patron_id": 0,
  • "payment_type": "string",
  • "payout_type": "string",
  • "status": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "user_id": 0
}

List patron debits

koha-authorization: {"permissions":{"borrowers":"edit_borrowers","updatecharges":"remaining_permissions"}}
path Parameters
patron_id
required
integer

Internal patron identifier

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add debit to a patron's account

koha-authorization: {"permissions":{"updatecharges":"remaining_permissions"}}
path Parameters
patron_id
required
integer

Internal patron identifier

Request Body schema: application/json
required

A JSON object containing debit information

amount
required
number >= 0

Debit amount

amount_outstanding
number

Outstanding amount

cash_register_id
integer or null

Internal identifier for the cash register used for the payout (if any)

checkout_id
integer or null

Internal identifier for the checkout the account line is related to

old_checkout_id
integer or null

Internal identifier for the old checkout the account line is related to

date
string <date-time>

Date the account line was created

description
string or null

Account line description

interface
string or null

Interface in which the account line was generated (values can be: api, cron, commandline, intranet, opac and sip)

internal_note
string or null

Internal note

item_id
integer or null

Internal identifier for the item the account line is related to

library_id
string or null

Internal identifier for the library in which the transaction took place

patron_id
integer

Internal identifier for the patron the account line belongs to

payout_type
string or null

Payout type

status
string or null

The debit status

timestamp
string <date-time>

Timestamp for the latest line update

type
string or null

Account debit type

user_id
integer or null

Internal patron identifier for the staff member that introduced the account line

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "amount_outstanding": 0,
  • "cash_register_id": 0,
  • "checkout_id": 0,
  • "old_checkout_id": 0,
  • "date": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "interface": "string",
  • "internal_note": "string",
  • "item_id": 0,
  • "library_id": "string",
  • "patron_id": 0,
  • "payout_type": "string",
  • "status": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "type": "string",
  • "user_id": 0
}

Response samples

Content type
application/json
{
  • "account_line_id": 0,
  • "amount": 0,
  • "amount_outstanding": 0,
  • "cash_register_id": 0,
  • "checkout_id": 0,
  • "old_checkout_id": 0,
  • "date": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "interface": "string",
  • "internal_note": "string",
  • "item_id": 0,
  • "library_id": "string",
  • "patron_id": 0,
  • "payout_type": "string",
  • "status": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "type": "string",
  • "user_id": 0
}

List extended attributes for a patron

koha-authorization: {"permissions":{"borrowers":"edit_borrowers"}}
path Parameters
patron_id
required
integer

Internal patron identifier

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add extended attribute for a patron

koha-authorization: {"permissions":{"borrowers":"edit_borrowers"}}
path Parameters
patron_id
required
integer

Internal patron identifier

Request Body schema: application/json
required

A JSON representation of the patron extended attribute

extended_attribute_id
integer

Internal ID for the extended attribute

type
required
string

Extended attribute type

value
required
string or null

Extended attribute value

Responses

Request samples

Content type
application/json
{
  • "extended_attribute_id": 0,
  • "type": "string",
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "extended_attribute_id": 0,
  • "type": "string",
  • "value": "string"
}

Overwrite extended attributes for a patron

koha-authorization: {"permissions":{"borrowers":"edit_borrowers"}}
path Parameters
patron_id
required
integer

Internal patron identifier

Request Body schema: application/json
required

A JSON representation of the patron extended attribute

Array
extended_attribute_id
integer

Internal ID for the extended attribute

type
required
string

Extended attribute type

value
required
string or null

Extended attribute value

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Update extended attribute

koha-authorization: {"permissions":{"borrowers":"edit_borrowers"}}
path Parameters
patron_id
required
integer

Internal patron identifier

extended_attribute_id
required
integer

Internal patron extended attribute identifier

Request Body schema: application/json
required

An object containing the updated values for the patron extended attribute

value
string

Extended attribute value

Responses

Request samples

Content type
application/json
{
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "extended_attribute_id": 0,
  • "type": "string",
  • "value": "string"
}

Delete extended attribute

koha-authorization: {"permissions":{"borrowers":"edit_borrowers"}}
path Parameters
patron_id
required
integer

Internal patron identifier

extended_attribute_id
required
integer

Internal patron extended attribute identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Set password for a patron

koha-authorization: {"permissions":{"borrowers":"1"}}
path Parameters
patron_id
required
integer

Internal patron identifier

Request Body schema: application/json

A JSON object containing password information

password
required
string

New password (plain text)

password_2
required
string

Repeated new password (plain text)

Responses

Request samples

Content type
application/json
{
  • "password": "string",
  • "password_2": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Set password expiration for a patron

koha-authorization: {"permissions":{"superlibrarian":"1"}}
path Parameters
patron_id
required
integer

Internal patron identifier

Request Body schema: application/json

A JSON object containing password expiration date

expiration_date
required
string <date>

Date to expire password

Responses

Request samples

Content type
application/json
{
  • "expiration_date": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Add a new checkout (public)

koha-authorization: {"allow-owner":true}
path Parameters
patron_id
required
integer

Internal patron identifier

query Parameters
confirmation
string

A JWT confirmation token

Request Body schema: application/json
required

A JSON object containing information about the new checkout

checkout_id
integer

internally assigned checkout identifier

patron_id
integer

Internal patron identifier

item_id
integer or null
external_id
string or null

other identifier of checked out item f.e. barcode

due_date
string <date-time>

Due date

library_id
string or null

code of the library the item was checked out

issuer_id
integer or null

internally assigned for the user that processed the checkout

checkin_date
string or null <date-time>

Date the item was returned

checkin_library_id
string or null

Internal library identifier for the library at which the item was returned

last_renewed_date
string or null <date-time>

Date the item was last renewed

renewals_count
integer or null

Number of renewals

unseen_renewals
integer or null

Number of consecutive unseen renewals

auto_renew
boolean

Auto renewal

auto_renew_error
string or null

Auto renewal error

timestamp
string

Last update time

checkout_date
string <date-time>

Date the item was issued

onsite_checkout
boolean

On site checkout

note
string or null

Issue note text

note_date
string or null <date>

Datetime of the issue note

note_seen
boolean or null

has the note been seen already

issuer
object or null

The object representing the checkout issuer

item
object or null

The object representing the checked out item

library
object or null

The object representing the checkout library

patron
object or null

The object representing the checkout patron

Responses

Request samples

Content type
application/json
{
  • "checkout_id": 0,
  • "patron_id": 0,
  • "item_id": 0,
  • "external_id": "string",
  • "due_date": "2019-08-24T14:15:22Z",
  • "library_id": "string",
  • "issuer_id": 0,
  • "checkin_date": "2019-08-24T14:15:22Z",
  • "checkin_library_id": "string",
  • "last_renewed_date": "2019-08-24T14:15:22Z",
  • "renewals_count": 0,
  • "unseen_renewals": 0,
  • "auto_renew": true,
  • "auto_renew_error": "string",
  • "timestamp": "string",
  • "checkout_date": "2019-08-24T14:15:22Z",
  • "onsite_checkout": true,
  • "note": "string",
  • "note_date": "2019-08-24",
  • "note_seen": true,
  • "issuer": { },
  • "item": { },
  • "library": { },
  • "patron": { }
}

Response samples

Content type
application/json
{
  • "checkout_id": 0,
  • "patron_id": 0,
  • "item_id": 0,
  • "external_id": "string",
  • "due_date": "2019-08-24T14:15:22Z",
  • "library_id": "string",
  • "issuer_id": 0,
  • "checkin_date": "2019-08-24T14:15:22Z",
  • "checkin_library_id": "string",
  • "last_renewed_date": "2019-08-24T14:15:22Z",
  • "renewals_count": 0,
  • "unseen_renewals": 0,
  • "auto_renew": true,
  • "auto_renew_error": "string",
  • "timestamp": "string",
  • "checkout_date": "2019-08-24T14:15:22Z",
  • "onsite_checkout": true,
  • "note": "string",
  • "note_date": "2019-08-24",
  • "note_seen": true,
  • "issuer": { },
  • "item": { },
  • "library": { },
  • "patron": { }
}

Set if guarantors can see charges (public)

koha-authorization: {"allow-owner":true}
path Parameters
patron_id
required
integer

Internal patron identifier

Request Body schema: application/json
required

A boolean representing if guarantors should be able to see the patron's charges

allowed
boolean

Responses

Request samples

Content type
application/json
{
  • "allowed": true
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Set if guarantors can see checkouts

koha-authorization: {"allow-owner":true}
path Parameters
patron_id
required
integer

Internal patron identifier

Request Body schema: application/json
required

A boolean representing if guarantors should be able to see the patron's checkouts

allowed
boolean

Responses

Request samples

Content type
application/json
{
  • "allowed": true
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Cancel a patron's hold (public)

koha-authorization: {"allow-owner":true}
path Parameters
patron_id
required
integer

Internal patron identifier

hold_id
required
integer

Internal hold identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Set password for a patron (public)

koha-authorization: {"allow-owner":true}
path Parameters
patron_id
required
integer

Internal patron identifier

Request Body schema: application/json

A JSON object containing password information

password
required
string

New password (plain text)

password_repeated
required
string

Repeated new password (plain text)

old_password
required
string

Patron's original password

Responses

Request samples

Content type
application/json
{
  • "password": "string",
  • "password_repeated": "string",
  • "old_password": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Preservation

Manage preservation tasks

get the Preservation config

This resource returns a list of options needed for the Preservation Vue app. EXPERIMENTAL - DO NOT RELY on this, it is subject to change!

koha-authorization: {"permissions":{"preservation":1}}

Responses

Response samples

Content type
application/json
{
  • "settings": { },
  • "permissions": { }
}

List trains

koha-authorization: {"permissions":{"preservation":1}}
query Parameters
train_id
integer

Case insensitive search on train id

name
string

Case insensitive search on train name

description
string

Case insensitive search on train description

not_for_loan
string

Case insensitive search on not for loan value

created_on
string

Case insensitive search on train creation date

closed_on
string

Case insensitive search on train closing date

sent_on
string

Case insensitive search on train sent date

received_on
string

Case insensitive search on train receiving date

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add train

koha-authorization: {"permissions":{"preservation":1}}
Request Body schema: application/json
required

A JSON object containing information about the new train

name
required
string

name of the train

description
string or null

description of the train

default_processing_id
integer or null

foreign key to preservation_processings

not_for_loan
string or null

NOT_LOAN authorised value to apply to item added to this train

created_on
string or null

creation date

closed_on
string or null

closing date

sent_on
string or null

sending date

received_on
string or null

receiving date

default_processing
object or null

the default processing

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "default_processing_id": 0,
  • "not_for_loan": "string",
  • "created_on": "string",
  • "closed_on": "string",
  • "sent_on": "string",
  • "received_on": "string",
  • "default_processing": { }
}

Response samples

Content type
application/json
[
  • {
    }
]

Get train

koha-authorization: {"permissions":{"preservation":1}}
path Parameters
train_id
required
integer

train internal identifier

header Parameters
x-koha-embed
Array of strings
Items Enum: "items" "items.attributes" "items.attributes+strings" "items.attributes.processing_attribute" "items.processing" "default_processing" "default_processing.attributes"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update train

koha-authorization: {"permissions":{"preservation":1}}
path Parameters
train_id
required
integer

train internal identifier

Request Body schema: application/json
required

A JSON object containing new information about existing train

name
required
string

name of the train

description
string or null

description of the train

default_processing_id
integer or null

foreign key to preservation_processings

not_for_loan
string or null

NOT_LOAN authorised value to apply to item added to this train

created_on
string or null

creation date

closed_on
string or null

closing date

sent_on
string or null

sending date

received_on
string or null

receiving date

default_processing
object or null

the default processing

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "default_processing_id": 0,
  • "not_for_loan": "string",
  • "created_on": "string",
  • "closed_on": "string",
  • "sent_on": "string",
  • "received_on": "string",
  • "default_processing": { }
}

Response samples

Content type
application/json
[
  • {
    }
]

Delete train

koha-authorization: {"permissions":{"preservation":1}}
path Parameters
train_id
required
integer

train internal identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Add item to train

koha-authorization: {"permissions":{"preservation":1}}
path Parameters
train_id
required
integer

train internal identifier

Request Body schema: application/json
required

An item

train_id
integer

internally train identifier

item_id
integer

internally item identifier

user_train_item_id
integer

internally user train item identifier

processing_id
integer

internally processing identifier

added_on
string or null

add date

attributes
Array of any or null

attribute list

catalogue_item
object or null

catalogue item

Responses

Request samples

Content type
application/json
{
  • "train_id": 0,
  • "item_id": 0,
  • "user_train_item_id": 0,
  • "processing_id": 0,
  • "added_on": "string",
  • "attributes": [
    ],
  • "catalogue_item": { }
}

Response samples

Content type
application/json
{
  • "train_item_id": 0,
  • "train_id": 0,
  • "item_id": 0,
  • "user_train_item_id": 0,
  • "processing_id": 0,
  • "added_on": "string",
  • "attributes": [
    ],
  • "catalogue_item": { }
}

Add items to train

koha-authorization: {"permissions":{"preservation":1}}
path Parameters
train_id
required
integer

train internal identifier

Request Body schema: application/json
required

A list of items

Array
object

Responses

Request samples

Content type
application/json
[
  • { }
]

Response samples

Content type
application/json
[
  • { }
]

Update item from train

koha-authorization: {"permissions":{"preservation":1}}
path Parameters
train_id
required
integer

train internal identifier

train_item_id
required
integer

train item internal identifier

header Parameters
x-koha-embed
Array of strings
Items Value: "attributes"

Embed list sent as a request header

Request Body schema: application/json
required

An item

train_id
integer

internally train identifier

item_id
integer

internally item identifier

user_train_item_id
integer

internally user train item identifier

processing_id
integer

internally processing identifier

added_on
string or null

add date

attributes
Array of any or null

attribute list

catalogue_item
object or null

catalogue item

Responses

Request samples

Content type
application/json
{
  • "train_id": 0,
  • "item_id": 0,
  • "user_train_item_id": 0,
  • "processing_id": 0,
  • "added_on": "string",
  • "attributes": [
    ],
  • "catalogue_item": { }
}

Response samples

Content type
application/json
{
  • "train_item_id": 0,
  • "train_id": 0,
  • "item_id": 0,
  • "user_train_item_id": 0,
  • "processing_id": 0,
  • "added_on": "string",
  • "attributes": [
    ],
  • "catalogue_item": { }
}

Remove item from train

koha-authorization: {"permissions":{"preservation":1}}
path Parameters
train_id
required
integer

train internal identifier

train_item_id
required
integer

train item internal identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Get item from train

koha-authorization: {"permissions":{"preservation":1}}
path Parameters
train_id
required
integer

train internal identifier

train_item_id
required
integer

train item internal identifier

header Parameters
x-koha-embed
Array of strings
Items Enum: "attributes" "catalogue_item" "catalogue_item.biblio"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
{
  • "train_item_id": 0,
  • "train_id": 0,
  • "item_id": 0,
  • "user_train_item_id": 0,
  • "processing_id": 0,
  • "added_on": "string",
  • "attributes": [
    ],
  • "catalogue_item": { }
}

Copy an item to an other train

koha-authorization: {"permissions":{"preservation":1}}
path Parameters
train_id
required
integer

train internal identifier

train_item_id
required
integer

train item internal identifier

Request Body schema: application/json
required

The train_id of the new train

train_id
integer

Train id

Responses

Request samples

Content type
application/json
{
  • "train_id": 0
}

Response samples

Content type
application/json
{
  • "train_item_id": 0,
  • "train_id": 0,
  • "item_id": 0,
  • "user_train_item_id": 0,
  • "processing_id": 0,
  • "added_on": "string",
  • "attributes": [
    ],
  • "catalogue_item": { }
}

List processings

koha-authorization: {"permissions":{"preservation":1}}
query Parameters
processing_id
integer

Case insensitive search on processing id

name
string

Case insensitive search on processing name

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add processing

koha-authorization: {"permissions":{"preservation":1}}
Request Body schema: application/json
required

A JSON object containing information about the new processing

name
required
string

name of the processing

letter_code
string or null

Letter code of the letter to use for printing slips

Array of objects (preservation_processing_attribute)

attributes of the processing

Array
processing_attribute_id
integer

Internal processing attribute identifier

processing_id
integer

Internal processing identifier

name
required
string
type
required
string
option_source
string or null

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "letter_code": "string",
  • "attributes": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Get processing

koha-authorization: {"permissions":{"preservation":1}}
path Parameters
processing_id
required
integer

processing internal identifier

header Parameters
x-koha-embed
Array of strings
Items Value: "attributes"

Embed list sent as a request header

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update processing

koha-authorization: {"permissions":{"preservation":1}}
path Parameters
processing_id
required
integer

processing internal identifier

Request Body schema: application/json
required

A JSON object containing new information about existing processing

name
required
string

name of the processing

letter_code
string or null

Letter code of the letter to use for printing slips

Array of objects (preservation_processing_attribute)

attributes of the processing

Array
processing_attribute_id
integer

Internal processing attribute identifier

processing_id
integer

Internal processing identifier

name
required
string
type
required
string
option_source
string or null

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "letter_code": "string",
  • "attributes": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Delete processing

koha-authorization: {"permissions":{"preservation":1}}
path Parameters
processing_id
required
integer

processing internal identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

List items from waiting list

koha-authorization: {"permissions":{"preservation":1}}
query Parameters
external_id
string

Search on the item's barcode

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Value: "biblio"

Embed list sent as a request header

x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add items to waiting list

koha-authorization: {"permissions":{"preservation":1}}
Request Body schema: application/json
required

A list of itemnumbers or barcodes

Array
object

Responses

Request samples

Content type
application/json
[
  • { }
]

Response samples

Content type
application/json
[
  • { }
]

Remove item from waiting list

koha-authorization: {"permissions":{"preservation":1}}
path Parameters
item_id
required
integer

Internal item identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Purchase suggestions

Manage purchase suggestions

List purchase suggestions

This resource returns a list of purchase suggestions

koha-authorization: {"permissions":{"suggestions":["suggestions_manage","suggestions_delete","suggestions_create"]}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add a purchase suggestion

This resource accepts a new purchase suggestion and creates it

koha-authorization: {"permissions":{"suggestions":"suggestions_create"}}
header Parameters
x-koha-override
Array of strings
Items Enum: "any" "max_total" "max_pending"

Overrides list sent as a request header

Request Body schema: application/json
required

A JSON object containing informations about the new suggestion

suggested_by
integer or null

patron_id for the person making the suggestion, foreign key linking to the borrowers table

suggestion_date
string <date>

the suggestion was submitted

managed_by
integer or null

patron_id for the librarian managing the suggestion, foreign key linking to the borrowers table

managed_date
string or null <date>

date the suggestion was updated

accepted_by
integer or null

patron_id for the librarian who accepted the suggestion, foreign key linking to the borrowers table

accepted_date
string or null <date>

date the suggestion was marked as accepted

rejected_by
integer or null

patron_id for the librarian who rejected the suggestion, foreign key linking to the borrowers table

rejected_date
string or null <date>

date the suggestion was marked as rejected

last_status_change_by
integer or null

patron the suggestion was last modified by

last_status_change_date
string or null <date>

date the suggestion was last modified

status
string

Suggestion status. Possible values are:

  • ASKED
  • CHECKED
  • ACCEPTED
  • REJECTED
  • ORDERED
  • AVAILABLE
  • Values from the SUGGEST_STATUS av category
note
string or null

note entered on the suggestion

staff_note
string or null

non-public note entered on the suggestion

author
string or null

author of the suggested item

title
string or null

title of the suggested item

copyright_date
integer or null

copyright date of the suggested item

publisher_code
string or null

publisher of the suggested item

timestamp
string or null <date-time>

timestamp of date created

volume_desc
string or null

volume description

publication_year
string or null

year of publication

publication_place
string or null

publication place of the suggested item

isbn
string or null

isbn of the suggested item

biblio_id
integer or null

foreign key linking the suggestion to the biblio table after the suggestion has been ordered

reason
string or null

reason for accepting or rejecting the suggestion

patron_reason
string or null

reason for making the suggestion

budget_id
integer or null

foreign key linking the suggested budget to the aqbudgets table

library_id
string or null

foreign key linking the suggested branch to the branches table

collection_title
string or null

collection name for the suggested item

item_type
string or null

suggested item type

quantity
string or null

suggested quantity to be purchased

currency
string or null

suggested currency for the suggested price

item_price
number or null

suggested price

total_price
string or null

suggested total cost (price*quantity updated for currency)

archived
boolean or null

archived (processed) suggestion

Responses

Request samples

Content type
application/json
{
  • "suggested_by": 0,
  • "suggestion_date": "2019-08-24",
  • "managed_by": 0,
  • "managed_date": "2019-08-24",
  • "accepted_by": 0,
  • "accepted_date": "2019-08-24",
  • "rejected_by": 0,
  • "rejected_date": "2019-08-24",
  • "last_status_change_by": 0,
  • "last_status_change_date": "2019-08-24",
  • "status": "string",
  • "note": "string",
  • "staff_note": "string",
  • "author": "string",
  • "title": "string",
  • "copyright_date": 0,
  • "publisher_code": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "volume_desc": "string",
  • "publication_year": "string",
  • "publication_place": "string",
  • "isbn": "string",
  • "biblio_id": 0,
  • "reason": "string",
  • "patron_reason": "string",
  • "budget_id": 0,
  • "library_id": "string",
  • "collection_title": "string",
  • "item_type": "string",
  • "quantity": "string",
  • "currency": "string",
  • "item_price": 0,
  • "total_price": "string",
  • "archived": true
}

Response samples

Content type
application/json
{
  • "suggestion_id": 0,
  • "suggested_by": 0,
  • "suggestion_date": "2019-08-24",
  • "managed_by": 0,
  • "managed_date": "2019-08-24",
  • "accepted_by": 0,
  • "accepted_date": "2019-08-24",
  • "rejected_by": 0,
  • "rejected_date": "2019-08-24",
  • "last_status_change_by": 0,
  • "last_status_change_date": "2019-08-24",
  • "status": "string",
  • "note": "string",
  • "staff_note": "string",
  • "author": "string",
  • "title": "string",
  • "copyright_date": 0,
  • "publisher_code": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "volume_desc": "string",
  • "publication_year": "string",
  • "publication_place": "string",
  • "isbn": "string",
  • "biblio_id": 0,
  • "reason": "string",
  • "patron_reason": "string",
  • "budget_id": 0,
  • "library_id": "string",
  • "collection_title": "string",
  • "item_type": "string",
  • "quantity": "string",
  • "currency": "string",
  • "item_price": 0,
  • "total_price": "string",
  • "archived": true
}

Get purchase suggestion

This resource gives access to a specific purchase suggestion

koha-authorization: {"permissions":{"suggestions":["suggestions_manage","suggestions_delete","suggestions_create"]}}
path Parameters
suggestion_id
required
integer

Internal suggestion identifier

Responses

Response samples

Content type
application/json
{
  • "suggestion_id": 0,
  • "suggested_by": 0,
  • "suggestion_date": "2019-08-24",
  • "managed_by": 0,
  • "managed_date": "2019-08-24",
  • "accepted_by": 0,
  • "accepted_date": "2019-08-24",
  • "rejected_by": 0,
  • "rejected_date": "2019-08-24",
  • "last_status_change_by": 0,
  • "last_status_change_date": "2019-08-24",
  • "status": "string",
  • "note": "string",
  • "staff_note": "string",
  • "author": "string",
  • "title": "string",
  • "copyright_date": 0,
  • "publisher_code": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "volume_desc": "string",
  • "publication_year": "string",
  • "publication_place": "string",
  • "isbn": "string",
  • "biblio_id": 0,
  • "reason": "string",
  • "patron_reason": "string",
  • "budget_id": 0,
  • "library_id": "string",
  • "collection_title": "string",
  • "item_type": "string",
  • "quantity": "string",
  • "currency": "string",
  • "item_price": 0,
  • "total_price": "string",
  • "archived": true
}

Update purchase suggestion

This resource allows updating an existing purchase suggestion

koha-authorization: {"permissions":{"suggestions":"suggestions_manage"}}
path Parameters
suggestion_id
required
integer

Internal suggestion identifier

Request Body schema: application/json
required

A JSON object containing informations about the new hold

suggested_by
integer or null

patron_id for the person making the suggestion, foreign key linking to the borrowers table

suggestion_date
string <date>

the suggestion was submitted

managed_by
integer or null

patron_id for the librarian managing the suggestion, foreign key linking to the borrowers table

managed_date
string or null <date>

date the suggestion was updated

accepted_by
integer or null

patron_id for the librarian who accepted the suggestion, foreign key linking to the borrowers table

accepted_date
string or null <date>

date the suggestion was marked as accepted

rejected_by
integer or null

patron_id for the librarian who rejected the suggestion, foreign key linking to the borrowers table

rejected_date
string or null <date>

date the suggestion was marked as rejected

last_status_change_by
integer or null

patron the suggestion was last modified by

last_status_change_date
string or null <date>

date the suggestion was last modified

status
string

Suggestion status. Possible values are:

  • ASKED
  • CHECKED
  • ACCEPTED
  • REJECTED
  • ORDERED
  • AVAILABLE
  • Values from the SUGGEST_STATUS av category
note
string or null

note entered on the suggestion

staff_note
string or null

non-public note entered on the suggestion

author
string or null

author of the suggested item

title
string or null

title of the suggested item

copyright_date
integer or null

copyright date of the suggested item

publisher_code
string or null

publisher of the suggested item

timestamp
string or null <date-time>

timestamp of date created

volume_desc
string or null

volume description

publication_year
string or null

year of publication

publication_place
string or null

publication place of the suggested item

isbn
string or null

isbn of the suggested item

biblio_id
integer or null

foreign key linking the suggestion to the biblio table after the suggestion has been ordered

reason
string or null

reason for accepting or rejecting the suggestion

patron_reason
string or null

reason for making the suggestion

budget_id
integer or null

foreign key linking the suggested budget to the aqbudgets table

library_id
string or null

foreign key linking the suggested branch to the branches table

collection_title
string or null

collection name for the suggested item

item_type
string or null

suggested item type

quantity
string or null

suggested quantity to be purchased

currency
string or null

suggested currency for the suggested price

item_price
number or null

suggested price

total_price
string or null

suggested total cost (price*quantity updated for currency)

archived
boolean or null

archived (processed) suggestion

Responses

Request samples

Content type
application/json
{
  • "suggested_by": 0,
  • "suggestion_date": "2019-08-24",
  • "managed_by": 0,
  • "managed_date": "2019-08-24",
  • "accepted_by": 0,
  • "accepted_date": "2019-08-24",
  • "rejected_by": 0,
  • "rejected_date": "2019-08-24",
  • "last_status_change_by": 0,
  • "last_status_change_date": "2019-08-24",
  • "status": "string",
  • "note": "string",
  • "staff_note": "string",
  • "author": "string",
  • "title": "string",
  • "copyright_date": 0,
  • "publisher_code": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "volume_desc": "string",
  • "publication_year": "string",
  • "publication_place": "string",
  • "isbn": "string",
  • "biblio_id": 0,
  • "reason": "string",
  • "patron_reason": "string",
  • "budget_id": 0,
  • "library_id": "string",
  • "collection_title": "string",
  • "item_type": "string",
  • "quantity": "string",
  • "currency": "string",
  • "item_price": 0,
  • "total_price": "string",
  • "archived": true
}

Response samples

Content type
application/json
{
  • "suggestion_id": 0,
  • "suggested_by": 0,
  • "suggestion_date": "2019-08-24",
  • "managed_by": 0,
  • "managed_date": "2019-08-24",
  • "accepted_by": 0,
  • "accepted_date": "2019-08-24",
  • "rejected_by": 0,
  • "rejected_date": "2019-08-24",
  • "last_status_change_by": 0,
  • "last_status_change_date": "2019-08-24",
  • "status": "string",
  • "note": "string",
  • "staff_note": "string",
  • "author": "string",
  • "title": "string",
  • "copyright_date": 0,
  • "publisher_code": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "volume_desc": "string",
  • "publication_year": "string",
  • "publication_place": "string",
  • "isbn": "string",
  • "biblio_id": 0,
  • "reason": "string",
  • "patron_reason": "string",
  • "budget_id": 0,
  • "library_id": "string",
  • "collection_title": "string",
  • "item_type": "string",
  • "quantity": "string",
  • "currency": "string",
  • "item_price": 0,
  • "total_price": "string",
  • "archived": true
}

Delete purchase suggestion

This resource deletes an existing purchase suggestion

koha-authorization: {"permissions":{"suggestions":"suggestions_delete"}}
path Parameters
suggestion_id
required
integer

Internal suggestion identifier

Responses

Response samples

Content type
application/json
"string"

List possibe managers for suggestions

This resource returns a list of patron allowed to be a manager for suggestions

koha-authorization: {"permissions":{"suggestions":["suggestions_manage","suggestions_delete","suggestions_create"]}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Enum: "extended_attributes" "library"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Quotes

Manage quotes

List quotes

koha-authorization: {"permissions":{"catalogue":"1"}}
query Parameters
quote_id
string

Case insensitive search on quote id

source
string

Case insensitive search on source

text
string

Case insensitive search on text

displayed_on
string

Case Insensative search on last displayed date

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add quote

koha-authorization: {"permissions":{"tools":"edit_quotes"}}
Request Body schema: application/json
required

A JSON object containing informations about the new quote

quote_id
integer

internally assigned quote identifier

source
required
string

source of the quote

text
required
string or null

text

displayed_on
string or null

Last display date

Responses

Request samples

Content type
application/json
{
  • "quote_id": 0,
  • "source": "string",
  • "text": "string",
  • "displayed_on": "string"
}

Response samples

Content type
application/json
{
  • "quote_id": 0,
  • "source": "string",
  • "text": "string",
  • "displayed_on": "string"
}

Get quote

koha-authorization: {"permissions":{"catalogue":"1"}}
path Parameters
quote_id
required
integer

Quote internal identifier

Responses

Response samples

Content type
application/json
{
  • "quote_id": 0,
  • "source": "string",
  • "text": "string",
  • "displayed_on": "string"
}

Update quote

koha-authorization: {"permissions":{"tools":"edit_quotes"}}
path Parameters
quote_id
required
integer

Quote internal identifier

Request Body schema: application/json
required

a quote object

quote_id
integer

internally assigned quote identifier

source
required
string

source of the quote

text
required
string or null

text

displayed_on
string or null

Last display date

Responses

Request samples

Content type
application/json
{
  • "quote_id": 0,
  • "source": "string",
  • "text": "string",
  • "displayed_on": "string"
}

Response samples

Content type
application/json
{
  • "quote_id": 0,
  • "source": "string",
  • "text": "string",
  • "displayed_on": "string"
}

Delete quote

koha-authorization: {"permissions":{"tools":"edit_quotes"}}
path Parameters
quote_id
required
integer

Quote internal identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Recalls

Manage recalls

List recalls for a patron

koha-authorization: {"permissions":{"recalls":"manage_recalls"}}
path Parameters
patron_id
required
integer

Internal patron identifier

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Return claims

Manage return claims

Add a return claim

koha-authorization: {"permissions":{"circulate":"circulate_remaining_permissions"}}
Request Body schema: application/json
required

A JSON object containing fields to modify

item_id
integer

Internal item id to claim as returned

notes
string

Notes about this return claim

created_by
string

User id for the librarian submitting this claim

charge_lost_fee
boolean

Charge a lost fee if true and Koha is set to allow a choice. Ignored otherwise.

refund_lost_fee
boolean

Refund a lost fee if true and a lost fee has previously been charged for the item. Ignored otherwise.

Responses

Request samples

Content type
application/json
{
  • "item_id": 0,
  • "notes": "string",
  • "created_by": "string",
  • "charge_lost_fee": true,
  • "refund_lost_fee": true
}

Response samples

Content type
application/json
{
  • "claim_id": 0,
  • "item_id": 0,
  • "issue_id": 0,
  • "old_issue_id": 0,
  • "patron_id": 0,
  • "notes": "string",
  • "created_on": "2019-08-24T14:15:22Z",
  • "created_by": 0,
  • "updated_on": "2019-08-24T14:15:22Z",
  • "updated_by": 0,
  • "resolution": "string",
  • "resolved_on": "2019-08-24T14:15:22Z",
  • "resolved_by": 0
}

Delete claim

koha-authorization: {"permissions":{"circulate":"circulate_remaining_permissions"}}
path Parameters
claim_id
required
integer

Unique identifier for the claim to be deleted

Responses

Response samples

Content type
application/json
{
  • "claim_id": 0,
  • "item_id": 0,
  • "issue_id": 0,
  • "old_issue_id": 0,
  • "patron_id": 0,
  • "notes": "string",
  • "created_on": "2019-08-24T14:15:22Z",
  • "created_by": 0,
  • "updated_on": "2019-08-24T14:15:22Z",
  • "updated_by": 0,
  • "resolution": "string",
  • "resolved_on": "2019-08-24T14:15:22Z",
  • "resolved_by": 0
}

Update notes

koha-authorization: {"permissions":{"circulate":"circulate_remaining_permissions"}}
path Parameters
claim_id
required
integer

Unique identifier for the claim whose notes are to be updated

Request Body schema: application/json
required

A JSON object containing fields to modify

notes
string

Notes about this return claim

updated_by
string

Interal identifier for the librarian updating the claim notes

Responses

Request samples

Content type
application/json
{
  • "notes": "string",
  • "updated_by": "string"
}

Response samples

Content type
application/json
{
  • "claim_id": 0,
  • "item_id": 0,
  • "issue_id": 0,
  • "old_issue_id": 0,
  • "patron_id": 0,
  • "notes": "string",
  • "created_on": "2019-08-24T14:15:22Z",
  • "created_by": 0,
  • "updated_on": "2019-08-24T14:15:22Z",
  • "updated_by": 0,
  • "resolution": "string",
  • "resolved_on": "2019-08-24T14:15:22Z",
  • "resolved_by": 0
}

Resolve claim

koha-authorization: {"permissions":{"circulate":"circulate_remaining_permissions"}}
path Parameters
claim_id
required
integer

Unique identifier for the claim to be resolved

Request Body schema: application/json
required

A JSON object containing fields to modify

resolution
string

The RETURN_CLAIM_RESOLUTION code to be used to resolve the calim

resolved_by
string

User id for the librarian resolving the claim

new_lost_status
string

New lost status to set to the item

Responses

Request samples

Content type
application/json
{
  • "resolution": "string",
  • "resolved_by": "string",
  • "new_lost_status": "string"
}

Response samples

Content type
application/json
{
  • "claim_id": 0,
  • "item_id": 0,
  • "issue_id": 0,
  • "old_issue_id": 0,
  • "patron_id": 0,
  • "notes": "string",
  • "created_on": "2019-08-24T14:15:22Z",
  • "created_by": 0,
  • "updated_on": "2019-08-24T14:15:22Z",
  • "updated_by": 0,
  • "resolution": "string",
  • "resolved_on": "2019-08-24T14:15:22Z",
  • "resolved_by": 0
}

Rotas

Manage stock rotation

List rotas

koha-authorization: {"permissions":{"catalogue":"1"}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add rota

koha-authorization: {"permissions":{"stockrotation":"1"}}
Request Body schema: application/json
required

A JSON object containing informations about the new hold

title
required
string

rota title

description
required
string or null

rota description

cyclical
required
boolean

rota is cyclical

active
required
boolean

rota is active

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "cyclical": true,
  • "active": true
}

Response samples

Content type
application/json
{
  • "rota_id": 0,
  • "title": "string",
  • "description": "string",
  • "cyclical": true,
  • "active": true
}

Get rota

koha-authorization: {"permissions":{"catalogue":"1"}}
path Parameters
rota_id
required
integer

Rota internal identifier

Responses

Response samples

Content type
application/json
{
  • "rota_id": 0,
  • "title": "string",
  • "description": "string",
  • "cyclical": true,
  • "active": true
}

Update rota

koha-authorization: {"permissions":{"stockrotation":"1"}}
path Parameters
rota_id
required
integer

Rota internal identifier

Request Body schema: application/json
required

A rota object

title
required
string

rota title

description
required
string or null

rota description

cyclical
required
boolean

rota is cyclical

active
required
boolean

rota is active

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "cyclical": true,
  • "active": true
}

Response samples

Content type
application/json
{
  • "rota_id": 0,
  • "title": "string",
  • "description": "string",
  • "cyclical": true,
  • "active": true
}

Delete rota

koha-authorization: {"permissions":{"stockrotation":"1"}}
path Parameters
rota_id
required
integer

Rota internal identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Update stage

koha-authorization: {"permissions":{"stockrotation":"1"}}
path Parameters
rota_id
required
integer

A rotas ID

stage_id
required
integer

A stages ID

Request Body schema: application/json
required

A stages position in the rota

integer

Responses

Request samples

Content type
application/json
0
0

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Search filters

Manage search filters

List search filters

koha-authorization: {"permissions":{"parameters":"manage_search_filters"}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add search filter

koha-authorization: {"permissions":{"parameters":"manage_search_filters"}}
Request Body schema: application/json
required

A JSON object containing informations about the new search filter

name
required
string

filter name

query
string or null

filter query part

limits
string or null

filter limits part

opac
boolean or null

visible on opac

staff_client
boolean or null

visible in staff client

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "query": "string",
  • "limits": "string",
  • "opac": true,
  • "staff_client": true
}

Response samples

Content type
application/json
{
  • "search_filter_id": 0,
  • "name": "string",
  • "query": "string",
  • "limits": "string",
  • "opac": true,
  • "staff_client": true
}

Get search filter

koha-authorization: {"permissions":{"parameters":"manage_search_filters"}}
path Parameters
search_filter_id
required
integer

Search filter internal identifier

Responses

Response samples

Content type
application/json
{
  • "search_filter_id": 0,
  • "name": "string",
  • "query": "string",
  • "limits": "string",
  • "opac": true,
  • "staff_client": true
}

Update search filter

koha-authorization: {"permissions":{"parameters":"manage_search_filters"}}
path Parameters
search_filter_id
required
integer

Search filter internal identifier

Request Body schema: application/json
required

A search filter object

name
required
string

filter name

query
string or null

filter query part

limits
string or null

filter limits part

opac
boolean or null

visible on opac

staff_client
boolean or null

visible in staff client

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "query": "string",
  • "limits": "string",
  • "opac": true,
  • "staff_client": true
}

Response samples

Content type
application/json
{
  • "search_filter_id": 0,
  • "name": "string",
  • "query": "string",
  • "limits": "string",
  • "opac": true,
  • "staff_client": true
}

Delete search filter

koha-authorization: {"permissions":{"parameters":"manage_search_filters"}}
path Parameters
search_filter_id
required
integer

Search filter internal identifier

Responses

Response samples

Content type
application/json
"string"

SMTP servers

Manage SMTP servers configurations

List SMTP servers

koha-authorization: {"permissions":{"parameters":"manage_smtp_servers"}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add SMTP server

koha-authorization: {"permissions":{"parameters":"manage_smtp_servers"}}
Request Body schema: application/json
required

A JSON object representing a new SMTP server configuration

name
required
string

Name of the SMTP server

host
string

SMTP host name

port
integer

TCP port number

timeout
integer

Maximum time in seconds to wait for server

ssl_mode
string
Enum: "disabled" "ssl" "starttls"

If SSL/TLS will be used

user_name
string or null

The user name to use for authentication (optional)

password
string or null

The password to use for authentication (optional)

debug
boolean

If the SMTP connection is set to debug mode

is_default
boolean

Is this the default SMTP server

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "host": "string",
  • "port": 0,
  • "timeout": 0,
  • "ssl_mode": "disabled",
  • "user_name": "string",
  • "password": "string",
  • "debug": true,
  • "is_default": true
}

Response samples

Content type
application/json
{
  • "smtp_server_id": 0,
  • "name": "string",
  • "host": "string",
  • "port": 0,
  • "timeout": 0,
  • "ssl_mode": "disabled",
  • "user_name": "string",
  • "password": "string",
  • "debug": true,
  • "is_default": true
}

Get SMTP server

koha-authorization: {"permissions":{"parameters":"manage_smtp_servers"}}
path Parameters
smtp_server_id
required
integer

SMTP server internal identifier

Responses

Response samples

Content type
application/json
{
  • "smtp_server_id": 0,
  • "name": "string",
  • "host": "string",
  • "port": 0,
  • "timeout": 0,
  • "ssl_mode": "disabled",
  • "user_name": "string",
  • "password": "string",
  • "debug": true,
  • "is_default": true
}

Update SMTP server

koha-authorization: {"permissions":{"parameters":"manage_smtp_servers"}}
path Parameters
smtp_server_id
required
integer

SMTP server internal identifier

Request Body schema: application/json
required

An SMTP server object

name
required
string

Name of the SMTP server

host
string

SMTP host name

port
integer

TCP port number

timeout
integer

Maximum time in seconds to wait for server

ssl_mode
string
Enum: "disabled" "ssl" "starttls"

If SSL/TLS will be used

user_name
string or null

The user name to use for authentication (optional)

password
string or null

The password to use for authentication (optional)

debug
boolean

If the SMTP connection is set to debug mode

is_default
boolean

Is this the default SMTP server

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "host": "string",
  • "port": 0,
  • "timeout": 0,
  • "ssl_mode": "disabled",
  • "user_name": "string",
  • "password": "string",
  • "debug": true,
  • "is_default": true
}

Response samples

Content type
application/json
{
  • "smtp_server_id": 0,
  • "name": "string",
  • "host": "string",
  • "port": 0,
  • "timeout": 0,
  • "ssl_mode": "disabled",
  • "user_name": "string",
  • "password": "string",
  • "debug": true,
  • "is_default": true
}

Delete SMTP server

koha-authorization: {"permissions":{"parameters":"manage_smtp_servers"}}
path Parameters
smtp_server_id
required
integer

SMTP server internal identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Tickets

Manage tickets

Add ticket

Request Body schema: application/json
required

A JSON object containing informations about the new ticket

source
required
string
Value: "catalog"
biblio_id
integer

Internal identifier for the biblio the ticket is related to

title
required
string

Ticket title

body
required
string

Ticket details

reporter_id
integer

Internal identifier for the patron who reported the ticket

assignee
object or null
assignee_id
integer or null
resolver_id
integer or null

Internal identifier for the user who resolved the ticket

resolved_date
string or null <date-time>

Date the ticket was resolved_date

updates_count
integer or null

Number of updates

_strings
object or null

A list of stringified coded values

Responses

Request samples

Content type
application/json
{
  • "source": "catalog",
  • "biblio_id": 0,
  • "title": "string",
  • "body": "string",
  • "reporter_id": 0,
  • "assignee": { },
  • "assignee_id": 0,
  • "resolver_id": 0,
  • "resolved_date": "2019-08-24T14:15:22Z",
  • "updates_count": 0,
  • "_strings": { }
}

Response samples

Content type
application/json
{
  • "ticket_id": 0,
  • "source": "catalog",
  • "reported_date": "2019-08-24T14:15:22Z",
  • "biblio": { },
  • "biblio_id": 0,
  • "title": "string",
  • "body": "string",
  • "status": "string",
  • "reporter": { },
  • "reporter_id": 0,
  • "assignee": { },
  • "assignee_id": 0,
  • "resolver": { },
  • "resolver_id": 0,
  • "resolved_date": "2019-08-24T14:15:22Z",
  • "updates_count": 0,
  • "_strings": { }
}

List tickets

koha-authorization: {"permissions":{"catalogue":"1"}}
query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Enum: "assignee" "reporter" "resolver" "biblio" "updates+count" "+strings"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add ticket

koha-authorization: {"permissions":{"catalogue":"1"}}
Request Body schema: application/json
required

A JSON object containing informations about the new ticket

source
required
string
Value: "catalog"
biblio_id
integer

Internal identifier for the biblio the ticket is related to

title
required
string

Ticket title

body
required
string

Ticket details

reporter_id
integer

Internal identifier for the patron who reported the ticket

assignee
object or null
assignee_id
integer or null
resolver_id
integer or null

Internal identifier for the user who resolved the ticket

resolved_date
string or null <date-time>

Date the ticket was resolved_date

updates_count
integer or null

Number of updates

_strings
object or null

A list of stringified coded values

Responses

Request samples

Content type
application/json
{
  • "source": "catalog",
  • "biblio_id": 0,
  • "title": "string",
  • "body": "string",
  • "reporter_id": 0,
  • "assignee": { },
  • "assignee_id": 0,
  • "resolver_id": 0,
  • "resolved_date": "2019-08-24T14:15:22Z",
  • "updates_count": 0,
  • "_strings": { }
}

Response samples

Content type
application/json
{
  • "ticket_id": 0,
  • "source": "catalog",
  • "reported_date": "2019-08-24T14:15:22Z",
  • "biblio": { },
  • "biblio_id": 0,
  • "title": "string",
  • "body": "string",
  • "status": "string",
  • "reporter": { },
  • "reporter_id": 0,
  • "assignee": { },
  • "assignee_id": 0,
  • "resolver": { },
  • "resolver_id": 0,
  • "resolved_date": "2019-08-24T14:15:22Z",
  • "updates_count": 0,
  • "_strings": { }
}

Get ticket

koha-authorization: {"permissions":{"catalogue":"1"}}
path Parameters
ticket_id
required
integer

Internal ticket identifier

Responses

Response samples

Content type
application/json
{
  • "ticket_id": 0,
  • "source": "catalog",
  • "reported_date": "2019-08-24T14:15:22Z",
  • "biblio": { },
  • "biblio_id": 0,
  • "title": "string",
  • "body": "string",
  • "status": "string",
  • "reporter": { },
  • "reporter_id": 0,
  • "assignee": { },
  • "assignee_id": 0,
  • "resolver": { },
  • "resolver_id": 0,
  • "resolved_date": "2019-08-24T14:15:22Z",
  • "updates_count": 0,
  • "_strings": { }
}

Update ticket

koha-authorization: {"permissions":{"editcatalogue":"edit_catalogue"}}
path Parameters
ticket_id
required
integer

Internal ticket identifier

Request Body schema: application/json
required

A ticket object

source
required
string
Value: "catalog"
biblio_id
integer

Internal identifier for the biblio the ticket is related to

title
required
string

Ticket title

body
required
string

Ticket details

reporter_id
integer

Internal identifier for the patron who reported the ticket

assignee
object or null
assignee_id
integer or null
resolver_id
integer or null

Internal identifier for the user who resolved the ticket

resolved_date
string or null <date-time>

Date the ticket was resolved_date

updates_count
integer or null

Number of updates

_strings
object or null

A list of stringified coded values

Responses

Request samples

Content type
application/json
{
  • "source": "catalog",
  • "biblio_id": 0,
  • "title": "string",
  • "body": "string",
  • "reporter_id": 0,
  • "assignee": { },
  • "assignee_id": 0,
  • "resolver_id": 0,
  • "resolved_date": "2019-08-24T14:15:22Z",
  • "updates_count": 0,
  • "_strings": { }
}

Response samples

Content type
application/json
{
  • "ticket_id": 0,
  • "source": "catalog",
  • "reported_date": "2019-08-24T14:15:22Z",
  • "biblio": { },
  • "biblio_id": 0,
  • "title": "string",
  • "body": "string",
  • "status": "string",
  • "reporter": { },
  • "reporter_id": 0,
  • "assignee": { },
  • "assignee_id": 0,
  • "resolver": { },
  • "resolver_id": 0,
  • "resolved_date": "2019-08-24T14:15:22Z",
  • "updates_count": 0,
  • "_strings": { }
}

Delete ticket

koha-authorization: {"permissions":{"editcatalogue":"edit_catalogue"}}
path Parameters
ticket_id
required
integer

Internal ticket identifier

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

List ticket updates

koha-authorization: {"permissions":{"catalogue":"1"}}
path Parameters
ticket_id
required
integer

Internal ticket identifier

query Parameters
_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Enum: "assignee" "user" "+strings"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add an update to the ticket

koha-authorization: {"permissions":{"editcatalogue":"edit_catalogue"}}
path Parameters
ticket_id
required
integer

Internal ticket identifier

Request Body schema: application/json
required

A ticket update object

user_id
integer

Internal identifier for the patron who added the update

assignee
object or null
assignee_id
integer or null
message
required
string

Ticket update details

public
required
boolean

Is this update intended to be sent to the patron

status
string or null

Status of the ticket after this update

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "user_id": 0,
  • "assignee": { },
  • "assignee_id": 0,
  • "message": "string",
  • "public": true,
  • "status": "string"
}

Response samples

Content type
application/json
{
  • "update_id": 0,
  • "ticket_id": 0,
  • "user": { },
  • "user_id": 0,
  • "assignee": { },
  • "assignee_id": 0,
  • "date": "2019-08-24T14:15:22Z",
  • "message": "string",
  • "public": true,
  • "status": "string"
}

Transfer limits

Manage transfer limits

List transfer limits

This resource returns a list of existing transfer limits.

koha-authorization: {"permissions":{"parameters":"manage_transfers"}}
query Parameters
to_library_id
string

Search on to_library_id

from_library_id
string

Search on from_library_id

item_type
string

Search on item_type

collection_code
string

Search on collection_code

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add a transfer limit

This resource accepts a new transfer limit and creates it if it does not already exist.

koha-authorization: {"permissions":{"parameters":"manage_transfers"}}
Request Body schema: application/json
required

A JSON object containing information about a new transfer limit

limit_id
integer

Internal transfer limit identifier

to_library_id
required
string

Internal library id for which library the item is going to

from_library_id
required
string

Internal library id for which library the item is coming from

item_type
string or null

Itemtype defining the type for this limi

collection_code
string or null

Authorized value for the collection code associated with this limit

Responses

Request samples

Content type
application/json
{
  • "limit_id": 0,
  • "to_library_id": "string",
  • "from_library_id": "string",
  • "item_type": "string",
  • "collection_code": "string"
}

Response samples

Content type
application/json
{
  • "limit_id": 0,
  • "to_library_id": "string",
  • "from_library_id": "string",
  • "item_type": "string",
  • "collection_code": "string"
}

Batch add transfer limits

This resource batch creates new transfer limits based on the given data. Transfer limits can be defined based on collection_code or item_type. The endpoint only accepts one at a time, and which one is used will depend on the value of the BranchTransferLimitsType system preference. For example, if the paramters to_library_id: 'BranchA' and item_type: 'BOOK' are passed in new transfer limits for BOOKs will be created, with one transfer limit each for all the branches defined in Koha. Given 4 branches, 3 limits would be created:

  • to_library_id: 'BranchA', from_library_id: 'BranchB', item_type: 'BOOK' * to_library_id: 'BranchA', from_library_id: 'BranchC', item_type: 'BOOK' * to_library_id: 'BranchA', from_library_id: 'BranchD', item_type: 'BOOK'

The body of the query would look like

    'to_library_id': 'BranchA',
    'item_type': 'BOOK'

} ```
As another example, imagine we have an itemtype that is never supposed to be transferred to another library. If we call that itemtype `LOCAL_ONLY` we would need to just pass `item_type: 'LOCAL_ONLY'`, which would create transfer limits for all libraries, meaning those items would never be allowed to transfer to another library. The body of the query would look like
``` {
    'item_type': 'LOCAL_ONLY'
} ```
koha-authorization: {"permissions":{"parameters":"manage_transfers"}}
Request Body schema: application/json
required

A JSON object containing information about new transfer limits.

to_library_id
string

Internal library id for which library the item is going to

from_library_id
string

Internal library id for which library the item is coming from

item_type
string or null

Itemtype defining the type for this limi

collection_code
string or null

Authorized value for the collection code associated with this limit

Responses

Request samples

Content type
application/json
{
  • "to_library_id": "string",
  • "from_library_id": "string",
  • "item_type": "string",
  • "collection_code": "string"
}

Response samples

Content type
application/json
[
  • {
    }
]

Batch delete transfer limits

This endpoint works just like the POST version, except it deletes transfer in batch rather than creating them.

koha-authorization: {"permissions":{"parameters":"manage_transfers"}}
Request Body schema: application/json
required

A JSON object containing information about new transfer limits.

to_library_id
string

Internal library id for which library the item is going to

from_library_id
string

Internal library id for which library the item is coming from

item_type
string or null

Itemtype defining the type for this limi

collection_code
string or null

Authorized value for the collection code associated with this limit

Responses

Request samples

Content type
application/json
{
  • "to_library_id": "string",
  • "from_library_id": "string",
  • "item_type": "string",
  • "collection_code": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Delete transfer limit

This resource deletes a transfer limit for the given limit id

koha-authorization: {"permissions":{"parameters":"manage_transfers"}}
path Parameters
limit_id
required
string

Internal transfer limit identifier

Responses

Response samples

Content type
application/json
"string"

Two factor authentication

Handle two factor authentication flows

Send OTP token for second step authentication

koha-authorization: {"permissions":{"catalogue":"1"}}

Responses

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "token_type": "string",
  • "expires_in": 0
}

Generate a secret

koha-authorization: {"permissions":{"catalogue":"1"}}

Responses

Response samples

Content type
application/json
{
  • "secret32": "string",
  • "qr_code": "string",
  • "issuer": "string",
  • "key_id": "string"
}

Verify two-factor registration

koha-authorization: {"permissions":{"catalogue":"1"}}
Request Body schema: application/x-www-form-urlencoded
required
secret32
required
string

the secret

pin_code
required
string

the pin code

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

Vendors

Manage vendors for the acquisitions module

List vendors

koha-authorization: {"permissions":{"acquisition":["vendors_manage","marc_order_manage"]}}
query Parameters
name
string

Case insensitive search on vendor name

accountnumber
string

Case insensitive search on vendor's account number

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-request-id
integer

Request id header

x-koha-embed
Array of strings
Items Enum: "aliases" "subscriptions+count"

Embed list sent as a request header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]

Add vendor

koha-authorization: {"permissions":{"acquisition":"vendors_manage"}}
Request Body schema: application/json
required

A JSON object representing a vendor

name
required
string

Vendor name

address1
string or null

Vendor physical address (line 1)

address2
string or null

Vendor physical address (line 2)

address3
string or null

Vendor physical address (line 3)

address4
string or null

Vendor physical address (line 4)

phone
string or null

Vendor phone number

fax
string or null

Vendor fax number

accountnumber
string or null

Vendor account number

type
string or null

Type of vendor

notes
string or null

Vendor notes

postal
string or null

Vendor postal address

url
string or null

Vendor web address

active
boolean or null

Is this vendor active

list_currency
string or null

List prices currency

invoice_currency
string or null

Invoice prices currency

gst
boolean or null

Is the library taxed when buying from this vendor

list_includes_gst
boolean or null

List prices include taxes

invoice_includes_gst
boolean or null

Invoice prices include taxes

tax_rate
number or null

Default tax rate for items ordered from this vendor

discount
number or null

Default discount rate for items ordered from this vendor

deliverytime
integer or null

Expected delivery time (in days)

external_id
string or null

External id

Array of objects (vendor_alias)

List of aliases

Array
alias_id
integer

Internal ID for the extended attribute

vendor_id
integer

ID of the vendor

alias
required
string

The alias

subscriptions_count
integer or null

Number of linked subscriptions

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "address1": "string",
  • "address2": "string",
  • "address3": "string",
  • "address4": "string",
  • "phone": "string",
  • "fax": "string",
  • "accountnumber": "string",
  • "type": "string",
  • "notes": "string",
  • "postal": "string",
  • "url": "string",
  • "active": true,
  • "list_currency": "string",
  • "invoice_currency": "string",
  • "gst": true,
  • "list_includes_gst": true,
  • "invoice_includes_gst": true,
  • "tax_rate": 0,
  • "discount": 0,
  • "deliverytime": 0,
  • "external_id": "string",
  • "aliases": [
    ],
  • "subscriptions_count": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "address1": "string",
  • "address2": "string",
  • "address3": "string",
  • "address4": "string",
  • "phone": "string",
  • "fax": "string",
  • "accountnumber": "string",
  • "type": "string",
  • "notes": "string",
  • "postal": "string",
  • "url": "string",
  • "active": true,
  • "list_currency": "string",
  • "invoice_currency": "string",
  • "gst": true,
  • "list_includes_gst": true,
  • "invoice_includes_gst": true,
  • "tax_rate": 0,
  • "discount": 0,
  • "deliverytime": 0,
  • "external_id": "string",
  • "aliases": [
    ],
  • "subscriptions_count": 0
}

Get vendor

koha-authorization: {"permissions":{"acquisition":"vendors_manage"}}
path Parameters
vendor_id
required
integer

Vendor id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "address1": "string",
  • "address2": "string",
  • "address3": "string",
  • "address4": "string",
  • "phone": "string",
  • "fax": "string",
  • "accountnumber": "string",
  • "type": "string",
  • "notes": "string",
  • "postal": "string",
  • "url": "string",
  • "active": true,
  • "list_currency": "string",
  • "invoice_currency": "string",
  • "gst": true,
  • "list_includes_gst": true,
  • "invoice_includes_gst": true,
  • "tax_rate": 0,
  • "discount": 0,
  • "deliverytime": 0,
  • "external_id": "string",
  • "aliases": [
    ],
  • "subscriptions_count": 0
}

Update vendor

koha-authorization: {"permissions":{"acquisition":"vendors_manage"}}
path Parameters
vendor_id
required
integer

Vendor id

Request Body schema: application/json
required

A JSON object representing a vendor

name
required
string

Vendor name

address1
string or null

Vendor physical address (line 1)

address2
string or null

Vendor physical address (line 2)

address3
string or null

Vendor physical address (line 3)

address4
string or null

Vendor physical address (line 4)

phone
string or null

Vendor phone number

fax
string or null

Vendor fax number

accountnumber
string or null

Vendor account number

type
string or null

Type of vendor

notes
string or null

Vendor notes

postal
string or null

Vendor postal address

url
string or null

Vendor web address

active
boolean or null

Is this vendor active

list_currency
string or null

List prices currency

invoice_currency
string or null

Invoice prices currency

gst
boolean or null

Is the library taxed when buying from this vendor

list_includes_gst
boolean or null

List prices include taxes

invoice_includes_gst
boolean or null

Invoice prices include taxes

tax_rate
number or null

Default tax rate for items ordered from this vendor

discount
number or null

Default discount rate for items ordered from this vendor

deliverytime
integer or null

Expected delivery time (in days)

external_id
string or null

External id

Array of objects (vendor_alias)

List of aliases

Array
alias_id
integer

Internal ID for the extended attribute

vendor_id
integer

ID of the vendor

alias
required
string

The alias

subscriptions_count
integer or null

Number of linked subscriptions

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "address1": "string",
  • "address2": "string",
  • "address3": "string",
  • "address4": "string",
  • "phone": "string",
  • "fax": "string",
  • "accountnumber": "string",
  • "type": "string",
  • "notes": "string",
  • "postal": "string",
  • "url": "string",
  • "active": true,
  • "list_currency": "string",
  • "invoice_currency": "string",
  • "gst": true,
  • "list_includes_gst": true,
  • "invoice_includes_gst": true,
  • "tax_rate": 0,
  • "discount": 0,
  • "deliverytime": 0,
  • "external_id": "string",
  • "aliases": [
    ],
  • "subscriptions_count": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "address1": "string",
  • "address2": "string",
  • "address3": "string",
  • "address4": "string",
  • "phone": "string",
  • "fax": "string",
  • "accountnumber": "string",
  • "type": "string",
  • "notes": "string",
  • "postal": "string",
  • "url": "string",
  • "active": true,
  • "list_currency": "string",
  • "invoice_currency": "string",
  • "gst": true,
  • "list_includes_gst": true,
  • "invoice_includes_gst": true,
  • "tax_rate": 0,
  • "discount": 0,
  • "deliverytime": 0,
  • "external_id": "string",
  • "aliases": [
    ],
  • "subscriptions_count": 0
}

Delete vendor

koha-authorization: {"permissions":{"acquisition":"vendors_manage"}}
path Parameters
vendor_id
required
integer

Vendor id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "error_code": "string"
}

List vendor issues

koha-authorization: {"permissions":{"acquisition":"issue_manage"}}
path Parameters
vendor_id
required
integer

Vendor id

query Parameters
issue_id
integer

Case insensitive search on issue's id

vendor_id
integer

Case insensitive search on vendor's id

type
string

Case insensitive search on issue type

started_on
string

Case insensitive search on issue start date

ended_on
string

Case insensitive search on issue end date

notes
string

Case insensitive search on issue's notes

_match
string
Enum: "contains" "exact" "starts_with" "ends_with"

Matching criteria

_order_by
Array of strings

Sorting criteria

_page
integer

Page number, for paginated object listing

_per_page
integer

Page size, for paginated object listing

q
Array of strings

Query filter sent as a request parameter

header Parameters
x-koha-embed
Array of strings
Items Value: "+strings"

Embed list sent as a request header

x-koha-request-id
integer

Request id header

Request Body schema: application/json

Query filter sent through request"s body

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
[
  • {
    }
]