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

Introduction

This API is documented in OpenAPI format.

Special headers

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.

Biblios

Manage bibliographic records

Get biblio

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

Record internal identifier

Responses

Response samples

Content type
{
  • "error": "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"

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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
object

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
[
  • {
    }
]

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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
object

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
[
  • {
    }
]

Get biblio (public)

path Parameters
biblio_id
required
integer

Record internal identifier

Responses

Response samples

Content type
No sample

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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
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

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

koha-authorization: {"permissions":{"circulate":"circulate_remaining_permissions"}}
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
string

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-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
object

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
[
  • {
    }
]

Get checkout

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

Internal checkout identifier

Responses

Response samples

Content type
application/json
{
  • "checkout_id": 0,
  • "patron_id": 0,
  • "item_id": 0,
  • "due_date": "2019-08-24T14:15:22Z",
  • "library_id": "string",
  • "issuer_id": 0,
  • "checkin_date": "2019-08-24T14:15:22Z",
  • "last_renewed_date": "2019-08-24T14:15:22Z",
  • "renewals": 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": { }
}

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,
  • "due_date": "2019-08-24T14:15:22Z",
  • "library_id": "string",
  • "issuer_id": 0,
  • "checkin_date": "2019-08-24T14:15:22Z",
  • "last_renewed_date": "2019-08-24T14:15:22Z",
  • "renewals": 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": { }
}

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"
}

Circulation rules

Manage circulation rules

Get circulation rules kinds

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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
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

A JSON object containing informations about the new hold

name
required
string

city name

state
required
string Nullable

city state

postal_code
required
string Nullable

city postal code

country
required
string Nullable

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

A city object

name
required
string

city name

state
required
string Nullable

city state

postal_code
required
string Nullable

city postal code

country
required
string Nullable

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"
}

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

A JSON object containing informations about the new hold

biblio_id
integer Nullable

Internal biblio identifier

item_id
integer Nullable

Internal item identifier

pickup_library_id
required
string

Internal library identifier for the pickup library

expiration_date
string <date> Nullable

Hold end date

notes
string Nullable

Notes related to this hold

item_type
string Nullable

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"
}

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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
object

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
[
  • {
    }
]

Holds

Manage holds

List holds

koha-authorization: {"permissions":{"borrowers":"edit_borrowers"}}
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

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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
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
string

Comma-separated list of overrides (valid values: any)

Request Body schema: application/json

A JSON object containing informations about the new hold

patron_id
required
integer

Internal patron identifier

biblio_id
integer Nullable

Internal biblio identifier

hold_date
string <date> Nullable

The date the hold was placed

item_id
integer Nullable

Internal item identifier

pickup_library_id
required
string

Internal library identifier for the pickup library

expiration_date
string <date> Nullable

Hold end date

notes
string Nullable

Notes related to this hold

item_type
string Nullable

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

non_priority
boolean Nullable

Set this hold as non priority

Responses

Request samples

Content type
application/json
{
  • "patron_id": 0,
  • "biblio_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,
  • "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": "string",
  • "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
}

Update hold

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

Internal hold identifier

Request Body schema: application/json

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,
  • "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": "string",
  • "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
}

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

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,
  • "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": "string",
  • "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
}

Cancel hold

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

Internal hold identifier

Responses

Response samples

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

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

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

integer

Responses

Request samples

Content type
application/json
0

Response samples

Content type
application/json
0

Suspend the hold

koha-authorization: {"permissions":{"reserveforothers":"1"}}
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"
}

Resume hold

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

Internal hold identifier

Responses

Response samples

Content type
application/json
{
  • "error": "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
string

Query filter sent as a request parameter

header Parameters
x-koha-override
string

Comma-separated list of overrides (valid values: any)

x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
object

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
[
  • {
    }
]

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

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"
}

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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
object

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
[
  • {
    }
]

ILL backends

Manage ILL module backends

List ILL backends

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

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

Responses

Response samples

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

ILL requests

Manage ILL requests

List ILL requests

koha-authorization: {"permissions":{"ill":"1"}}
query Parameters
embed
Array of strings
Items Enum: "patron" "library" "capabilities" "metadata" "requested_partners" "comments" "status_alias"

Additional objects that should be embedded in the response

backend
string

The name of a ILL backend

orderid
string

The order ID of a request

biblionumber
integer

Internal biblio identifier

borrowernumber
integer

Internal patron identifier

completed
string

The date the request was considered completed

completed_formatted
string

The date the request was considered complete formatted

status
string

A full status string e.g. REQREV

cost
number

The quoted cost of the request

price_paid
number

