Mod-Users BL (v6.1)

http://github.com/org/folio/mod-users-bl

Table of contents

Business Logic Users API

A front end for mod-users and mod-permissions

/bl-users

GET /bl-users

Get a number of user (and possibly related) records based on criteria in the user and related modules

GET /bl-users
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 string)

    indicates which referenced fields should be populated (de-referenced) by the service

Response 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"
  ]
}

Response 400

Bad request

Body

Media type: text/plain

Type: any

Example:

Bad request

Response 403

Access denied

Body

Media type: text/plain

Type: any

Example:

Access denied

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

DELETE /bl-users/by-id/{id}

Delete a user by id

DELETE /bl-users/by-id/{id}
URI Parameters
  • id: required (string)

Response 204

User deleted successfully

Response 404

User with a given ID not found

Body

Media type: text/plain

Type: any

Response 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"
  ]
}

Response 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

GET /bl-users/by-id/{id}
URI Parameters
  • id: required (string)
Query Parameters
  • include: (array of string)

    indicates which referenced fields should be populated (de-referenced) by the service

  • expandPermissions: (boolean - default: false)

    Whether or not to expand permissions listings

Response 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"
    }
  }
}

Response 400

Bad request

Body

Media type: text/plain

Type: any

Example:

Bad request

Response 403

Access denied

Body

Media type: text/plain

Type: any

Example:

Access denied

Response 404

User not found

Body

Media type: text/plain

Type: any

Example:

User not found

Response 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"
    }
  }
}

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

GET /bl-users/by-id/{id}/open-transactions

Check if user has any open transactions, and if so, how many. Identify user by id

GET /bl-users/by-id/{id}/open-transactions
URI Parameters
  • id: required (string)

Response 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"
  ]
}

Response 400

Bad request

Body

Media type: text/plain

Type: any

Example:

Bad request

Response 404

User not found

Body

Media type: text/plain

Type: any

Example:

User not found

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

GET /bl-users/by-username/{username}

Get a user by username

GET /bl-users/by-username/{username}
URI Parameters
  • username: required (string)
Query Parameters
  • include: (array of string)

    indicates which referenced fields should be populated (de-referenced) by the service

  • expandPermissions: (boolean - default: false)

    Whether or not to expand permissions listings

Response 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"
    }
  }
}

Response 400

Bad request

Body

Media type: text/plain

Type: any

Example:

Bad request

Response 403

Access denied

Body

Media type: text/plain

Type: any

Example:

Access denied

Response 404

User not found

Body

Media type: text/plain

Type: any

Example:

User not found

Response 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"
    }
  }
}

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

GET /bl-users/by-username/{username}/open-transactions

Check if user has any open transactions, and if so, how many. Identify user by username

GET /bl-users/by-username/{username}/open-transactions
URI Parameters
  • username: required (string)

Response 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"
  ]
}

Response 400

Bad request

Body

Media type: text/plain

Type: any

Example:

Bad request

Response 404

User not found

Body

Media type: text/plain

Type: any

Example:

User not found

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

GET /bl-users/_self

Get a user by self reference

GET /bl-users/_self
Query Parameters
  • include: (array of string)

    indicates which referenced fields should be populated (de-referenced) by the service

  • expandPermissions: (boolean - default: false)

    Whether or not to expand permissions listings

Response 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"
    }
  }
}

Response 400

Bad request

Body

Media type: text/plain

Type: any

Example:

Bad request

Response 403

Access denied

Body

Media type: text/plain

Type: any

Example:

Access denied

Response 404

User not found

Body

Media type: text/plain

Type: any

Example:

User not found

Response 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"
    }
  }
}

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

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.

POST /bl-users/login
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 string)

    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"
    }
  }
}

Response 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"
    }
  }
}

Response 400

Bad request

Body

Media type: text/plain

Type: any

Example:

Bad request

Response 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"
    }
  }
}

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

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.

POST /bl-users/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 string)

    indicates which referenced fields should be populated (de-referenced) by the service

Body

Media type: application/json

Response 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

Response 400

Bad request

Body

Media type: text/plain

Type: any

Example:

Bad request

Response 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"
    }
  }
}

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

POST /bl-users/forgotten/password

called when a user has forgotten a password

POST /bl-users/forgotten/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"
    }
  }
}

Response 204

Response 400

Bad request

Body

Media type: text/plain

Type: any

Example:

Bad request

Response 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"
    }
  }
}

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

POST /bl-users/forgotten/username

called when a user has forgotten a username

POST /bl-users/forgotten/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"
    }
  }
}

Response 204

Response 400

Bad request

Body

Media type: text/plain

Type: any

Example:

Bad request

Response 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"
    }
  }
}

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

POST /bl-users/settings/myprofile/password

Allow change password for user

POST /bl-users/settings/myprofile/password
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"
    }
  }
}

Response 204

Successful update

Body

Media type: text/plain

Type: any

Response 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"
    }
  }
}

Response 401

Unauthorized

Body

Media type: text/plain

Type: any

Example:

Unauthorized

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

POST /bl-users/password-reset/link

Generate and send password reset link

POST /bl-users/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"
  ]
}

Response 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
}

POST /bl-users/password-reset/reset

Reset password

POST /bl-users/password-reset/reset
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"
  ]
}

Response 204

Successful password reset

Response 422

Unprocessable Entity

Body

Media type: text/plain

Type: any

Example:

Bad request

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

POST /bl-users/password-reset/validate

POST /bl-users/password-reset/validate

Response 204

Successful link validation

Response 422

Unprocessable Entity

Body

Media type: text/plain

Type: any

Example:

Bad request

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error