http://github.com/org/folio/mod-users-bl
A front end for mod-users and mod-permissions
Get a number of user (and possibly related) records based on criteria in the user and related modules
GET /bl-users
A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
active=true
Skip over a number of elements by specifying an offset value for the query
Example:
0
Limit the number of elements returned in the response
Example:
10
indicates which referenced fields should be populated (de-referenced) by the service
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "User List object",
"properties": {
"compositeUsers": {
"type": "array",
"id": "compositeUserList",
"description": "Users array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Composite user object",
"properties": {
"user": {
"type": "object",
"description": "User object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "User Schema",
"properties": {
"username": {
"type": "string",
"description": "Username"
},
"id": {
"type": "string",
"description": "id"
},
"externalSystemId": {
"type": "string",
"description": "External system id"
},
"barcode": {
"type": "string",
"description": "Barcode"
},
"active": {
"type": "boolean",
"description": "Is active"
},
"type": {
"type": "string",
"description": "User type"
},
"patronGroup": {
"type": "string",
"description": "User patron group"
},
"meta": {
"type": "object",
"description": "Deprecated, data has moved to metadata"
},
"proxyFor": {
"description": "Deprecated",
"type": "array",
"items": {
"type": "string"
}
},
"personal": {
"type": "object",
"description": "Personal user data",
"properties": {
"lastName": {
"type": "string",
"description": "Last name"
},
"firstName": {
"type": "string",
"description": "First name"
},
"middleName": {
"type": "string",
"description": "Middle name"
},
"email": {
"type": "string",
"description": "Email"
},
"phone": {
"type": "string",
"description": "Phone"
},
"mobilePhone": {
"type": "string",
"description": "Mobile phone"
},
"dateOfBirth": {
"type": "string",
"format": "date-time",
"description": "Date of birth"
},
"addresses": {
"type": "array",
"description": "Addresses",
"minItems": 0,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id"
},
"countryId": {
"type": "string",
"description": "Country Id"
},
"addressLine1": {
"type": "string",
"description": "Address line 1"
},
"addressLine2": {
"type": "string",
"description": "Address line 2"
},
"city": {
"type": "string",
"description": "City"
},
"region": {
"type": "string",
"description": "Region"
},
"postalCode": {
"type": "string",
"description": "Postal Code"
},
"addressTypeId": {
"type": "string",
"description": "Address Type Id"
},
"primaryAddress": {
"type": "boolean",
"description": "Is primary address"
}
},
"additionalProperties": true
}
},
"preferredContactTypeId": {
"type": "string",
"description": "Preferred contact type Id"
}
},
"additionalProperties": true,
"required": [
"lastName"
]
},
"enrollmentDate": {
"type": "string",
"format": "date-time",
"description": "Enrollment date"
},
"expirationDate": {
"type": "string",
"format": "date-time",
"description": "Expiration date"
},
"createdDate": {
"type": "string",
"format": "date-time",
"description": "Deprecated, data has moved to metadata"
},
"updatedDate": {
"type": "string",
"format": "date-time",
"description": "Deprecated, data has moved to metadata"
},
"metadata": {
"type": "object",
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
},
"tags": {
"type": "object",
"description": "Tags",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
},
"additionalProperties": true,
"required": [
"id"
]
},
"patronGroup": {
"type": "object",
"description": "Patron group object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "User Group Schema",
"properties": {
"group": {
"type": "string",
"description": "group"
},
"desc": {
"type": "string",
"description": "description"
},
"id": {
"type": "string",
"description": "id"
},
"metadata": {
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"type": "object",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"group"
]
},
"permissions": {
"type": "object",
"description": "Permissions object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string",
"description": "Id"
},
"userId": {
"type": "string",
"description": "User Id"
},
"permissions": {
"type": "array",
"description": "Permissions array"
},
"metadata": {
"type": "object",
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false
},
"proxiesFor": {
"type": "array",
"description": "Proxies for, array",
"id": "proxyFor",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ProxyFor Schema",
"description": "Proxy For Schema",
"properties": {
"userId": {
"type": "string",
"description": "User Id"
},
"proxyUserId": {
"type": "string",
"description": "Proxy User Id"
},
"id": {
"type": "string",
"description": "Id"
},
"requestForSponsor": {
"type": "string",
"description": "Request For Sponsor"
},
"createdDate": {
"type": "string",
"format": "date-time",
"description": "Created Date"
},
"notificationsTo": {
"type": "string",
"description": "Notifications To"
},
"accrueTo": {
"type": "string",
"description": "Accrue To"
},
"status": {
"type": "string",
"description": "Status"
},
"expirationDate": {
"type": "string",
"format": "date-time",
"description": "Expiration Date"
},
"metadata": {
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"type": "object",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false
}
},
"servicePointsUser": {
"type": "object",
"description": "Service point user",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string",
"description": "Id"
},
"userId": {
"type": "string",
"description": "User Id"
},
"servicePointsIds": {
"type": "array",
"description": "Service Points Ids",
"items": {
"type": "string"
}
},
"servicePoints": {
"type": "array",
"description": "Service Points",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Service point",
"properties": {
"id": {
"type": "string",
"description": "id"
},
"name": {
"type": "string",
"description": "Service point name"
},
"code": {
"type": "string",
"description": "Service point code"
},
"discoveryDisplayName": {
"type": "string",
"description": "Service point discovery name"
},
"description": {
"type": "string",
"description": "Service point description"
},
"shelvingLagTime": {
"type": "integer",
"description": "Shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "Pick up location"
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
},
"locationIds": {
"type": "array",
"description": "Location Ids",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
}
},
"metadata": {
"type": "object",
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"code",
"discoveryDisplayName"
]
}
},
"defaultServicePointId": {
"type": "string",
"description": "Default Service Point Id"
},
"defaultServicePoint": {
"type": "object",
"description": "Default Service Point Object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string",
"description": "id"
},
"name": {
"type": "string",
"description": "Service point name"
},
"code": {
"type": "string",
"description": "Service point code"
},
"discoveryDisplayName": {
"type": "string",
"description": "Service point discovery name"
},
"description": {
"type": "string",
"description": "Service point description"
},
"shelvingLagTime": {
"type": "integer",
"description": "Shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "Pick up location"
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
},
"locationIds": {
"type": "array",
"description": "Location Ids",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
}
},
"metadata": {
"type": "object",
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"code",
"discoveryDisplayName"
]
},
"metadata": {
"type": "object",
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false,
"required": [
"userId"
]
},
"tokenExpiration": {
"type": "object",
"description": "The token expiration object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"refreshTokenExpiration": {
"type": "string",
"description": "The time after which the refresh token will expire in ISO 8601 format."
},
"accessTokenExpiration": {
"type": "string",
"description": "The time after which the access token will expire in ISO 8601 format."
}
},
"required": [
"refreshTokenExpiration",
"accessTokenExpiration"
]
},
"tenant": {
"description": "Tenant identifier",
"type": "string"
}
}
}
},
"totalResults": {
"type": "integer",
"description": "Total results amount"
},
"recordCount": {
"type": "integer",
"description": "Record count"
}
},
"required": [
"compositeUsers",
"totalResults",
"recordCount"
]
}
Bad request
Media type: text/plain
Type: any
Example:
Bad request
Access denied
Media type: text/plain
Type: any
Example:
Access denied
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Delete a user by id
DELETE /bl-users/by-id/{id}
User deleted successfully
User with a given ID not found
Media type: text/plain
Type: any
Conflict, e.g. user cannot be deleted as there are open transactions
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "User Transactions Schema",
"description": "Schema describing open transactions of a user",
"type": "object",
"properties": {
"userId": {
"type": "string",
"description": "User's id"
},
"userBarcode": {
"type": "string",
"description": "User's barcode"
},
"hasOpenTransactions": {
"type": "boolean",
"description": "Specifies if the user has any open transactions (loans, requests, fees/fines, proxies, manual-blocks)"
},
"loans": {
"type": "integer",
"description": "Number of open loans"
},
"requests": {
"type": "integer",
"description": "Number of open requests"
},
"feesFines": {
"type": "integer",
"description": "Number of open fees/fines"
},
"proxies": {
"type": "integer",
"description": "Number of open proxies"
},
"blocks": {
"type": "integer",
"description": "Number of open blocks"
}
},
"additionalProperties": false,
"required": [
"userId",
"hasOpenTransactions",
"loans",
"requests",
"feesFines",
"proxies",
"blocks"
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Get a user by id
GET /bl-users/by-id/{id}
indicates which referenced fields should be populated (de-referenced) by the service
Whether or not to expand permissions listings
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Composite user object",
"properties": {
"user": {
"type": "object",
"description": "User object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "User Schema",
"properties": {
"username": {
"type": "string",
"description": "Username"
},
"id": {
"type": "string",
"description": "id"
},
"externalSystemId": {
"type": "string",
"description": "External system id"
},
"barcode": {
"type": "string",
"description": "Barcode"
},
"active": {
"type": "boolean",
"description": "Is active"
},
"type": {
"type": "string",
"description": "User type"
},
"patronGroup": {
"type": "string",
"description": "User patron group"
},
"meta": {
"type": "object",
"description": "Deprecated, data has moved to metadata"
},
"proxyFor": {
"description": "Deprecated",
"type": "array",
"items": {
"type": "string"
}
},
"personal": {
"type": "object",
"description": "Personal user data",
"properties": {
"lastName": {
"type": "string",
"description": "Last name"
},
"firstName": {
"type": "string",
"description": "First name"
},
"middleName": {
"type": "string",
"description": "Middle name"
},
"email": {
"type": "string",
"description": "Email"
},
"phone": {
"type": "string",
"description": "Phone"
},
"mobilePhone": {
"type": "string",
"description": "Mobile phone"
},
"dateOfBirth": {
"type": "string",
"format": "date-time",
"description": "Date of birth"
},
"addresses": {
"type": "array",
"description": "Addresses",
"minItems": 0,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id"
},
"countryId": {
"type": "string",
"description": "Country Id"
},
"addressLine1": {
"type": "string",
"description": "Address line 1"
},
"addressLine2": {
"type": "string",
"description": "Address line 2"
},
"city": {
"type": "string",
"description": "City"
},
"region": {
"type": "string",
"description": "Region"
},
"postalCode": {
"type": "string",
"description": "Postal Code"
},
"addressTypeId": {
"type": "string",
"description": "Address Type Id"
},
"primaryAddress": {
"type": "boolean",
"description": "Is primary address"
}
},
"additionalProperties": true
}
},
"preferredContactTypeId": {
"type": "string",
"description": "Preferred contact type Id"
}
},
"additionalProperties": true,
"required": [
"lastName"
]
},
"enrollmentDate": {
"type": "string",
"format": "date-time",
"description": "Enrollment date"
},
"expirationDate": {
"type": "string",
"format": "date-time",
"description": "Expiration date"
},
"createdDate": {
"type": "string",
"format": "date-time",
"description": "Deprecated, data has moved to metadata"
},
"updatedDate": {
"type": "string",
"format": "date-time",
"description": "Deprecated, data has moved to metadata"
},
"metadata": {
"type": "object",
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
},
"tags": {
"type": "object",
"description": "Tags",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
},
"additionalProperties": true,
"required": [
"id"
]
},
"patronGroup": {
"type": "object",
"description": "Patron group object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "User Group Schema",
"properties": {
"group": {
"type": "string",
"description": "group"
},
"desc": {
"type": "string",
"description": "description"
},
"id": {
"type": "string",
"description": "id"
},
"metadata": {
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"type": "object",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"group"
]
},
"permissions": {
"type": "object",
"description": "Permissions object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string",
"description": "Id"
},
"userId": {
"type": "string",
"description": "User Id"
},
"permissions": {
"type": "array",
"description": "Permissions array"
},
"metadata": {
"type": "object",
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false
},
"proxiesFor": {
"type": "array",
"description": "Proxies for, array",
"id": "proxyFor",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ProxyFor Schema",
"description": "Proxy For Schema",
"properties": {
"userId": {
"type": "string",
"description": "User Id"
},
"proxyUserId": {
"type": "string",
"description": "Proxy User Id"
},
"id": {
"type": "string",
"description": "Id"
},
"requestForSponsor": {
"type": "string",
"description": "Request For Sponsor"
},
"createdDate": {
"type": "string",
"format": "date-time",
"description": "Created Date"
},
"notificationsTo": {
"type": "string",
"description": "Notifications To"
},
"accrueTo": {
"type": "string",
"description": "Accrue To"
},
"status": {
"type": "string",
"description": "Status"
},
"expirationDate": {
"type": "string",
"format": "date-time",
"description": "Expiration Date"
},
"metadata": {
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"type": "object",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false
}
},
"servicePointsUser": {
"type": "object",
"description": "Service point user",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string",
"description": "Id"
},
"userId": {
"type": "string",
"description": "User Id"
},
"servicePointsIds": {
"type": "array",
"description": "Service Points Ids",
"items": {
"type": "string"
}
},
"servicePoints": {
"type": "array",
"description": "Service Points",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Service point",
"properties": {
"id": {
"type": "string",
"description": "id"
},
"name": {
"type": "string",
"description": "Service point name"
},
"code": {
"type": "string",
"description": "Service point code"
},
"discoveryDisplayName": {
"type": "string",
"description": "Service point discovery name"
},
"description": {
"type": "string",
"description": "Service point description"
},
"shelvingLagTime": {
"type": "integer",
"description": "Shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "Pick up location"
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
},
"locationIds": {
"type": "array",
"description": "Location Ids",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
}
},
"metadata": {
"type": "object",
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"code",
"discoveryDisplayName"
]
}
},
"defaultServicePointId": {
"type": "string",
"description": "Default Service Point Id"
},
"defaultServicePoint": {
"type": "object",
"description": "Default Service Point Object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string",
"description": "id"
},
"name": {
"type": "string",
"description": "Service point name"
},
"code": {
"type": "string",
"description": "Service point code"
},
"discoveryDisplayName": {
"type": "string",
"description": "Service point discovery name"
},
"description": {
"type": "string",
"description": "Service point description"
},
"shelvingLagTime": {
"type": "integer",
"description": "Shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "Pick up location"
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
},
"locationIds": {
"type": "array",
"description": "Location Ids",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
}
},
"metadata": {
"type": "object",
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"code",
"discoveryDisplayName"
]
},
"metadata": {
"type": "object",
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false,
"required": [
"userId"
]
},
"tokenExpiration": {
"type": "object",
"description": "The token expiration object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"refreshTokenExpiration": {
"type": "string",
"description": "The time after which the refresh token will expire in ISO 8601 format."
},
"accessTokenExpiration": {
"type": "string",
"description": "The time after which the access token will expire in ISO 8601 format."
}
},
"required": [
"refreshTokenExpiration",
"accessTokenExpiration"
]
},
"tenant": {
"description": "Tenant identifier",
"type": "string"
}
}
}
Bad request
Media type: text/plain
Type: any
Example:
Bad request
Access denied
Media type: text/plain
Type: any
Example:
Access denied
User not found
Media type: text/plain
Type: any
Example:
User not found
Unprocessable Entity
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Check if user has any open transactions, and if so, how many. Identify user by id
GET /bl-users/by-id/{id}/open-transactions
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "User Transactions Schema",
"description": "Schema describing open transactions of a user",
"type": "object",
"properties": {
"userId": {
"type": "string",
"description": "User's id"
},
"userBarcode": {
"type": "string",
"description": "User's barcode"
},
"hasOpenTransactions": {
"type": "boolean",
"description": "Specifies if the user has any open transactions (loans, requests, fees/fines, proxies, manual-blocks)"
},
"loans": {
"type": "integer",
"description": "Number of open loans"
},
"requests": {
"type": "integer",
"description": "Number of open requests"
},
"feesFines": {
"type": "integer",
"description": "Number of open fees/fines"
},
"proxies": {
"type": "integer",
"description": "Number of open proxies"
},
"blocks": {
"type": "integer",
"description": "Number of open blocks"
}
},
"additionalProperties": false,
"required": [
"userId",
"hasOpenTransactions",
"loans",
"requests",
"feesFines",
"proxies",
"blocks"
]
}
Bad request
Media type: text/plain
Type: any
Example:
Bad request
User not found
Media type: text/plain
Type: any
Example:
User not found
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Get a user by username
GET /bl-users/by-username/{username}
indicates which referenced fields should be populated (de-referenced) by the service
Whether or not to expand permissions listings
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Composite user object",
"properties": {
"user": {
"type": "object",
"description": "User object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "User Schema",
"properties": {
"username": {
"type": "string",
"description": "Username"
},
"id": {
"type": "string",
"description": "id"
},
"externalSystemId": {
"type": "string",
"description": "External system id"
},
"barcode": {
"type": "string",
"description": "Barcode"
},
"active": {
"type": "boolean",
"description": "Is active"
},
"type": {
"type": "string",
"description": "User type"
},
"patronGroup": {
"type": "string",
"description": "User patron group"
},
"meta": {
"type": "object",
"description": "Deprecated, data has moved to metadata"
},
"proxyFor": {
"description": "Deprecated",
"type": "array",
"items": {
"type": "string"
}
},
"personal": {
"type": "object",
"description": "Personal user data",
"properties": {
"lastName": {
"type": "string",
"description": "Last name"
},
"firstName": {
"type": "string",
"description": "First name"
},
"middleName": {
"type": "string",
"description": "Middle name"
},
"email": {
"type": "string",
"description": "Email"
},
"phone": {
"type": "string",
"description": "Phone"
},
"mobilePhone": {
"type": "string",
"description": "Mobile phone"
},
"dateOfBirth": {
"type": "string",
"format": "date-time",
"description": "Date of birth"
},
"addresses": {
"type": "array",
"description": "Addresses",
"minItems": 0,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id"
},
"countryId": {
"type": "string",
"description": "Country Id"
},
"addressLine1": {
"type": "string",
"description": "Address line 1"
},
"addressLine2": {
"type": "string",
"description": "Address line 2"
},
"city": {
"type": "string",
"description": "City"
},
"region": {
"type": "string",
"description": "Region"
},
"postalCode": {
"type": "string",
"description": "Postal Code"
},
"addressTypeId": {
"type": "string",
"description": "Address Type Id"
},
"primaryAddress": {
"type": "boolean",
"description": "Is primary address"
}
},
"additionalProperties": true
}
},
"preferredContactTypeId": {
"type": "string",
"description": "Preferred contact type Id"
}
},
"additionalProperties": true,
"required": [
"lastName"
]
},
"enrollmentDate": {
"type": "string",
"format": "date-time",
"description": "Enrollment date"
},
"expirationDate": {
"type": "string",
"format": "date-time",
"description": "Expiration date"
},
"createdDate": {
"type": "string",
"format": "date-time",
"description": "Deprecated, data has moved to metadata"
},
"updatedDate": {
"type": "string",
"format": "date-time",
"description": "Deprecated, data has moved to metadata"
},
"metadata": {
"type": "object",
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
},
"tags": {
"type": "object",
"description": "Tags",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
},
"additionalProperties": true,
"required": [
"id"
]
},
"patronGroup": {
"type": "object",
"description": "Patron group object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "User Group Schema",
"properties": {
"group": {
"type": "string",
"description": "group"
},
"desc": {
"type": "string",
"description": "description"
},
"id": {
"type": "string",
"description": "id"
},
"metadata": {
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"type": "object",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"group"
]
},
"permissions": {
"type": "object",
"description": "Permissions object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string",
"description": "Id"
},
"userId": {
"type": "string",
"description": "User Id"
},
"permissions": {
"type": "array",
"description": "Permissions array"
},
"metadata": {
"type": "object",
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false
},
"proxiesFor": {
"type": "array",
"description": "Proxies for, array",
"id": "proxyFor",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ProxyFor Schema",
"description": "Proxy For Schema",
"properties": {
"userId": {
"type": "string",
"description": "User Id"
},
"proxyUserId": {
"type": "string",
"description": "Proxy User Id"
},
"id": {
"type": "string",
"description": "Id"
},
"requestForSponsor": {
"type": "string",
"description": "Request For Sponsor"
},
"createdDate": {
"type": "string",
"format": "date-time",
"description": "Created Date"
},
"notificationsTo": {
"type": "string",
"description": "Notifications To"
},
"accrueTo": {
"type": "string",
"description": "Accrue To"
},
"status": {
"type": "string",
"description": "Status"
},
"expirationDate": {
"type": "string",
"format": "date-time",
"description": "Expiration Date"
},
"metadata": {
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"type": "object",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false
}
},
"servicePointsUser": {
"type": "object",
"description": "Service point user",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string",
"description": "Id"
},
"userId": {
"type": "string",
"description": "User Id"
},
"servicePointsIds": {
"type": "array",
"description": "Service Points Ids",
"items": {
"type": "string"
}
},
"servicePoints": {
"type": "array",
"description": "Service Points",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Service point",
"properties": {
"id": {
"type": "string",
"description": "id"
},
"name": {
"type": "string",
"description": "Service point name"
},
"code": {
"type": "string",
"description": "Service point code"
},
"discoveryDisplayName": {
"type": "string",
"description": "Service point discovery name"
},
"description": {
"type": "string",
"description": "Service point description"
},
"shelvingLagTime": {
"type": "integer",
"description": "Shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "Pick up location"
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
},
"locationIds": {
"type": "array",
"description": "Location Ids",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
}
},
"metadata": {
"type": "object",
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"code",
"discoveryDisplayName"
]
}
},
"defaultServicePointId": {
"type": "string",
"description": "Default Service Point Id"
},
"defaultServicePoint": {
"type": "object",
"description": "Default Service Point Object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string",
"description": "id"
},
"name": {
"type": "string",
"description": "Service point name"
},
"code": {
"type": "string",
"description": "Service point code"
},
"discoveryDisplayName": {
"type": "string",
"description": "Service point discovery name"
},
"description": {
"type": "string",
"description": "Service point description"
},
"shelvingLagTime": {
"type": "integer",
"description": "Shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "Pick up location"
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
},
"locationIds": {
"type": "array",
"description": "Location Ids",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
}
},
"metadata": {
"type": "object",
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"code",
"discoveryDisplayName"
]
},
"metadata": {
"type": "object",
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false,
"required": [
"userId"
]
},
"tokenExpiration": {
"type": "object",
"description": "The token expiration object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"refreshTokenExpiration": {
"type": "string",
"description": "The time after which the refresh token will expire in ISO 8601 format."
},
"accessTokenExpiration": {
"type": "string",
"description": "The time after which the access token will expire in ISO 8601 format."
}
},
"required": [
"refreshTokenExpiration",
"accessTokenExpiration"
]
},
"tenant": {
"description": "Tenant identifier",
"type": "string"
}
}
}
Bad request
Media type: text/plain
Type: any
Example:
Bad request
Access denied
Media type: text/plain
Type: any
Example:
Access denied
User not found
Media type: text/plain
Type: any
Example:
User not found
Unprocessable Entity
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Check if user has any open transactions, and if so, how many. Identify user by username
GET /bl-users/by-username/{username}/open-transactions
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "User Transactions Schema",
"description": "Schema describing open transactions of a user",
"type": "object",
"properties": {
"userId": {
"type": "string",
"description": "User's id"
},
"userBarcode": {
"type": "string",
"description": "User's barcode"
},
"hasOpenTransactions": {
"type": "boolean",
"description": "Specifies if the user has any open transactions (loans, requests, fees/fines, proxies, manual-blocks)"
},
"loans": {
"type": "integer",
"description": "Number of open loans"
},
"requests": {
"type": "integer",
"description": "Number of open requests"
},
"feesFines": {
"type": "integer",
"description": "Number of open fees/fines"
},
"proxies": {
"type": "integer",
"description": "Number of open proxies"
},
"blocks": {
"type": "integer",
"description": "Number of open blocks"
}
},
"additionalProperties": false,
"required": [
"userId",
"hasOpenTransactions",
"loans",
"requests",
"feesFines",
"proxies",
"blocks"
]
}
Bad request
Media type: text/plain
Type: any
Example:
Bad request
User not found
Media type: text/plain
Type: any
Example:
User not found
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Get a user by self reference
GET /bl-users/_self
indicates which referenced fields should be populated (de-referenced) by the service
Whether or not to expand permissions listings
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Composite user object",
"properties": {
"user": {
"type": "object",
"description": "User object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "User Schema",
"properties": {
"username": {
"type": "string",
"description": "Username"
},
"id": {
"type": "string",
"description": "id"
},
"externalSystemId": {
"type": "string",
"description": "External system id"
},
"barcode": {
"type": "string",
"description": "Barcode"
},
"active": {
"type": "boolean",
"description": "Is active"
},
"type": {
"type": "string",
"description": "User type"
},
"patronGroup": {
"type": "string",
"description": "User patron group"
},
"meta": {
"type": "object",
"description": "Deprecated, data has moved to metadata"
},
"proxyFor": {
"description": "Deprecated",
"type": "array",
"items": {
"type": "string"
}
},
"personal": {
"type": "object",
"description": "Personal user data",
"properties": {
"lastName": {
"type": "string",
"description": "Last name"
},
"firstName": {
"type": "string",
"description": "First name"
},
"middleName": {
"type": "string",
"description": "Middle name"
},
"email": {
"type": "string",
"description": "Email"
},
"phone": {
"type": "string",
"description": "Phone"
},
"mobilePhone": {
"type": "string",
"description": "Mobile phone"
},
"dateOfBirth": {
"type": "string",
"format": "date-time",
"description": "Date of birth"
},
"addresses": {
"type": "array",
"description": "Addresses",
"minItems": 0,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id"
},
"countryId": {
"type": "string",
"description": "Country Id"
},
"addressLine1": {
"type": "string",
"description": "Address line 1"
},
"addressLine2": {
"type": "string",
"description": "Address line 2"
},
"city": {
"type": "string",
"description": "City"
},
"region": {
"type": "string",
"description": "Region"
},
"postalCode": {
"type": "string",
"description": "Postal Code"
},
"addressTypeId": {
"type": "string",
"description": "Address Type Id"
},
"primaryAddress": {
"type": "boolean",
"description": "Is primary address"
}
},
"additionalProperties": true
}
},
"preferredContactTypeId": {
"type": "string",
"description": "Preferred contact type Id"
}
},
"additionalProperties": true,
"required": [
"lastName"
]
},
"enrollmentDate": {
"type": "string",
"format": "date-time",
"description": "Enrollment date"
},
"expirationDate": {
"type": "string",
"format": "date-time",
"description": "Expiration date"
},
"createdDate": {
"type": "string",
"format": "date-time",
"description": "Deprecated, data has moved to metadata"
},
"updatedDate": {
"type": "string",
"format": "date-time",
"description": "Deprecated, data has moved to metadata"
},
"metadata": {
"type": "object",
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
},
"tags": {
"type": "object",
"description": "Tags",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
},
"additionalProperties": true,
"required": [
"id"
]
},
"patronGroup": {
"type": "object",
"description": "Patron group object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "User Group Schema",
"properties": {
"group": {
"type": "string",
"description": "group"
},
"desc": {
"type": "string",
"description": "description"
},
"id": {
"type": "string",
"description": "id"
},
"metadata": {
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"type": "object",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"group"
]
},
"permissions": {
"type": "object",
"description": "Permissions object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string",
"description": "Id"
},
"userId": {
"type": "string",
"description": "User Id"
},
"permissions": {
"type": "array",
"description": "Permissions array"
},
"metadata": {
"type": "object",
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false
},
"proxiesFor": {
"type": "array",
"description": "Proxies for, array",
"id": "proxyFor",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ProxyFor Schema",
"description": "Proxy For Schema",
"properties": {
"userId": {
"type": "string",
"description": "User Id"
},
"proxyUserId": {
"type": "string",
"description": "Proxy User Id"
},
"id": {
"type": "string",
"description": "Id"
},
"requestForSponsor": {
"type": "string",
"description": "Request For Sponsor"
},
"createdDate": {
"type": "string",
"format": "date-time",
"description": "Created Date"
},
"notificationsTo": {
"type": "string",
"description": "Notifications To"
},
"accrueTo": {
"type": "string",
"description": "Accrue To"
},
"status": {
"type": "string",
"description": "Status"
},
"expirationDate": {
"type": "string",
"format": "date-time",
"description": "Expiration Date"
},
"metadata": {
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"type": "object",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false
}
},
"servicePointsUser": {
"type": "object",
"description": "Service point user",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string",
"description": "Id"
},
"userId": {
"type": "string",
"description": "User Id"
},
"servicePointsIds": {
"type": "array",
"description": "Service Points Ids",
"items": {
"type": "string"
}
},
"servicePoints": {
"type": "array",
"description": "Service Points",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Service point",
"properties": {
"id": {
"type": "string",
"description": "id"
},
"name": {
"type": "string",
"description": "Service point name"
},
"code": {
"type": "string",
"description": "Service point code"
},
"discoveryDisplayName": {
"type": "string",
"description": "Service point discovery name"
},
"description": {
"type": "string",
"description": "Service point description"
},
"shelvingLagTime": {
"type": "integer",
"description": "Shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "Pick up location"
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
},
"locationIds": {
"type": "array",
"description": "Location Ids",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
}
},
"metadata": {
"type": "object",
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"code",
"discoveryDisplayName"
]
}
},
"defaultServicePointId": {
"type": "string",
"description": "Default Service Point Id"
},
"defaultServicePoint": {
"type": "object",
"description": "Default Service Point Object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string",
"description": "id"
},
"name": {
"type": "string",
"description": "Service point name"
},
"code": {
"type": "string",
"description": "Service point code"
},
"discoveryDisplayName": {
"type": "string",
"description": "Service point discovery name"
},
"description": {
"type": "string",
"description": "Service point description"
},
"shelvingLagTime": {
"type": "integer",
"description": "Shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "Pick up location"
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
},
"locationIds": {
"type": "array",
"description": "Location Ids",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
}
},
"metadata": {
"type": "object",
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"code",
"discoveryDisplayName"
]
},
"metadata": {
"type": "object",
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false,
"required": [
"userId"
]
},
"tokenExpiration": {
"type": "object",
"description": "The token expiration object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"refreshTokenExpiration": {
"type": "string",
"description": "The time after which the refresh token will expire in ISO 8601 format."
},
"accessTokenExpiration": {
"type": "string",
"description": "The time after which the access token will expire in ISO 8601 format."
}
},
"required": [
"refreshTokenExpiration",
"accessTokenExpiration"
]
},
"tenant": {
"description": "Tenant identifier",
"type": "string"
}
}
}
Bad request
Media type: text/plain
Type: any
Example:
Bad request
Access denied
Media type: text/plain
Type: any
Example:
Access denied
User not found
Media type: text/plain
Type: any
Example:
User not found
Unprocessable Entity
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Allow a new user to login and return an authtoken, along with a composite user record. Deprecated and will be removed in a future release. Please use /login-with-expiry.
POST /bl-users/login
Whether or not to expand permissions listings
indicates which referenced fields should be populated (de-referenced) by the service
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Login Credentials Schema",
"description": "Login Credentials Schema",
"type": "object",
"properties": {
"username": {
"type": "string",
"description": "Username"
},
"userId": {
"type": "string",
"description": "User Id"
},
"password": {
"type": "string",
"description": "Password"
},
"tenant": {
"description": "Parameter for resolving duplicated usernames across tenants.",
"type": "string"
}
}
}
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Composite user object",
"properties": {
"user": {
"type": "object",
"description": "User object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "User Schema",
"properties": {
"username": {
"type": "string",
"description": "Username"
},
"id": {
"type": "string",
"description": "id"
},
"externalSystemId": {
"type": "string",
"description": "External system id"
},
"barcode": {
"type": "string",
"description": "Barcode"
},
"active": {
"type": "boolean",
"description": "Is active"
},
"type": {
"type": "string",
"description": "User type"
},
"patronGroup": {
"type": "string",
"description": "User patron group"
},
"meta": {
"type": "object",
"description": "Deprecated, data has moved to metadata"
},
"proxyFor": {
"description": "Deprecated",
"type": "array",
"items": {
"type": "string"
}
},
"personal": {
"type": "object",
"description": "Personal user data",
"properties": {
"lastName": {
"type": "string",
"description": "Last name"
},
"firstName": {
"type": "string",
"description": "First name"
},
"middleName": {
"type": "string",
"description": "Middle name"
},
"email": {
"type": "string",
"description": "Email"
},
"phone": {
"type": "string",
"description": "Phone"
},
"mobilePhone": {
"type": "string",
"description": "Mobile phone"
},
"dateOfBirth": {
"type": "string",
"format": "date-time",
"description": "Date of birth"
},
"addresses": {
"type": "array",
"description": "Addresses",
"minItems": 0,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id"
},
"countryId": {
"type": "string",
"description": "Country Id"
},
"addressLine1": {
"type": "string",
"description": "Address line 1"
},
"addressLine2": {
"type": "string",
"description": "Address line 2"
},
"city": {
"type": "string",
"description": "City"
},
"region": {
"type": "string",
"description": "Region"
},
"postalCode": {
"type": "string",
"description": "Postal Code"
},
"addressTypeId": {
"type": "string",
"description": "Address Type Id"
},
"primaryAddress": {
"type": "boolean",
"description": "Is primary address"
}
},
"additionalProperties": true
}
},
"preferredContactTypeId": {
"type": "string",
"description": "Preferred contact type Id"
}
},
"additionalProperties": true,
"required": [
"lastName"
]
},
"enrollmentDate": {
"type": "string",
"format": "date-time",
"description": "Enrollment date"
},
"expirationDate": {
"type": "string",
"format": "date-time",
"description": "Expiration date"
},
"createdDate": {
"type": "string",
"format": "date-time",
"description": "Deprecated, data has moved to metadata"
},
"updatedDate": {
"type": "string",
"format": "date-time",
"description": "Deprecated, data has moved to metadata"
},
"metadata": {
"type": "object",
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
},
"tags": {
"type": "object",
"description": "Tags",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
},
"additionalProperties": true,
"required": [
"id"
]
},
"patronGroup": {
"type": "object",
"description": "Patron group object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "User Group Schema",
"properties": {
"group": {
"type": "string",
"description": "group"
},
"desc": {
"type": "string",
"description": "description"
},
"id": {
"type": "string",
"description": "id"
},
"metadata": {
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"type": "object",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"group"
]
},
"permissions": {
"type": "object",
"description": "Permissions object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string",
"description": "Id"
},
"userId": {
"type": "string",
"description": "User Id"
},
"permissions": {
"type": "array",
"description": "Permissions array"
},
"metadata": {
"type": "object",
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false
},
"proxiesFor": {
"type": "array",
"description": "Proxies for, array",
"id": "proxyFor",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ProxyFor Schema",
"description": "Proxy For Schema",
"properties": {
"userId": {
"type": "string",
"description": "User Id"
},
"proxyUserId": {
"type": "string",
"description": "Proxy User Id"
},
"id": {
"type": "string",
"description": "Id"
},
"requestForSponsor": {
"type": "string",
"description": "Request For Sponsor"
},
"createdDate": {
"type": "string",
"format": "date-time",
"description": "Created Date"
},
"notificationsTo": {
"type": "string",
"description": "Notifications To"
},
"accrueTo": {
"type": "string",
"description": "Accrue To"
},
"status": {
"type": "string",
"description": "Status"
},
"expirationDate": {
"type": "string",
"format": "date-time",
"description": "Expiration Date"
},
"metadata": {
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"type": "object",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false
}
},
"servicePointsUser": {
"type": "object",
"description": "Service point user",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string",
"description": "Id"
},
"userId": {
"type": "string",
"description": "User Id"
},
"servicePointsIds": {
"type": "array",
"description": "Service Points Ids",
"items": {
"type": "string"
}
},
"servicePoints": {
"type": "array",
"description": "Service Points",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Service point",
"properties": {
"id": {
"type": "string",
"description": "id"
},
"name": {
"type": "string",
"description": "Service point name"
},
"code": {
"type": "string",
"description": "Service point code"
},
"discoveryDisplayName": {
"type": "string",
"description": "Service point discovery name"
},
"description": {
"type": "string",
"description": "Service point description"
},
"shelvingLagTime": {
"type": "integer",
"description": "Shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "Pick up location"
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
},
"locationIds": {
"type": "array",
"description": "Location Ids",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
}
},
"metadata": {
"type": "object",
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"code",
"discoveryDisplayName"
]
}
},
"defaultServicePointId": {
"type": "string",
"description": "Default Service Point Id"
},
"defaultServicePoint": {
"type": "object",
"description": "Default Service Point Object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string",
"description": "id"
},
"name": {
"type": "string",
"description": "Service point name"
},
"code": {
"type": "string",
"description": "Service point code"
},
"discoveryDisplayName": {
"type": "string",
"description": "Service point discovery name"
},
"description": {
"type": "string",
"description": "Service point description"
},
"shelvingLagTime": {
"type": "integer",
"description": "Shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "Pick up location"
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
},
"locationIds": {
"type": "array",
"description": "Location Ids",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
}
},
"metadata": {
"type": "object",
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"code",
"discoveryDisplayName"
]
},
"metadata": {
"type": "object",
"readonly": true,
"description": "Metadata",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false,
"required": [
"userId"
]
},
"tokenExpiration": {
"type": "object",
"description": "The token expiration object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"refreshTokenExpiration": {
"type": "string",
"description": "The time after which the refresh token will expire in ISO 8601 format."
},
"accessTokenExpiration": {
"type": "string",
"description": "The time after which the access token will expire in ISO 8601 format."
}
},
"required": [
"refreshTokenExpiration",
"accessTokenExpiration"
]
},
"tenant": {
"description": "Tenant identifier",
"type": "string"
}
}
}
Bad request
Media type: text/plain
Type: any
Example:
Bad request
Unprocessable Entity
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Allow a new user to login and return two cookies, one containing the user's refresh token and one containing an access token. Both tokens have an expiration. The expiration time for each is contained in the composite user token expiration property. If you don't need the data in the composite user you should call the /authn/login-with-expiry API instead.
POST /bl-users/login-with-expiry
Whether or not to expand permissions listings
indicates which referenced fields should be populated (de-referenced) by the service
Media type: application/json
Returns a CompositeUser object in addition to two Set-Cookie headers, one containing the refresh token and one containing the access token. Note that the Set-Cookie headers are set in BLUsersAPI.java using the raw response object rather than through RMB code-generation. This is because RMB code generation doesn't let us do multiple headers with the same name, which we need to do here.
Media type: application/json
Bad request
Media type: text/plain
Type: any
Example:
Bad request
Unprocessable Entity
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
called when a user has forgotten a password
POST /bl-users/forgotten/password
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Notification",
"properties": {
"id": {
"type": "string",
"description": "Id"
}
}
}
Bad request
Media type: text/plain
Type: any
Example:
Bad request
Unprocessable Entity
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
called when a user has forgotten a username
POST /bl-users/forgotten/username
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Notification",
"properties": {
"id": {
"type": "string",
"description": "Id"
}
}
}
Bad request
Media type: text/plain
Type: any
Example:
Bad request
Unprocessable Entity
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Allow change password for user
POST /bl-users/settings/myprofile/password
Media type: application/json
Type: json
Content:
{
"title": "Update Credentials Schema",
"type": "object",
"description": "An entity that describes the necessary data to update a user password",
"properties": {
"username": {
"description": "username",
"type": "string"
},
"userId": {
"description": "Unique user id",
"type": "string"
},
"password": {
"description": "The current password of the user who will be replaced by the new one",
"type": "string"
},
"newPassword": {
"description": "New user password",
"type": "string"
}
}
}
Successful update
Media type: text/plain
Type: any
Bad request
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Unauthorized
Media type: text/plain
Type: any
Example:
Unauthorized
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Generate and send password reset link
POST /bl-users/password-reset/link
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Request to generate and send reset password link",
"properties": {
"userId": {
"type": "string",
"description": "Id of user to whom a reset password link is sent"
}
},
"required": [
"userId"
]
}
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Response for reset password link generation",
"properties": {
"link": {
"type": "string",
"description": "Link for resetting password"
}
},
"additionalProperties": false
}
Reset password
POST /bl-users/password-reset/reset
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Password reset entity",
"type": "object",
"properties": {
"newPassword": {
"description": "New password",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"newPassword"
]
}