The final cost of the request

medium
string

The medium of the requested item

updated
string

The last updated date of the request

updated_formatted
string

The last updated date of the request formatted

placed
string

The date the request was placed

placed_formatted
string

The date the request was placed formatted

branchcode
string

Library ID

Responses

Response samples

Content type
application/json
{
  • "error": "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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
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

Responses

Response samples

Content type
application/json
{
  • "item_id": 0,
  • "biblio_id": 0,
  • "external_id": "string",
  • "acquisition_date": "2019-08-24",
  • "acquisition_source": "string",
  • "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-24",
  • "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,
  • "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",
  • "uri": "string",
  • "item_type": "string",
  • "extended_subfields": "string",
  • "serial_issue_number": "string",
  • "copy_number": "string",
  • "inventory_number": "string",
  • "new_status": "string",
  • "exclude_from_local_holds_priority": true
}

getItemPickupLocations

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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
object

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
[
  • {
    }
]

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

opac_info
string

Case insensitive 'starts-with' search on OPAC info

_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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
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

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 Nullable

the first address line of the library

address2
string Nullable

the second address line of the library

address3
string Nullable

the third address line of the library

postal_code
string Nullable

the postal code of the library

city
string Nullable

the city or province of the library

state
string Nullable

the reqional state of the library

country
string Nullable

the county of the library

phone
string Nullable

the primary phone of the library

fax
string Nullable

the fax number of the library

email
string Nullable

the primary email address of the library

illemail
string Nullable

the ILL staff email address of the library

reply_to_email
string Nullable

the email to be used as a Reply-To

return_path_email
string Nullable

the email to be used as Return-Path

url
string Nullable

the URL for your library or branch's website

ip
string Nullable

the IP address for your library or branch

notes
string Nullable

notes related to your library or branch

opac_info
string Nullable

HTML that displays in OPAC

geolocation
string Nullable

geolocation of your library

marc_org_code
string Nullable

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

smtp_server
object Nullable

The library effective SMTP server

needs_override
boolean

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

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",
  • "illemail": "string",
  • "reply_to_email": "string",
  • "return_path_email": "string",
  • "url": "string",
  • "ip": "string",
  • "notes": "string",
  • "opac_info": "string",
  • "geolocation": "string",
  • "marc_org_code": "string",
  • "pickup_location": true,
  • "smtp_server": { },
  • "needs_override": true
}

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",
  • "illemail": "string",
  • "reply_to_email": "string",
  • "return_path_email": "string",
  • "url": "string",
  • "ip": "string",
  • "notes": "string",
  • "opac_info": "string",
  • "geolocation": "string",
  • "marc_org_code": "string",
  • "pickup_location": true,
  • "smtp_server": { },
  • "needs_override": true
}

Get library

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

Internal library identifier

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",
  • "illemail": "string",
  • "reply_to_email": "string",
  • "return_path_email": "string",
  • "url": "string",
  • "ip": "string",
  • "notes": "string",
  • "opac_info": "string",
  • "geolocation": "string",
  • "marc_org_code": "string",
  • "pickup_location": true,
  • "smtp_server": { },
  • "needs_override": true
}

Update library

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

Internal library identifier

Request Body schema: application/json

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 Nullable

the first address line of the library

address2
string Nullable

the second address line of the library

address3
string Nullable

the third address line of the library

postal_code
string Nullable

the postal code of the library

city
string Nullable

the city or province of the library

state
string Nullable

the reqional state of the library

country
string Nullable

the county of the library

phone
string Nullable

the primary phone of the library

fax
string Nullable

the fax number of the library

email
string Nullable

the primary email address of the library

illemail
string Nullable

the ILL staff email address of the library

reply_to_email
string Nullable

the email to be used as a Reply-To

return_path_email
string Nullable

the email to be used as Return-Path

url
string Nullable

the URL for your library or branch's website

ip
string Nullable

the IP address for your library or branch

notes
string Nullable

notes related to your library or branch

opac_info
string Nullable

HTML that displays in OPAC

geolocation
string Nullable

geolocation of your library

marc_org_code
string Nullable

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

smtp_server
object Nullable

The library effective SMTP server

needs_override
boolean

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

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",
  • "illemail": "string",
  • "reply_to_email": "string",
  • "return_path_email": "string",
  • "url": "string",
  • "ip": "string",
  • "notes": "string",
  • "opac_info": "string",
  • "geolocation": "string",
  • "marc_org_code": "string",
  • "pickup_location": true,
  • "smtp_server": { },
  • "needs_override": true
}

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",
  • "illemail": "string",
  • "reply_to_email": "string",
  • "return_path_email": "string",
  • "url": "string",
  • "ip": "string",
  • "notes": "string",
  • "opac_info": "string",
  • "geolocation": "string",
  • "marc_org_code": "string",
  • "pickup_location": true,
  • "smtp_server": { },
  • "needs_override": true
}

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"

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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
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

