{ "/authorities/{authority_id}": { "get": { "x-mojo-to": "Com::Theke::BiblioCommons::AuthoritiesController#get_authority", "operationId": "get_authority", "tags": ["authorities"], "parameters": [ { "description": "Internal identifier for authority records", "in": "path", "name": "authority_id", "required": true, "type": "integer" } ], "produces": [ "application/marcxml+xml" ], "responses": { "200": { "description": "A representation of an authority record" }, "404": { "description": "An error occured", "schema": { "type": "object", "properties": { "error": { "description": "An explanation for the error", "type": "string" } } } } }, "x-koha-authorization": { "permissions": { "catalogue": "1" } } } }, "/authorities/ids": { "get": { "x-mojo-to": "Com::Theke::BiblioCommons::AuthoritiesController#list_ids", "operationId": "list_authorities_ids", "tags": ["authorities"], "parameters": [ { "description": "String containing either 'full-date' or 'date-time' for comparing to the timestamp field (greater than or equal)", "in": "query", "name": "timestamp[gte]", "required": false, "type": "string" }, { "description": "String containing either 'full-date' or 'date-time' for comparing to the timestamp field (less than or equal)", "in": "query", "name": "timestamp[lte]", "required": false, "type": "string" }, { "name": "_page", "in": "query", "required": false, "description": "Page number, for paginated object listing", "type": "integer" }, { "name": "_per_page", "in": "query", "required": false, "description": "Page size, for paginated object listing", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "A list of authority ids with refs to the authorities" }, "404": { "description": "An error occured", "schema": { "type": "object", "properties": { "error": { "description": "An explanation for the error", "type": "string" } } } } }, "x-koha-authorization": { "permissions": { "catalogue": "1" } } } }, "/biblios/{biblio_id}": { "get": { "x-mojo-to": "Com::Theke::BiblioCommons::BibliosController#get_biblio", "operationId": "get_biblio", "tags": ["biblios"], "parameters": [ { "description": "Internal identifier for bibliographic records", "in": "path", "name": "biblio_id", "required": true, "type": "integer" } ], "produces": [ "application/marcxml+xml" ], "responses": { "200": { "description": "A representation of a bibliographic record" }, "404": { "description": "An error occured", "schema": { "type": "object", "properties": { "error": { "description": "An explanation for the error", "type": "string" } } } } }, "x-koha-authorization": { "permissions": { "catalogue": "1" } } } }, "/biblios/{biblio_id}/holds": { "get": { "x-mojo-to": "Com::Theke::BiblioCommons::HoldsController#get_biblio_holds", "operationId": "get_biblio_holds", "tags": ["holds"], "parameters": [ { "description": "Internal identifier for bibliographic records", "in": "path", "name": "biblio_id", "required": true, "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Holds count for the biblio" }, "404": { "description": "An error occured", "schema": { "type": "object", "properties": { "error": { "description": "An explanation for the error", "type": "string" } } } } }, "x-koha-authorization": { "permissions": { "catalogue": "1" } } }, "post": { "x-mojo-to": "Com::Theke::BiblioCommons::HoldsController#add_biblio_hold", "operationId": "add_biblio_hold", "tags": [ "holds" ], "parameters": [ { "description": "Internal identifier for the bibliographic record", "in": "path", "name": "biblio_id", "required": true, "type": "integer" }, { "description": "Hold information", "in": "body", "name": "body", "required": true, "schema": { "type": "object", "properties": { "patron_id": { "type": "integer", "description": "Internal identifier for the patron the hold is for" }, "pickup_library_id": { "type": "integer", "description": "Internal identifier for the pickup library" }, "expiration_date": { "type": "string", "format": "date", "description": "Date the hold expires" }, "notes": { "type": "string", "description": "Notes" }, "item_type_id": { "type": "string", "description": "Internal identifier for the item type that was requested" } }, "required": ["patron_id", "pickup_library_id"] } } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "responses": { "200": { "description": "Hold object", "schema": { "type": "object" } }, "404": { "description": "An error occured", "schema": { "type": "object", "properties": { "error": { "description": "An explanation for the error", "type": "string" } } } } }, "x-koha-authorization": { "permissions": { "catalogue": "1" } } } }, "/biblios/{biblio_id}/holds/count": { "get": { "x-mojo-to": "Com::Theke::BiblioCommons::HoldsController#get_biblio_holds_count", "operationId": "get_biblio_holds_count", "tags": ["biblios"], "parameters": [ { "description": "Internal identifier for bibliographic records", "in": "path", "name": "biblio_id", "required": true, "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Holds count for the biblio", "schema": { "type": "integer" } }, "404": { "description": "An error occured", "schema": { "type": "object", "properties": { "error": { "description": "An explanation for the error", "type": "string" } } } } }, "x-koha-authorization": { "permissions": { "catalogue": "1" } } } }, "/biblios/{biblio_id}/items": { "get": { "x-mojo-to": "Com::Theke::BiblioCommons::BibliosController#get_biblio_items", "operationId": "get_biblio_items", "tags": ["biblios"], "parameters": [ { "description": "Internal identifier for bibliographic records", "in": "path", "name": "biblio_id", "required": true, "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Items attached to the bibliographic record" }, "404": { "description": "An error occured", "schema": { "type": "object", "properties": { "error": { "description": "An explanation for the error", "type": "string" } } } } }, "x-koha-authorization": { "permissions": { "catalogue": "1" } } } }, "/biblios/ids": { "get": { "x-mojo-to": "Com::Theke::BiblioCommons::BibliosController#list_ids", "operationId": "list_biblios_ids", "tags": ["biblios"], "parameters": [ { "description": "String containing either 'full-date' or 'date-time' for comparing to the timestamp field (greater than or equal)", "in": "query", "name": "timestamp[gte]", "required": false, "type": "string" }, { "description": "String containing either 'full-date' or 'date-time' for comparing to the timestamp field (less than or equal)", "in": "query", "name": "timestamp[lte]", "required": false, "type": "string" }, { "name": "_page", "in": "query", "required": false, "description": "Page number, for paginated object listing", "type": "integer" }, { "name": "_per_page", "in": "query", "required": false, "description": "Page size, for paginated object listing", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "A list of biblio ids with refs to the biblios" }, "404": { "description": "An error occured", "schema": { "type": "object", "properties": { "error": { "description": "An explanation for the error", "type": "string" } } } } }, "x-koha-authorization": { "permissions": { "catalogue": "1" } } } }, "/items/{item_id}": { "get": { "x-mojo-to": "Com::Theke::BiblioCommons::ItemsController#get_item", "operationId": "get_item", "tags": ["items"], "parameters": [ { "description": "Internal identifier for items", "in": "path", "name": "item_id", "required": true, "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "A representation of an item" }, "404": { "description": "An error occured", "schema": { "type": "object", "properties": { "error": { "description": "An explanation for the error", "type": "string" } } } } }, "x-koha-authorization": { "permissions": { "catalogue": "1" } } } }, "/items/{item_id}/holds": { "get": { "x-mojo-to": "Com::Theke::BiblioCommons::HoldsController#get_item_holds", "operationId": "get_item_holds", "tags": ["items"], "parameters": [ { "description": "Internal identifier for items", "in": "path", "name": "item_id", "required": true, "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Holds for the item" }, "404": { "description": "An error occured", "schema": { "type": "object", "properties": { "error": { "description": "An explanation for the error", "type": "string" } } } } }, "x-koha-authorization": { "permissions": { "catalogue": "1" } } }, "post": { "x-mojo-to": "Com::Theke::BiblioCommons::HoldsController#add_item_hold", "operationId": "add_item_hold", "tags": [ "holds" ], "parameters": [ { "description": "Internal identifier for the item", "in": "path", "name": "item_id", "required": true, "type": "integer" }, { "description": "Hold information", "in": "body", "name": "body", "required": true, "schema": { "type": "object", "properties": { "patron_id": { "type": "integer", "description": "Internal identifier for the patron the hold is for" }, "pickup_library_id": { "type": "integer", "description": "Internal identifier for the pickup library" }, "expiration_date": { "type": "string", "format": "date", "description": "Date the hold expires" }, "notes": { "type": "string", "description": "Notes" } }, "required": ["patron_id", "pickup_library_id"] } } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "responses": { "200": { "description": "Hold object", "schema": { "type": "object" } }, "404": { "description": "An error occured", "schema": { "type": "object", "properties": { "error": { "description": "An explanation for the error", "type": "string" } } } } }, "x-koha-authorization": { "permissions": { "catalogue": "1" } } } }, "/items/{item_id}/holds/count": { "get": { "x-mojo-to": "Com::Theke::BiblioCommons::HoldsController#get_item_holds_count", "operationId": "get_item_holds_count", "tags": ["items"], "parameters": [ { "description": "Internal identifier for items", "in": "path", "name": "item_id", "required": true, "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Holds count for the item", "schema": { "type": "integer" } }, "404": { "description": "An error occured", "schema": { "type": "object", "properties": { "error": { "description": "An explanation for the error", "type": "string" } } } } }, "x-koha-authorization": { "permissions": { "catalogue": "1" } } } }, "/items/ids": { "get": { "x-mojo-to": "Com::Theke::BiblioCommons::ItemsController#list_ids", "operationId": "list_items_ids", "tags": ["items"], "parameters": [ { "description": "String containing either 'full-date' or 'date-time' for comparing to the timestamp field (greater than or equal)", "in": "query", "name": "timestamp[gte]", "required": false, "type": "string" }, { "description": "String containing either 'full-date' or 'date-time' for comparing to the timestamp field (less than or equal)", "in": "query", "name": "timestamp[lte]", "required": false, "type": "string" }, { "name": "_page", "in": "query", "required": false, "description": "Page number, for paginated object listing", "type": "integer" }, { "name": "_per_page", "in": "query", "required": false, "description": "Page size, for paginated object listing", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "A list of item ids with refs to the related item objects" }, "404": { "description": "An error occured", "schema": { "type": "object", "properties": { "error": { "description": "An explanation for the error", "type": "string" } } } } }, "x-koha-authorization": { "permissions": { "catalogue": "1" } } } }, "/libraries": { "get": { "x-mojo-to": "Com::Theke::BiblioCommons::LibrariesController#list_libraries", "operationId": "list_libraries", "tags": ["libraries"], "parameters": [ { "name": "_page", "in": "query", "required": false, "description": "Page number, for paginated object listing", "type": "integer" }, { "name": "_per_page", "in": "query", "required": false, "description": "Page size, for paginated object listing", "type": "integer" } ], "produces": [ "application/json" ], "responses": { "200": { "description": "A list of available library ids and names" }, "404": { "description": "An error occured", "schema": { "type": "object", "properties": { "error": { "description": "An explanation for the error", "type": "string" } } } } }, "x-koha-authorization": { "permissions": { "catalogue": "1" } } } }, "/patrons/validation": { "post": { "x-mojo-to": "Com::Theke::BiblioCommons::PatronsController#validate_credentials", "operationId": "validate_credentials", "tags": ["patrons"], "parameters": [ { "in": "body", "name": "body", "description": "A password validation request", "schema": { "type": "object", "properties": { "card_number": { "description": "Card number for the patron", "type": "string" }, "user_id": { "description": "User ID", "type": "string" }, "password": { "description": "Password for the patron", "type": "string" } } } } ], "produces": [ "application/json" ], "responses": { "200": { "description": "Credentials validation status" }, "400": { "description": "Bad request" }, "404": { "description": "An error occured", "schema": { "type": "object", "properties": { "error": { "description": "An explanation for the error", "type": "string" } } } } }, "x-koha-authorization": { "permissions": { "catalogue": "1" } } } } }