--- /patrons: get: x-mojo-to: Patrons#list operationId: listPatrons tags: - patrons summary: List patrons produces: - application/json parameters: - name: patron_id in: query description: Search on patron_id required: false type: string - name: cardnumber in: query description: Case insensitive search on cardnumber required: false type: string - name: surname in: query description: Case insensitive search on surname required: false type: string - name: firstname in: query description: Case insensitive search on firstname required: false type: string - name: title in: query description: Case insensitive search on title required: false type: string - name: other_name in: query description: Case insensitive search on othernames required: false type: string - name: initials in: query description: Case insensitive search on initials required: false type: string - name: street_number in: query description: Case insensitive search on streetnumber required: false type: string - name: street_type in: query description: Case insensitive search on streettype required: false type: string - name: address in: query description: Case insensitive search on address required: false type: string - name: address2 in: query description: Case insensitive search on address2 required: false type: string - name: city in: query description: Case insensitive search on city required: false type: string - name: state in: query description: Case insensitive search on state required: false type: string - name: postal_code in: query description: Case insensitive search on zipcode required: false type: string - name: country in: query description: Case insensitive search on country required: false type: string - name: email in: query description: Case insensitive search on email required: false type: string - name: phone in: query description: Case insensitive search on phone required: false type: string - name: mobile in: query description: Case insensitive search on mobile required: false type: string - name: fax in: query description: Case insensitive search on fax required: false type: string - name: secondary_email in: query description: Case insensitive search on secondary_email required: false type: string - name: secondary_phone in: query description: Case insensitive search on secondary_phone required: false type: string - name: altaddress_street_number in: query description: Case insensitive search on altaddress_street_number required: false type: string - name: altaddress_street_type in: query description: Case insensitive search on altaddress_street_type required: false type: string - name: altaddress_address in: query description: Case insensitive search on altaddress_address required: false type: string - name: altaddress_address2 in: query description: Case insensitive search on altaddress_address2 required: false type: string - name: altaddress_city in: query description: Case insensitive search on altaddress_city required: false type: string - name: altaddress_state in: query description: Case insensitive search on altaddress_state required: false type: string - name: altaddress_postal_code in: query description: Case insensitive search on altaddress_postal_code required: false type: string - name: altaddress_country in: query description: Case insensitive search on altaddress_country required: false type: string - name: altaddress_email in: query description: Case insensitive search on altaddress_email required: false type: string - name: altaddress_phone in: query description: Case insensitive search on altaddress_phone required: false type: string - name: date_of_birth in: query description: Case insensitive search on date_of_birth required: false type: string - name: library_id in: query description: Case insensitive search on library_id required: false type: string - name: category_id in: query description: Case insensitive search on category_id required: false type: string - name: date_enrolled in: query description: Case insensitive search on date_enrolled required: false type: string - name: expiry_date in: query description: Case insensitive search on expiry_date required: false type: string - name: incorrect_address in: query description: Search on incorrect_address required: false type: boolean - name: patron_card_lost in: query description: Search on patron_card_lost required: false type: boolean - name: restricted in: query description: Filter search by restricted required: false type: boolean - name: guarantor_id in: query description: Search on guarantor_id required: false type: string - name: staff_notes in: query description: Case insensitive search on staff_notes required: false type: string - name: relationship_type in: query description: Case insensitive search on relationship_type required: false type: string - name: gender in: query description: Case insensitive search on gender required: false type: string - name: userid in: query description: Case insensitive search on userid required: false type: string - name: opac_notes in: query description: Case insensitive search on opac_notes required: false type: string - name: altaddress_notes in: query description: Case insensitive search on altaddress_notes required: false type: string - name: statistics_1 in: query description: Case insensitive search on statistics_1 required: false type: string - name: statistics_2 in: query description: Case insensitive search on statistics_2 required: false type: string - name: autorenew_checkouts in: query description: Search on autorenew_checkouts required: false type: boolean - name: altcontact_firstname in: query description: Case insensitive search on altcontact_firstname required: false type: string - name: altcontact_surname in: query description: Case insensitive search on altcontact_surname required: false type: string - name: altcontact_address in: query description: Case insensitive search on altcontact_address required: false type: string - name: altcontact_address2 in: query description: Case insensitive search on altcontact_address2 required: false type: string - name: altcontact_city in: query description: Case insensitive search on altcontact_city required: false type: string - name: altcontact_state in: query description: Case insensitive search on altcontact_state required: false type: string - name: altcontact_postal_code in: query description: Case insensitive search on altcontact_postal_code required: false type: string - name: altcontact_country in: query description: Case insensitive search on altcontact_country required: false type: string - name: altcontact_phone in: query description: Case insensitive search on altcontact_phone required: false type: string - name: sms_number in: query description: Case insensitive search on sms_number required: false type: string - name: sms_provider_id in: query description: Case insensitive search on sms_provider_id required: false type: string - name: privacy in: query description: Search on privacy required: false type: string - name: privacy_guarantor_checkouts in: query description: Search on privacy_guarantor_checkouts required: false type: string - name: check_previous_checkout in: query description: Case insensitive search on check_previous_checkout required: false type: string - name: updated_on in: query description: Search on updated_on required: false type: string - name: last_seen in: query description: Case insensitive search on last_seen required: false type: string - name: lang in: query description: Case insensitive search on lang required: false type: string - name: login_attempts in: query description: Search on login_attempts required: false type: string - $ref: ../parameters.yaml#/match - $ref: ../parameters.yaml#/order_by - $ref: ../parameters.yaml#/page - $ref: ../parameters.yaml#/per_page - $ref: ../parameters.yaml#/q_param - $ref: ../parameters.yaml#/q_body - $ref: ../parameters.yaml#/q_header responses: "200": description: A list of patrons schema: type: array items: $ref: ../definitions.yaml#/patron "401": description: Authentication required schema: $ref: ../definitions.yaml#/error "403": description: Access forbidden schema: $ref: ../definitions.yaml#/error "500": description: Internal server error schema: $ref: ../definitions.yaml#/error x-koha-authorization: permissions: borrowers: "1" x-koha-embed: - extended_attributes post: x-mojo-to: Patrons#add operationId: addPatron tags: - patrons summary: Add patron parameters: - name: body in: body description: A JSON object containing information about the new patron required: true schema: $ref: ../definitions.yaml#/patron consumes: - application/json produces: - application/json responses: "201": description: A successfully created patron schema: items: $ref: ../definitions.yaml#/patron "400": description: Bad parameter schema: $ref: ../definitions.yaml#/error "401": description: Authentication required schema: $ref: ../definitions.yaml#/error "403": description: Access forbidden schema: $ref: ../definitions.yaml#/error "404": description: Resource not found schema: $ref: ../definitions.yaml#/error "409": description: Conflict in creating resource schema: $ref: ../definitions.yaml#/error "500": description: Internal server error schema: $ref: ../definitions.yaml#/error "503": description: Under maintenance schema: $ref: ../definitions.yaml#/error x-koha-authorization: permissions: borrowers: edit_borrowers "/patrons/{patron_id}": get: x-mojo-to: Patrons#get operationId: getPatron tags: - patrons summary: Get patron parameters: - $ref: ../parameters.yaml#/patron_id_pp produces: - application/json responses: "200": description: A patron schema: $ref: ../definitions.yaml#/patron "401": description: Authentication required schema: $ref: ../definitions.yaml#/error "403": description: Access forbidden schema: $ref: ../definitions.yaml#/error "404": description: Patron not found schema: $ref: ../definitions.yaml#/error "500": description: Internal server error schema: $ref: ../definitions.yaml#/error "503": description: Under maintenance schema: $ref: ../definitions.yaml#/error x-koha-authorization: permissions: borrowers: edit_borrowers x-koha-embed: - extended_attributes put: x-mojo-to: Patrons#update operationId: updatePatron tags: - patrons summary: Update patron parameters: - $ref: ../parameters.yaml#/patron_id_pp - name: body in: body description: A JSON object containing new information about existing patron required: true schema: $ref: ../definitions.yaml#/patron consumes: - application/json produces: - application/json responses: "200": description: A successfully updated patron schema: items: $ref: ../definitions.yaml#/patron "400": description: Bad parameter schema: $ref: ../definitions.yaml#/error "403": description: Access forbidden schema: $ref: ../definitions.yaml#/error "404": description: Resource not found schema: $ref: ../definitions.yaml#/error "409": description: Conflict in updating resource schema: $ref: ../definitions.yaml#/error "500": description: Internal server error schema: $ref: ../definitions.yaml#/error x-koha-authorization: permissions: borrowers: "1" delete: x-mojo-to: Patrons#delete operationId: deletePatron tags: - patrons summary: Delete patron parameters: - $ref: ../parameters.yaml#/patron_id_pp produces: - application/json responses: "204": description: Patron deleted "400": description: Patron deletion failed schema: $ref: ../definitions.yaml#/error "401": description: Authentication required schema: $ref: ../definitions.yaml#/error "403": description: Access forbidden schema: $ref: ../definitions.yaml#/error "404": description: Patron not found schema: $ref: ../definitions.yaml#/error "409": description: Conflict schema: $ref: ../definitions.yaml#/error "500": description: Internal server error schema: $ref: ../definitions.yaml#/error x-koha-authorization: permissions: borrowers: delete_borrowers