A JSON object containing informations about the new macro

name
required
string

macro name

macro_text
required
string Nullable

macro text

patron_id
required
integer Nullable

borrower number

shared
required
boolean Nullable

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 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

An advanced editor macro object

name
required
string

macro name

macro_text
required
string Nullable

macro text

patron_id
required
integer Nullable

borrower number

shared
required
boolean Nullable

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"

Add shared advanced editor macros

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

A JSON object containing informations about the new macro

name
required
string

macro name

macro_text
required
string Nullable

macro text

patron_id
required
integer Nullable

borrower number

shared
required
boolean Nullable

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

An advanced editor macro object

name
required
string

macro name

macro_text
required
string Nullable

macro text

patron_id
required
integer Nullable

borrower number

shared
required
boolean Nullable

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"

Orders

Manage acquisition orders

List orders

koha-authorization: {"permissions":{"acquisition":["order_manage","order_manage_all"]}}
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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
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

A JSON object representing an order

order_id
integer

Internally assigned order identifier

biblio_id
integer Nullable

Identifier for the linked bibliographic record

created_by
integer Nullable

Interal patron identifier of the order line creator

entry_date
string <date> Nullable

Date the bib was added to the basket

quantity
integer Nullable

Ordered quantity

currency
string Nullable

Currency used for the purchase

list_price
number Nullable

Vendor price for the line item

replacement_price
number Nullable

Replacement cost for this item

date_received
string <date> Nullable

Date the order was received

invoice_id
integer Nullable

Id of the order invoice

shipping_cost
number Nullable

Shipping cost

unit_price
number Nullable

The actual cost entered when receiving this line item

unit_price_tax_excluded
number Nullable

Unit price excluding tax (on receiving)

unit_price_tax_included
number Nullable

Unit price including tax (on receiving)

quantity_received
integer

Quantity received so far

cancellation_date
string <date> Nullable

Date the line item was deleted

cancellation_reason
string Nullable

Reason of cancellation

internal_note
string Nullable

Notes related to this order line, made for staff

vendor_note
string Nullable

Notes related to this order line, made for vendor

basket_id
integer Nullable

Basket this order is linked to

timestamp
string <date-time>

Date and time this order line was last modified

rrp
number Nullable

Retail cost for this item

rrp_tax_excluded
number Nullable

Replacement cost for this item (tax excluded)

rrp_tax_included
number Nullable

Replacement cost for this item (tax included)

ecost
number Nullable

Effective cost

ecost_tax_excluded
number Nullable

Effective cost (tax excluded)

ecost_tax_included
number Nullable

Effective cost (tax included)

tax_rate_on_ordering
number Nullable

Tax rate on ordering (%)

tax_rate_on_receiving
number Nullable

Tax rate on receiving (%)

tax_value_on_ordering
number Nullable

Tax value on ordering

tax_value_on_receiving
number Nullable

Tax value on receiving

discount_rate
number Nullable

Discount rate

fund_id
integer

Internal identifier for the fund this order goes against

statistics_1
string Nullable

Statistical field

statistics_2
string Nullable

Statistical field (2)

statistics_1_authcat
string Nullable

Statistical category for this order

statistics_2_authcat
string Nullable

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 <date> Nullable

Last date a claim letter was generated

subscription_id
integer Nullable

Subscription ID linking the order to a subscription

parent_order_id
integer Nullable

Order ID of parent order line if exists

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

The current order status

basket
object Nullable
biblio
object Nullable
current_item_level_holds_count
integer

Current holds count for associated items

fund
object Nullable
invoice
object Nullable
items
Array of any
subscription
object Nullable

Responses

Request samples

Content type
application/json
{
  • "order_id": 0,
  • "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,
  • "fund": { },
  • "invoice": { },
  • "items": [
    ],
  • "subscription": { }
}

Response samples

Content type
application/json
{
  • "order_id": 0,
  • "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,
  • "fund": { },
  • "invoice": { },
  • "items": [
    ],
  • "subscription": { }
}

Get order

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

Internal order identifier

Responses

Response samples

Content type
application/json
{
  • "order_id": 0,
  • "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,
  • "fund": { },
  • "invoice": { },
  • "items": [
    ],
  • "subscription": { }
}

Update order

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

Internal order identifier

Request Body schema: application/json

