Properties
| Name | Type | Description |
|---|---|---|
| patron_id | integer | |
| cardnumber | string | |
| surname | string | |
| firstname | string | |
| preferred_name | string | |
| middle_name | string | |
| title | string | |
| other_name | string | |
| initials | string | |
| pronouns | string | |
| address | string | |
| address2 | string | |
| city | string | |
| state | string | |
| postal_code | string | |
| country | string | |
| string | ||
| phone | string | |
| mobile | string | |
| fax | string | |
| date_of_birth | string | |
| library_id | string | |
| category_id | string | |
| date_enrolled | string | |
| expiry_date | string | |
| date_renewed | string | |
| expired | boolean | |
| restricted | boolean | |
| staff_notes | string | |
| gender | string | |
| userid | string | |
| opac_notes | string | |
| statistics_1 | string | |
| statistics_2 | string | |
| autorenew_checkouts | boolean | |
| updated_on | string | |
| last_seen | string | |
| lang | string | |
| login_attempts | integer | |
| privacy | integer | |
| checkouts_count | integer | |
| overdues_count | integer | |
| account_balance | integer | |
| protected | boolean | |
| self_renewal_available | boolean |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/koha/main/json-schema/koha-get-api-v1-patrons-response2-schema.json",
"title": "GetApiV1PatronsResponse2",
"x-generated": "2026-10-14",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/_ae-authored/koha-openapi-generated.yml#/components/schemas/GetApiV1PatronsResponse2",
"type": "object",
"properties": {
"patron_id": {
"type": "integer"
},
"cardnumber": {
"type": "string"
},
"surname": {
"type": "string"
},
"firstname": {
"type": "string"
},
"preferred_name": {
"type": "string"
},
"middle_name": {
"type": "string"
},
"title": {
"type": "string"
},
"other_name": {
"type": "string"
},
"initials": {
"type": "string"
},
"pronouns": {
"type": "string"
},
"address": {
"type": "string"
},
"address2": {
"type": "string"
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"country": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"mobile": {
"type": "string"
},
"fax": {
"type": "string"
},
"date_of_birth": {
"type": "string"
},
"library_id": {
"type": "string"
},
"category_id": {
"type": "string"
},
"date_enrolled": {
"type": "string"
},
"expiry_date": {
"type": "string"
},
"date_renewed": {
"type": "string"
},
"expired": {
"type": "boolean"
},
"restricted": {
"type": "boolean"
},
"staff_notes": {
"type": "string"
},
"gender": {
"type": "string"
},
"userid": {
"type": "string"
},
"opac_notes": {
"type": "string"
},
"statistics_1": {
"type": "string"
},
"statistics_2": {
"type": "string"
},
"autorenew_checkouts": {
"type": "boolean"
},
"updated_on": {
"type": "string"
},
"last_seen": {
"type": "string"
},
"lang": {
"type": "string"
},
"login_attempts": {
"type": "integer"
},
"privacy": {
"type": "integer"
},
"checkouts_count": {
"type": "integer"
},
"overdues_count": {
"type": "integer"
},
"account_balance": {
"type": "integer"
},
"protected": {
"type": "boolean"
},
"self_renewal_available": {
"type": "boolean"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/koha-get-api-v1-patrons-response2"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.