Mod-Users BL version v6.1
http://github.com/org/folio/mod-users-bl
Business Logic Users API
A front end for mod-users and mod-permissions
/bl-users
Get a number of user (and possibly related) records based on criteria in the user and related modules
get /bl-users
Get a number of user (and possibly related) records based on criteria in the user and related modules
Query Parameters
- query: (string)
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
- offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)
Skip over a number of elements by specifying an offset value for the query
Example:
0
- limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)
Limit the number of elements returned in the response
Example:
10
- include: (array of )
indicates which referenced fields should be populated (de-referenced) by the service
HTTP status code 200
Body
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"
]
}
HTTP status code 400
Bad request
Body
Media type: text/plain
Type: any
Example:
Bad request
HTTP status code 403
Access denied
Body
Media type: text/plain
Type: any
Example:
Access denied
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
Delete a user by id
Get a user by id
delete /bl-users/by-id/{id}
Delete a user by id
URI Parameters
- id: required(string)
HTTP status code 204
User deleted successfully
HTTP status code 404
User with a given ID not found
Body
Media type: text/plain
Type: any
HTTP status code 409
Conflict, e.g. user cannot be deleted as there are open transactions
Body
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"
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
get /bl-users/by-id/{id}
Get a user by id
URI Parameters
- id: required(string)
Query Parameters
- include: (array of )
indicates which referenced fields should be populated (de-referenced) by the service
- expandPermissions: (boolean - default: false)
Whether or not to expand permissions listings
HTTP status code 200
Body
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"
}
}
}
HTTP status code 400
Bad request
Body
Media type: text/plain
Type: any
Example:
Bad request
HTTP status code 403
Access denied
Body
Media type: text/plain
Type: any
Example:
Access denied
HTTP status code 404
User not found
Body
Media type: text/plain
Type: any
Example:
User not found
HTTP status code 422
Unprocessable Entity
Body
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"
}
}
}
HTTP status code 500
Internal server error
Body
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
Check if user has any open transactions, and if so, how many. Identify user by id
URI Parameters
- id: required(string)
HTTP status code 200
Body
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"
]
}
HTTP status code 400
Bad request
Body
Media type: text/plain
Type: any
Example:
Bad request
HTTP status code 404
User not found
Body
Media type: text/plain
Type: any
Example:
User not found
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
Get a user by username
get /bl-users/by-username/{username}
Get a user by username
URI Parameters
- username: required(string)
Query Parameters
- include: (array of )
indicates which referenced fields should be populated (de-referenced) by the service
- expandPermissions: (boolean - default: false)
Whether or not to expand permissions listings
HTTP status code 200
Body
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"
}
}
}
HTTP status code 400
Bad request
Body
Media type: text/plain
Type: any
Example:
Bad request
HTTP status code 403
Access denied
Body
Media type: text/plain
Type: any
Example:
Access denied
HTTP status code 404
User not found
Body
Media type: text/plain
Type: any
Example:
User not found
HTTP status code 422
Unprocessable Entity
Body
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"
}
}
}
HTTP status code 500
Internal server error
Body
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
Check if user has any open transactions, and if so, how many. Identify user by username
URI Parameters
- username: required(string)
HTTP status code 200
Body
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"
]
}
HTTP status code 400
Bad request
Body
Media type: text/plain
Type: any
Example:
Bad request
HTTP status code 404
User not found
Body
Media type: text/plain
Type: any
Example:
User not found
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
Get a user by self reference
get /bl-users/_self
Get a user by self reference
Query Parameters
- include: (array of )
indicates which referenced fields should be populated (de-referenced) by the service
- expandPermissions: (boolean - default: false)
Whether or not to expand permissions listings
HTTP status code 200
Body
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"
}
}
}
HTTP status code 400
Bad request
Body
Media type: text/plain
Type: any
Example:
Bad request
HTTP status code 403
Access denied
Body
Media type: text/plain
Type: any
Example:
Access denied
HTTP status code 404
User not found
Body
Media type: text/plain
Type: any
Example:
User not found
HTTP status code 422
Unprocessable Entity
Body
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"
}
}
}
HTTP status code 500
Internal server error
Body
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
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.
Headers
- User-Agent: required(string)
- X-Forwarded-For: required(string)
Query Parameters
- expandPermissions: (boolean - default: false)
Whether or not to expand permissions listings
- include: (array of )
indicates which referenced fields should be populated (de-referenced) by the service
Body
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"
}
}
}
HTTP status code 201
Headers
- x-okapi-token: required(string)
Body
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"
}
}
}
HTTP status code 400
Bad request
Body
Media type: text/plain
Type: any
Example:
Bad request
HTTP status code 422
Unprocessable Entity
Body
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"
}
}
}
HTTP status code 500
Internal server error
Body
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
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.
Headers
- User-Agent: required(string)
- X-Forwarded-For: required(string)
Query Parameters
- expandPermissions: (boolean - default: false)
Whether or not to expand permissions listings
- include: (array of )
indicates which referenced fields should be populated (de-referenced) by the service
Body
Media type: application/json
HTTP status code 201
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.
Body
Media type: application/json
HTTP status code 400
Bad request
Body
Media type: text/plain
Type: any
Example:
Bad request
HTTP status code 422
Unprocessable Entity
Body
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"
}
}
}
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
called when a user has forgotten a password
post /bl-users/forgotten/password
called when a user has forgotten a password
Body
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"
}
}
}
HTTP status code 204
HTTP status code 400
Bad request
Body
Media type: text/plain
Type: any
Example:
Bad request
HTTP status code 422
Unprocessable Entity
Body
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"
}
}
}
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
called when a user has forgotten a username
post /bl-users/forgotten/username
called when a user has forgotten a username
Body
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"
}
}
}
HTTP status code 204
HTTP status code 400
Bad request
Body
Media type: text/plain
Type: any
Example:
Bad request
HTTP status code 422
Unprocessable Entity
Body
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"
}
}
}
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
Allow change password for user
post /bl-users/settings/myprofile/password
Allow change password for user
Headers
- User-Agent: required(string)
- X-Forwarded-For: required(string)
Body
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"
}
}
}
HTTP status code 204
Successful update
Body
Media type: text/plain
Type: any
HTTP status code 400
Bad request
Body
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"
}
}
}
HTTP status code 401
Unauthorized
Body
Media type: text/plain
Type: any
Example:
Unauthorized
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
Generate and send password reset link
post /bl-users/password-reset/link
Generate and send password reset link
Body
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"
]
}
HTTP status code 200
Body
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
Reset password
Headers
- User-Agent: required(string)
- X-Forwarded-For: required(string)
Body
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"
]
}