A JSON object representing an order

order_id
integer

Internally assigned order identifier

biblio_id
integer Nullable

Identifier for the linked bibliographic record

created_by
integer Nullable

Interal patron identifier of the order line creator

entry_date
string <date> Nullable

Date the bib was added to the basket

quantity
integer Nullable

Ordered quantity

currency
string Nullable

Currency used for the purchase

list_price
number Nullable

Vendor price for the line item

replacement_price
number Nullable

Replacement cost for this item

date_received
string <date> Nullable

Date the order was received

invoice_id
integer Nullable

Id of the order invoice

shipping_cost
number Nullable

Shipping cost

unit_price
number Nullable

The actual cost entered when receiving this line item

unit_price_tax_excluded
number Nullable

Unit price excluding tax (on receiving)

unit_price_tax_included
number Nullable

Unit price including tax (on receiving)

quantity_received
integer

Quantity received so far

cancellation_date
string <date> Nullable

Date the line item was deleted

cancellation_reason
string Nullable

Reason of cancellation

internal_note
string Nullable

Notes related to this order line, made for staff

vendor_note
string Nullable

Notes related to this order line, made for vendor

basket_id
integer Nullable

Basket this order is linked to

timestamp
string <date-time>

Date and time this order line was last modified

rrp
number Nullable

Retail cost for this item

rrp_tax_excluded
number Nullable

Replacement cost for this item (tax excluded)

rrp_tax_included
number Nullable

Replacement cost for this item (tax included)

ecost
number Nullable

Effective cost

ecost_tax_excluded
number Nullable

Effective cost (tax excluded)

ecost_tax_included
number Nullable

Effective cost (tax included)

tax_rate_on_ordering
number Nullable

Tax rate on ordering (%)

tax_rate_on_receiving
number Nullable

Tax rate on receiving (%)

tax_value_on_ordering
number Nullable

Tax value on ordering

tax_value_on_receiving
number Nullable

Tax value on receiving

discount_rate
number Nullable

Discount rate

fund_id
integer

Internal identifier for the fund this order goes against

statistics_1
string Nullable

Statistical field

statistics_2
string Nullable

Statistical field (2)

statistics_1_authcat
string Nullable

Statistical category for this order

statistics_2_authcat
string Nullable

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 <date> Nullable

Last date a claim letter was generated

subscription_id
integer Nullable

Subscription ID linking the order to a subscription

parent_order_id
integer Nullable

Order ID of parent order line if exists

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

The current order status

basket
object Nullable
biblio
object Nullable
current_item_level_holds_count
integer

Current holds count for associated items

fund
object Nullable
invoice
object Nullable
items
Array of any
subscription
object Nullable

Responses

Request samples

Content type
application/json
{
  • "order_id": 0,
  • "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,
  • "fund": { },
  • "invoice": { },
  • "items": [
    ],
  • "subscription": { }
}

Response samples

Content type
application/json
{
  • "order_id": 0,
  • "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,
  • "fund": { },
  • "invoice": { },
  • "items": [
    ],
  • "subscription": { }
}

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"
}

OAuth

Handle OAuth flows

Get access token

Request Body schema: application/x-www-form-urlencoded
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
}

Patrons

Manage patrons

List patrons

koha-authorization: {"permissions":{"borrowers":"1"}}
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

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

guarantor_id
string

Search on guarantor_id

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

_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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
object

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
[
  • {
    }
]

Add patron

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

A JSON object containing information about the new patron

patron_id
integer

Internal patron identifier

cardnumber
stringnull

library assigned user identifier

surname
required
stringnull

patron's last name

firstname
stringnull

patron's first name

title
string Nullable

patron's title

other_name
string Nullable

any other names associated with the patron

initials
string Nullable

initials of the patron

street_number
string Nullable

street number of patron's primary address

street_type
string Nullable

street type of patron's primary address

address
required
string Nullable

first address line of patron's primary address

address2
string Nullable

second address line of patron's primary address

city
required
string Nullable

city or town of patron's primary address

state
string Nullable

state or province of patron's primary address

postal_code
string Nullable

zip or postal code of patron's primary address

country
string Nullable

country of patron's primary address

email
stringnull

primary email address for patron's primary address

phone
stringnull

primary phone number for patron's primary address

mobile
string Nullable

the other phone number for patron's primary address

fax
string Nullable

fax number for patron's primary address

secondary_email
string Nullable

secondary email address for patron's primary address

secondary_phone
string Nullable

secondary phone number for patron's primary address

altaddress_street_number
string Nullable

street number of patron's alternate address

altaddress_street_type
string Nullable

street type of patron's alternate address

altaddress_address
string Nullable

first address line of patron's alternate address

altaddress_address2
string Nullable

second address line of patron's alternate address

altaddress_city
string Nullable

city or town of patron's alternate address

altaddress_state
string Nullable

state or province of patron's alternate address

altaddress_postal_code
string Nullable

zip or postal code of patron's alternate address

altaddress_country
string Nullable

country of patron's alternate address

altaddress_email
string Nullable

email address for patron's alternate address

altaddress_phone
string Nullable

phone number for patron's alternate address

date_of_birth
string <date> Nullable

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 <date> Nullable

date the patron was added to Koha

expiry_date
string <date> Nullable

date the patron's card is set to expire

date_renewed
string <date> Nullable

date the patron's card was last renewed

incorrect_address
boolean Nullable

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

patron_card_lost
boolean Nullable

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

staff_notes
string Nullable

a note on the patron's account

relationship_type
string Nullable

used for children to include the relationship to their guarantor

gender
string Nullable

patron's gender

userid
string Nullable

patron's login

opac_notes
string Nullable

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

altaddress_notes
string Nullable

a note related to patron's alternate address

statistics_1
string Nullable

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

statistics_2
string Nullable

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 Nullable

first name of alternate contact for the patron

altcontact_surname
string Nullable

surname or last name of the alternate contact for the patron

altcontact_address
string Nullable

the first address line for the alternate contact for the patron

altcontact_address2
string Nullable

the second address line for the alternate contact for the patron

altcontact_city
string Nullable

the city for the alternate contact for the patron

altcontact_state
string Nullable

the state for the alternate contact for the patron

altcontact_postal_code
string Nullable

the zipcode for the alternate contact for the patron

altcontact_country
string Nullable

the country for the alternate contact for the patron

altcontact_phone
string Nullable

the phone number for the alternate contact for the patron

sms_number
string Nullable

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

sms_provider_id
integer Nullable

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 <date-time> Nullable

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 Nullable

number of failed login attemps

overdrive_auth_token
string Nullable

persist OverDrive auth token

Array of objects (patron_extended_attribute)

patron's extended attributes

Responses

Request samples

Content type
application/json
{
  • "patron_id": 0,
  • "cardnumber": null,
  • "surname": null,
  • "firstname": null,
  • "title": "string",
  • "other_name": "string",
  • "initials": "string",
  • "street_number": "string",
  • "street_type": "string",
  • "address": "string",
  • "address2": "string",
  • "city": "string",
  • "state": "string",
  • "postal_code": "string",
  • "country": "string",
  • "email": null,
  • "phone": null,
  • "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": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Get patron

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

Internal patron identifier

Responses

Response samples

Content type
application/json
{
  • "patron_id": 0,
  • "cardnumber": null,
  • "surname": null,
  • "firstname": null,
  • "title": "string",
  • "other_name": "string",
  • "initials": "string",
  • "street_number": "string",
  • "street_type": "string",
  • "address": "string",
  • "address2": "string",
  • "city": "string",
  • "state": "string",
  • "postal_code": "string",
  • "country": "string",
  • "email": null,
  • "phone": null,
  • "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,
  • "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": [
    ]
}

Update patron

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

Internal patron identifier

Request Body schema: application/json

A JSON object containing new information about existing patron

patron_id
integer

Internal patron identifier

cardnumber
stringnull

library assigned user identifier

surname
required
stringnull

patron's last name

firstname
stringnull

patron's first name

title
string Nullable

patron's title

other_name
string Nullable

any other names associated with the patron

initials
string Nullable

initials of the patron

street_number
string Nullable

street number of patron's primary address

street_type
string Nullable

street type of patron's primary address

address
required
string Nullable

first address line of patron's primary address

address2
string Nullable

second address line of patron's primary address

city
required
string Nullable

city or town of patron's primary address

state
string Nullable

state or province of patron's primary address

postal_code
string Nullable

zip or postal code of patron's primary address

country
string Nullable

country of patron's primary address

email
stringnull

primary email address for patron's primary address

phone
stringnull

primary phone number for patron's primary address

mobile
string Nullable

the other phone number for patron's primary address

fax
string Nullable

fax number for patron's primary address

secondary_email
string Nullable

secondary email address for patron's primary address

secondary_phone
string Nullable

secondary phone number for patron's primary address

altaddress_street_number
string Nullable

street number of patron's alternate address

altaddress_street_type
string Nullable

street type of patron's alternate address

altaddress_address
string Nullable

first address line of patron's alternate address

altaddress_address2
string Nullable

second address line of patron's alternate address

altaddress_city
string Nullable

city or town of patron's alternate address

altaddress_state
string Nullable

state or province of patron's alternate address

altaddress_postal_code
string Nullable

zip or postal code of patron's alternate address

altaddress_country
string Nullable

country of patron's alternate address

altaddress_email
string Nullable

email address for patron's alternate address

altaddress_phone
string Nullable

phone number for patron's alternate address

date_of_birth
string <date> Nullable

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 <date> Nullable

date the patron was added to Koha

expiry_date
string <date> Nullable

date the patron's card is set to expire

date_renewed
string <date> Nullable

date the patron's card was last renewed

incorrect_address
boolean Nullable

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

patron_card_lost
boolean Nullable

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

staff_notes
string Nullable

a note on the patron's account

relationship_type
string Nullable

used for children to include the relationship to their guarantor

gender
string Nullable

patron's gender

userid
string Nullable

patron's login

opac_notes
string Nullable

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

altaddress_notes
string Nullable

a note related to patron's alternate address

statistics_1
string Nullable

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

statistics_2
string Nullable

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 Nullable

first name of alternate contact for the patron

altcontact_surname
string Nullable

surname or last name of the alternate contact for the patron

altcontact_address
string Nullable

the first address line for the alternate contact for the patron

altcontact_address2
string Nullable

the second address line for the alternate contact for the patron

altcontact_city
string Nullable

the city for the alternate contact for the patron

altcontact_state
string Nullable

the state for the alternate contact for the patron

altcontact_postal_code
string Nullable

the zipcode for the alternate contact for the patron

altcontact_country
string Nullable

the country for the alternate contact for the patron

altcontact_phone
string Nullable

the phone number for the alternate contact for the patron

sms_number
string Nullable

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

sms_provider_id
integer Nullable

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 <date-time> Nullable

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 Nullable

number of failed login attemps

overdrive_auth_token
string Nullable

persist OverDrive auth token

Array of objects (patron_extended_attribute)

patron's extended attributes

Responses

Request samples

Content type
application/json
{
  • "patron_id": 0,
  • "cardnumber": null,
  • "surname": null,
  • "firstname": null,
  • "title": "string",
  • "other_name": "string",
  • "initials": "string",
  • "street_number": "string",
  • "street_type": "string",
  • "address": "string",
  • "address2": "string",
  • "city": "string",
  • "state": "string",
  • "postal_code": "string",
  • "country": "string",
  • "email": null,
  • "phone": null,
  • "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": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Delete patron

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

Internal patron identifier

Responses

Response samples

Content type
application/json
{
  • "error": "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": {
    }
}

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

A JSON object containing credit information

credit_type
string

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

amount
required
number >= 0

Credit amount

library_id
string Nullable

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,
  • "checkout_id": 0,
  • "patron_id": 0,
  • "item_id": 0,
  • "date": "2019-08-24T14:15:22Z",
  • "amount": 0,
  • "description": "string",
  • "account_type": "string",
  • "debit_type": "string",
  • "credit_type": "string",
  • "payment_type": "string",
  • "amount_outstanding": 0,
  • "last_increment": 0,
  • "timestamp": "2019-08-24T14:15:22Z",
  • "internal_note": "string",
  • "user_id": 0,
  • "library_id": "string",
  • "interface": "string",
  • "status": "string",
  • "cash_register_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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
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

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

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

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

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

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"
}

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"
}

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"
}

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

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"
}

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

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"
}

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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
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

A JSON object containing informations about the new quote

source
required
string

source of the quote

text
required
string Nullable

text

displayed_on
string Nullable

Last display date

Responses

Request samples

Content type
application/json
{
  • "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

a quote object

source
required
string

source of the quote

text
required
string Nullable

text

displayed_on
string Nullable

Last display date

Responses

Request samples

Content type
application/json
{
  • "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"
}

Return claims

Manage return claims

Add a return claim

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

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.

Responses

Request samples

Content type
application/json
{
  • "item_id": 0,
  • "notes": "string",
  • "created_by": "string",
  • "charge_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
}

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

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

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
}

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
}

Rotas

Manage rotas

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

A stages position in the rota

integer

Responses

Request samples

Content type
application/json
0

Response samples

Content type
application/json
{
  • "error": "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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
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

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 Nullable

The user name to use for authentication (optional)

password
string Nullable

The password to use for authentication (optional)

debug
boolean

If the SMTP connection is set to debug mode

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
}

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
}

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
}

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

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 Nullable

The user name to use for authentication (optional)

password
string Nullable

The password to use for authentication (optional)

debug
boolean

If the SMTP connection is set to debug mode

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
}

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
}

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"
}

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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
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

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 Nullable

Itemtype defining the type for this limi

collection_code
string Nullable

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"
}

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"

Batch add transfer limits

This resource batch creates new transfer limits based on the given data. 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

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 Nullable

Itemtype defining the type for this limi

collection_code
string Nullable

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

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 Nullable

Itemtype defining the type for this limi

collection_code
string Nullable

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
"string"

Purchase suggestions

Manage purchase suggestions

List purchase suggestions

This resource returns a list of purchase suggestions

koha-authorization: {"permissions":{"suggestions":"suggestions_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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
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_manage"}}
header Parameters
x-koha-override
string

Overrides list sent as a request header Valid values:

  • any
  • max_total
  • max_pending
Request Body schema: application/json

A JSON object containing informations about the new suggestion

suggested_by
integer Nullable

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 Nullable

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

managed_date
string <date> Nullable

date the suggestion was updated

accepted_by
integer Nullable

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

accepted_date
string <date> Nullable

date the suggestion was marked as accepted

rejected_by
integer Nullable

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

rejected_date
string <date> Nullable

date the suggestion was marked as rejected

last_status_change_by
integer Nullable

patron the suggestion was last modified by

last_status_change_date
string <date> Nullable

date the suggestion was last modified

status
string
Enum: "ASKED" "CHECKED" "ACCEPTED" "REJECTED"

Suggestion status

note
string Nullable

note entered on the suggestion

author
string Nullable

author of the suggested item

title
string Nullable

title of the suggested item

copyright_date
integer Nullable

copyright date of the suggested item

publisher_code
string Nullable

publisher of the suggested item

timestamp
string <date-time> Nullable

timestamp of date created

volume_desc
string Nullable

volume description

publication_year
string Nullable

year of publication

publication_place
string Nullable

publication place of the suggested item

isbn
string Nullable

isbn of the suggested item

biblio_id
integer Nullable

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

reason
string Nullable

reason for accepting or rejecting the suggestion

patron_reason
string Nullable

reason for making the suggestion

budget_id
integer Nullable

foreign key linking the suggested budget to the aqbudgets table

library_id
string Nullable

foreign key linking the suggested branch to the branches table

collection_title
string Nullable

collection name for the suggested item

item_type
string Nullable

suggested item type

quantity
string Nullable

suggested quantity to be purchased

currency
string Nullable

suggested currency for the suggested price

item_price
number Nullable

suggested price

total_price
string Nullable

suggested total cost (price*quantity updated for currency)

archived
boolean Nullable

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": "ASKED",
  • "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": "ASKED",
  • "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"}}
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": "ASKED",
  • "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

A JSON object containing informations about the new hold

suggested_by
integer Nullable

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 Nullable

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

managed_date
string <date> Nullable

date the suggestion was updated

accepted_by
integer Nullable

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

accepted_date
string <date> Nullable

date the suggestion was marked as accepted

rejected_by
integer Nullable

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

rejected_date
string <date> Nullable

date the suggestion was marked as rejected

last_status_change_by
integer Nullable

patron the suggestion was last modified by

last_status_change_date
string <date> Nullable

date the suggestion was last modified

status
string
Enum: "ASKED" "CHECKED" "ACCEPTED" "REJECTED"

Suggestion status

note
string Nullable

note entered on the suggestion

author
string Nullable

author of the suggested item

title
string Nullable

title of the suggested item

copyright_date
integer Nullable

copyright date of the suggested item

publisher_code
string Nullable

publisher of the suggested item

timestamp
string <date-time> Nullable

timestamp of date created

volume_desc
string Nullable

volume description

publication_year
string Nullable

year of publication

publication_place
string Nullable

publication place of the suggested item

isbn
string Nullable

isbn of the suggested item

biblio_id
integer Nullable

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

reason
string Nullable

reason for accepting or rejecting the suggestion

patron_reason
string Nullable

reason for making the suggestion

budget_id
integer Nullable

foreign key linking the suggested budget to the aqbudgets table

library_id
string Nullable

foreign key linking the suggested branch to the branches table

collection_title
string Nullable

collection name for the suggested item

item_type
string Nullable

suggested item type

quantity
string Nullable

suggested quantity to be purchased

currency
string Nullable

suggested currency for the suggested price

item_price
number Nullable

suggested price

total_price
string Nullable

suggested total cost (price*quantity updated for currency)

archived
boolean Nullable

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": "ASKED",
  • "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": "ASKED",
  • "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_manage"}}
path Parameters
suggestion_id
required
integer

Internal suggestion identifier

Responses

Response samples

Content type
application/json
"string"

Vendors

Manage vendors for the acquisitions module

List vendors

koha-authorization: {"permissions":{"acquisition":"vendors_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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
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

A JSON object representing a vendor

name
required
string

Vendor name

address1
string Nullable

Vendor physical address (line 1)

address2
string Nullable

Vendor physical address (line 2)

address3
string Nullable

Vendor physical address (line 3)

address4
string Nullable

Vendor physical address (line 4)

phone
string Nullable

Vendor phone number

fax
string Nullable

Vendor fax number

accountnumber
string Nullable

Vendor account number

notes
string Nullable

Vendor notes

postal
string Nullable

Vendor postal address

url
string Nullable

Vendor web address

active
boolean Nullable

Is this vendor active

list_currency
string Nullable

List prices currency

invoice_currency
string Nullable

Invoice prices currency

gst
boolean Nullable

Is the library taxed when buying from this vendor

list_includes_gst
boolean Nullable

List prices include taxes

invoice_includes_gst
boolean Nullable

Invoice prices include taxes

tax_rate
number Nullable

Default tax rate for items ordered from this vendor

discount
number Nullable

Default discount rate for items ordered from this vendor

deliverytime
integer Nullable

Expected delivery time (in days)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "address1": "string",
  • "address2": "string",
  • "address3": "string",
  • "address4": "string",
  • "phone": "string",
  • "fax": "string",
  • "accountnumber": "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
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "address1": "string",
  • "address2": "string",
  • "address3": "string",
  • "address4": "string",
  • "phone": "string",
  • "fax": "string",
  • "accountnumber": "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
}

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",
  • "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
}

Update vendor

koha-authorization: {"permissions":{"acquisition":"vendors_manage"}}
path Parameters
vendor_id
required
integer

Vendor id

Request Body schema: application/json

A JSON object representing a vendor

name
required
string

Vendor name

address1
string Nullable

Vendor physical address (line 1)

address2
string Nullable

Vendor physical address (line 2)

address3
string Nullable

Vendor physical address (line 3)

address4
string Nullable

Vendor physical address (line 4)

phone
string Nullable

Vendor phone number

fax
string Nullable

Vendor fax number

accountnumber
string Nullable

Vendor account number

notes
string Nullable

Vendor notes

postal
string Nullable

Vendor postal address

url
string Nullable

Vendor web address

active
boolean Nullable

Is this vendor active

list_currency
string Nullable

List prices currency

invoice_currency
string Nullable

Invoice prices currency

gst
boolean Nullable

Is the library taxed when buying from this vendor

list_includes_gst
boolean Nullable

List prices include taxes

invoice_includes_gst
boolean Nullable

Invoice prices include taxes

tax_rate
number Nullable

Default tax rate for items ordered from this vendor

discount
number Nullable

Default discount rate for items ordered from this vendor

deliverytime
integer Nullable

Expected delivery time (in days)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "address1": "string",
  • "address2": "string",
  • "address3": "string",
  • "address4": "string",
  • "phone": "string",
  • "fax": "string",
  • "accountnumber": "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
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "address1": "string",
  • "address2": "string",
  • "address3": "string",
  • "address4": "string",
  • "phone": "string",
  • "fax": "string",
  • "accountnumber": "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
}

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"
}

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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
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

A JSON object containing a import batch profile

name
string

name of this profile

matcher_id
integer Nullable

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

template_id
integer Nullable

the id of the marc modification template

overlay_action
string Nullable

how to handle duplicate records

nomatch_action
string Nullable

how to handle records where no match is found

item_action
string Nullable

what to do with item records

parse_items
boolean Nullable

should items be parsed

record_type
string Nullable

type of record in the batch

encoding
string Nullable

file encoding

format
string Nullable

marc format

comments
string Nullable

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

A JSON object containing a import batch profile

name
string

name of this profile

matcher_id
integer Nullable

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

template_id
integer Nullable

the id of the marc modification template

overlay_action
string Nullable

how to handle duplicate records

nomatch_action
string Nullable

how to handle records where no match is found

item_action
string Nullable

what to do with item records

parse_items
boolean Nullable

should items be parsed

record_type
string Nullable

type of record in the batch

encoding
string Nullable

file encoding

format
string Nullable

marc format

comments
string Nullable

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"
}

pickup_locations

getItemPickupLocations

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
string

Query filter sent as a request parameter

header Parameters
x-koha-query
string

Query filter sent as a request header

Request Body schema: application/json

Query filter sent through request's body

One of
object

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
[
  • {
    }
]