library.schema
Scope:
libraryКто может вызывать: Любой авторизованный пользователь с доступом к REST.
Каталог методов, параметров и кодов ошибок для AI/интеграций.
HTTP: GET
Побочные эффекты: none
Параметры метода
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| (нет) | — | — | — |
Возвращаемые данные
Объект в result.result:
| Поле | Тип | Описание |
|---|---|---|
scope |
string |
library |
prefix |
string |
library. |
fetchAllMax |
int |
Лимит для fetchAll (5000) |
methods |
array |
{ method, http, params[], errors[], controller, action } |
Обработка ошибок
Справочник кодов: error-codes.md.
| Код | Описание |
|---|---|
UNAUTHORIZED |
Пользователь не авторизован |
INTERNAL_ERROR |
Внутренняя ошибка |
Пример запроса (GET)
curl -s "https://76590.dev.wehive.digital/rest/1/{webhook_code}/library.schema.json"
Пример ответа
{
"result": {
"result": {
"scope": "library",
"prefix": "library.",
"fetchAllMax": 5000,
"methods": [
{
"method": "library.book.add",
"http": "POST",
"params": [
{
"name": "name",
"type": "string",
"required": true,
"description": "Book title"
},
{
"name": "code",
"type": "string",
"required": false,
"description": "Symbolic code (auto-generated from name on add if omitted)"
},
{
"name": "sort",
"type": "int",
"required": false,
"description": "Sort index"
},
{
"name": "annotation",
"type": "string",
"required": false,
"description": "Description"
},
{
"name": "categoryIds",
"type": "array",
"required": false,
"description": "Category section IDs"
},
{
"name": "authorIds",
"type": "array",
"required": false,
"description": "Author enum IDs"
},
{
"name": "newAuthors",
"type": "array",
"required": false,
"description": "New author names to create"
},
{
"name": "paperVersion",
"type": "bool",
"required": false,
"description": "Available in paper version"
},
{
"name": "availableCopies",
"type": "int",
"required": false,
"description": "Paper copies count (alias for paperVersionCount)"
},
{
"name": "showInCategoryRecommendations",
"type": "bool",
"required": false,
"description": "Show in category recommendations (RECOMMENDATIONS_TOP)"
},
{
"name": "electronicVersion",
"type": "bool",
"required": false,
"description": "Available in electronic version"
},
{
"name": "electronicLinks",
"type": "object",
"required": false,
"description": "Electronic links: pdf, epub, doc, zip"
},
{
"name": "electronicFileIds",
"type": "array",
"required": false,
"description": "Electronic file IDs (EBOOK_FILES)"
},
{
"name": "audioVersion",
"type": "bool",
"required": false,
"description": "Audiobook available"
},
{
"name": "audioLinks",
"type": "object",
"required": false,
"description": "Audio links: mp3, mp4, m4b, mobi, ogg"
},
{
"name": "audioFileIds",
"type": "array",
"required": false,
"description": "Audio file IDs (AUDIO_BOOK)"
},
{
"name": "publishYear",
"type": "string",
"required": false,
"description": "Publish year"
},
{
"name": "link",
"type": "string",
"required": false,
"description": "External link"
},
{
"name": "price",
"type": "string",
"required": false,
"description": "Price"
},
{
"name": "previewPictureId",
"type": "int",
"required": false,
"description": "Preview picture file ID"
},
{
"name": "isActive",
"type": "bool",
"required": false,
"description": "Active flag (moderator only)"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "VALIDATION_ERROR",
"description": "Invalid payload"
}
],
"controller": "Book",
"action": "addAction"
},
{
"method": "library.book.availability",
"http": "GET",
"params": [
{
"name": "bookId",
"type": "int",
"required": true,
"description": "Book ID"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "NOT_FOUND",
"description": "Book not found"
}
],
"controller": "Book",
"action": "availabilityAction"
},
{
"method": "library.book.delete",
"http": "POST",
"params": [
{
"name": "id",
"type": "int",
"required": true,
"description": "Entity ID"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "PERMISSION_DENIED",
"description": "Moderator required"
},
{
"code": "NOT_FOUND",
"description": "Book not found"
}
],
"controller": "Book",
"action": "deleteAction"
},
{
"method": "library.book.get",
"http": "GET",
"params": [
{
"name": "id",
"type": "int",
"required": true,
"description": "Entity ID"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "NOT_FOUND",
"description": "Book not found"
}
],
"controller": "Book",
"action": "getAction"
},
{
"method": "library.book.list",
"http": "GET",
"params": [
{
"name": "limit",
"type": "int",
"required": false,
"description": "Page size, default 50, max 500"
},
{
"name": "offset",
"type": "int",
"required": false,
"description": "Offset, default 0"
},
{
"name": "fetchAll",
"type": "bool",
"required": false,
"description": "If true, return all rows (limited by rest_fetch_all_max)"
},
{
"name": "filter",
"type": "object",
"required": false,
"description": "Mongo-style filter"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "INVALID_FILTER_OPERATOR",
"description": "Unknown filter operator"
},
{
"code": "FETCH_ALL_LIMIT_EXCEEDED",
"description": "fetchAll exceeded protective limit"
}
],
"controller": "Book",
"action": "listAction"
},
{
"method": "library.book.propose",
"http": "POST",
"params": [
{
"name": "name",
"type": "string",
"required": true,
"description": "Proposed book title"
},
{
"name": "description",
"type": "string",
"required": false,
"description": "Description"
},
{
"name": "categoryId",
"type": "int",
"required": false,
"description": "Category ID"
},
{
"name": "cost",
"type": "string",
"required": false,
"description": "Price"
},
{
"name": "link",
"type": "string",
"required": false,
"description": "External link"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
}
],
"controller": "Book",
"action": "proposeAction"
},
{
"method": "library.book.publish",
"http": "POST",
"params": [
{
"name": "id",
"type": "int",
"required": true,
"description": "Entity ID"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "PERMISSION_DENIED",
"description": "Moderator required"
},
{
"code": "NOT_FOUND",
"description": "Book not found"
}
],
"controller": "Book",
"action": "publishAction"
},
{
"method": "library.book.return",
"http": "POST",
"params": [
{
"name": "bookId",
"type": "int",
"required": true,
"description": "Book ID"
},
{
"name": "userId",
"type": "int",
"required": false,
"description": "Borrower user ID (defaults to caller; moderator required for another user)"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
}
],
"controller": "Book",
"action": "returnAction"
},
{
"method": "library.book.take",
"http": "POST",
"params": [
{
"name": "bookId",
"type": "int",
"required": true,
"description": "Book ID"
},
{
"name": "dateTo",
"type": "string",
"required": false,
"description": "Return-by date (alias: returnTo)"
},
{
"name": "userId",
"type": "int",
"required": false,
"description": "Borrower user ID (defaults to caller; moderator required for another user)"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "BOOK_ALREADY_TAKEN",
"description": "User already has an active loan for this book"
},
{
"code": "BOOK_NOT_AVAILABLE",
"description": "No available copies of the book"
}
],
"controller": "Book",
"action": "takeAction"
},
{
"method": "library.book.unpublish",
"http": "POST",
"params": [
{
"name": "id",
"type": "int",
"required": true,
"description": "Entity ID"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "PERMISSION_DENIED",
"description": "Moderator required"
},
{
"code": "NOT_FOUND",
"description": "Book not found"
}
],
"controller": "Book",
"action": "unpublishAction"
},
{
"method": "library.book.update",
"http": "POST",
"params": [
{
"name": "id",
"type": "int",
"required": true,
"description": "Entity ID"
},
{
"name": "name",
"type": "string",
"required": true,
"description": "Book title"
},
{
"name": "code",
"type": "string",
"required": false,
"description": "Symbolic code (auto-generated from name on add if omitted)"
},
{
"name": "sort",
"type": "int",
"required": false,
"description": "Sort index"
},
{
"name": "annotation",
"type": "string",
"required": false,
"description": "Description"
},
{
"name": "categoryIds",
"type": "array",
"required": false,
"description": "Category section IDs"
},
{
"name": "authorIds",
"type": "array",
"required": false,
"description": "Author enum IDs"
},
{
"name": "newAuthors",
"type": "array",
"required": false,
"description": "New author names to create"
},
{
"name": "paperVersion",
"type": "bool",
"required": false,
"description": "Available in paper version"
},
{
"name": "availableCopies",
"type": "int",
"required": false,
"description": "Paper copies count (alias for paperVersionCount)"
},
{
"name": "showInCategoryRecommendations",
"type": "bool",
"required": false,
"description": "Show in category recommendations (RECOMMENDATIONS_TOP)"
},
{
"name": "electronicVersion",
"type": "bool",
"required": false,
"description": "Available in electronic version"
},
{
"name": "electronicLinks",
"type": "object",
"required": false,
"description": "Electronic links: pdf, epub, doc, zip"
},
{
"name": "electronicFileIds",
"type": "array",
"required": false,
"description": "Electronic file IDs (EBOOK_FILES)"
},
{
"name": "audioVersion",
"type": "bool",
"required": false,
"description": "Audiobook available"
},
{
"name": "audioLinks",
"type": "object",
"required": false,
"description": "Audio links: mp3, mp4, m4b, mobi, ogg"
},
{
"name": "audioFileIds",
"type": "array",
"required": false,
"description": "Audio file IDs (AUDIO_BOOK)"
},
{
"name": "publishYear",
"type": "string",
"required": false,
"description": "Publish year"
},
{
"name": "link",
"type": "string",
"required": false,
"description": "External link"
},
{
"name": "price",
"type": "string",
"required": false,
"description": "Price"
},
{
"name": "previewPictureId",
"type": "int",
"required": false,
"description": "Preview picture file ID"
},
{
"name": "isActive",
"type": "bool",
"required": false,
"description": "Active flag (moderator only)"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "PERMISSION_DENIED",
"description": "Moderator required"
},
{
"code": "NOT_FOUND",
"description": "Book not found"
},
{
"code": "VALIDATION_ERROR",
"description": "Empty name or save failed"
}
],
"controller": "Book",
"action": "updateAction"
},
{
"method": "library.category.add",
"http": "POST",
"params": [
{
"name": "name",
"type": "string",
"required": true,
"description": "Category name"
},
{
"name": "sort",
"type": "int",
"required": false,
"description": "Sort index"
},
{
"name": "color",
"type": "string",
"required": false,
"description": "CSS color"
},
{
"name": "active",
"type": "bool",
"required": false,
"description": "Active flag"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "PERMISSION_DENIED",
"description": "Moderator required"
}
],
"controller": "Category",
"action": "addAction"
},
{
"method": "library.category.delete",
"http": "POST",
"params": [
{
"name": "id",
"type": "int",
"required": true,
"description": "Entity ID"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "PERMISSION_DENIED",
"description": "Moderator required"
}
],
"controller": "Category",
"action": "deleteAction"
},
{
"method": "library.category.get",
"http": "GET",
"params": [
{
"name": "id",
"type": "int",
"required": true,
"description": "Entity ID"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "CATEGORY_NOT_FOUND",
"description": "Category not found"
}
],
"controller": "Category",
"action": "getAction"
},
{
"method": "library.category.list",
"http": "GET",
"params": [
{
"name": "limit",
"type": "int",
"required": false,
"description": "Page size, default 50, max 500"
},
{
"name": "offset",
"type": "int",
"required": false,
"description": "Offset, default 0"
},
{
"name": "fetchAll",
"type": "bool",
"required": false,
"description": "If true, return all rows (limited by rest_fetch_all_max)"
},
{
"name": "filter",
"type": "object",
"required": false,
"description": "Mongo-style filter"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "INVALID_FILTER_OPERATOR",
"description": "Unknown filter operator"
},
{
"code": "FETCH_ALL_LIMIT_EXCEEDED",
"description": "fetchAll exceeded protective limit"
}
],
"controller": "Category",
"action": "listAction"
},
{
"method": "library.category.update",
"http": "POST",
"params": [
{
"name": "id",
"type": "int",
"required": true,
"description": "Entity ID"
},
{
"name": "name",
"type": "string",
"required": false,
"description": "Category name"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "PERMISSION_DENIED",
"description": "Moderator required"
}
],
"controller": "Category",
"action": "updateAction"
},
{
"method": "library.enum.author.list",
"http": "GET",
"params": [
{
"name": "limit",
"type": "int",
"required": false,
"description": "Page size, default 50, max 500"
},
{
"name": "offset",
"type": "int",
"required": false,
"description": "Offset, default 0"
},
{
"name": "fetchAll",
"type": "bool",
"required": false,
"description": "If true, return all rows (limited by rest_fetch_all_max)"
},
{
"name": "filter",
"type": "object",
"required": false,
"description": "Mongo-style filter"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "INVALID_FILTER_OPERATOR",
"description": "Unknown filter operator"
},
{
"code": "FETCH_ALL_LIMIT_EXCEEDED",
"description": "fetchAll exceeded protective limit"
}
],
"controller": "Enum\\Author",
"action": "listAction"
},
{
"method": "library.enum.bookType.list",
"http": "GET",
"params": [],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
}
],
"controller": "Enum\\BookType",
"action": "listAction"
},
{
"method": "library.enum.competency.list",
"http": "GET",
"params": [
{
"name": "limit",
"type": "int",
"required": false,
"description": "Page size, default 50, max 500"
},
{
"name": "offset",
"type": "int",
"required": false,
"description": "Offset, default 0"
},
{
"name": "fetchAll",
"type": "bool",
"required": false,
"description": "If true, return all rows (limited by rest_fetch_all_max)"
},
{
"name": "filter",
"type": "object",
"required": false,
"description": "Mongo-style filter"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "INVALID_FILTER_OPERATOR",
"description": "Unknown filter operator"
},
{
"code": "FETCH_ALL_LIMIT_EXCEEDED",
"description": "fetchAll exceeded protective limit"
}
],
"controller": "Enum\\Competency",
"action": "listAction"
},
{
"method": "library.history.get",
"http": "GET",
"params": [
{
"name": "id",
"type": "int",
"required": true,
"description": "Entity ID"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "HISTORY_NOT_FOUND",
"description": "History record not found"
}
],
"controller": "History",
"action": "getAction"
},
{
"method": "library.history.list",
"http": "GET",
"params": [
{
"name": "limit",
"type": "int",
"required": false,
"description": "Page size, default 50, max 500"
},
{
"name": "offset",
"type": "int",
"required": false,
"description": "Offset, default 0"
},
{
"name": "fetchAll",
"type": "bool",
"required": false,
"description": "If true, return all rows (limited by rest_fetch_all_max)"
},
{
"name": "filter",
"type": "object",
"required": false,
"description": "Mongo-style filter"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "INVALID_FILTER_OPERATOR",
"description": "Unknown filter operator"
},
{
"code": "FETCH_ALL_LIMIT_EXCEEDED",
"description": "fetchAll exceeded protective limit"
}
],
"controller": "History",
"action": "listAction"
},
{
"method": "library.integration.alpina.set",
"http": "POST",
"params": [
{
"name": "active",
"type": "bool",
"required": false,
"description": "Integration active flag"
},
{
"name": "timeStart",
"type": "string",
"required": false,
"description": "Daily agent start time (HH:MM)"
},
{
"name": "apiKey",
"type": "string",
"required": false,
"description": "Alpina API Key"
},
{
"name": "apiSecret",
"type": "string",
"required": false,
"description": "Alpina API Secret"
},
{
"name": "apiAddress",
"type": "string",
"required": false,
"description": "Alpina API address"
},
{
"name": "storeAddress",
"type": "string",
"required": false,
"description": "Alpina storage address"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "PERMISSION_DENIED",
"description": "Admin required"
}
],
"controller": "Integration\\Alpina",
"action": "setAction"
},
{
"method": "library.integration.mif.set",
"http": "POST",
"params": [
{
"name": "active",
"type": "bool",
"required": false,
"description": "Integration active flag"
},
{
"name": "timeStart",
"type": "string",
"required": false,
"description": "Daily agent start time (HH:MM)"
},
{
"name": "libId",
"type": "string",
"required": false,
"description": "MIF library ID"
},
{
"name": "adminEmail",
"type": "string",
"required": false,
"description": "Library administrator email"
},
{
"name": "url",
"type": "string",
"required": false,
"description": "MIF API URL"
},
{
"name": "secretApiKey",
"type": "string",
"required": false,
"description": "MIF API secret key"
},
{
"name": "companyName",
"type": "string",
"required": false,
"description": "Company Name (Audience in MIF cabinet)"
},
{
"name": "useDateExpired",
"type": "bool",
"required": false,
"description": "Respect book activity period"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "PERMISSION_DENIED",
"description": "Admin required"
}
],
"controller": "Integration\\Mif",
"action": "setAction"
},
{
"method": "library.ipr.addAction",
"http": "POST",
"params": [
{
"name": "bookId",
"type": "int",
"required": true,
"description": "Book ID"
},
{
"name": "programId",
"type": "int",
"required": false,
"description": "IPR program (card) ID; required when user has multiple cards"
},
{
"name": "userId",
"type": "int",
"required": false,
"description": "Target user ID (defaults to caller; moderator required for another user)"
},
{
"name": "dateTo",
"type": "string",
"required": false,
"description": "Planned completion date"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "IPR_NOT_AVAILABLE",
"description": "IPR module unavailable"
}
],
"controller": "Ipr",
"action": "addActionAction"
},
{
"method": "library.rating.batch",
"http": "GET",
"params": [
{
"name": "bookIds",
"type": "array",
"required": true,
"description": "Book IDs"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
}
],
"controller": "Rating",
"action": "batchAction"
},
{
"method": "library.rating.get",
"http": "GET",
"params": [
{
"name": "bookId",
"type": "int",
"required": true,
"description": "Book ID"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
}
],
"controller": "Rating",
"action": "getAction"
},
{
"method": "library.review.add",
"http": "POST",
"params": [
{
"name": "bookId",
"type": "int",
"required": true,
"description": "Book ID"
},
{
"name": "rating",
"type": "float",
"required": true,
"description": "Rating value"
},
{
"name": "text",
"type": "string",
"required": false,
"description": "Review text"
},
{
"name": "userId",
"type": "int",
"required": false,
"description": "Review author user ID (defaults to caller; moderator required for another user)"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
}
],
"controller": "Review",
"action": "addAction"
},
{
"method": "library.review.get",
"http": "GET",
"params": [
{
"name": "id",
"type": "int",
"required": true,
"description": "Entity ID"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "REVIEW_NOT_FOUND",
"description": "Review not found"
}
],
"controller": "Review",
"action": "getAction"
},
{
"method": "library.review.list",
"http": "GET",
"params": [
{
"name": "limit",
"type": "int",
"required": false,
"description": "Page size, default 50, max 500"
},
{
"name": "offset",
"type": "int",
"required": false,
"description": "Offset, default 0"
},
{
"name": "fetchAll",
"type": "bool",
"required": false,
"description": "If true, return all rows (limited by rest_fetch_all_max)"
},
{
"name": "filter",
"type": "object",
"required": false,
"description": "Mongo-style filter"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
},
{
"code": "INVALID_FILTER_OPERATOR",
"description": "Unknown filter operator"
},
{
"code": "FETCH_ALL_LIMIT_EXCEEDED",
"description": "fetchAll exceeded protective limit"
}
],
"controller": "Review",
"action": "listAction"
},
{
"method": "library.schema",
"http": "GET",
"params": [],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
}
],
"controller": "Library",
"action": "schemaAction"
},
{
"method": "library.subscription.delete",
"http": "POST",
"params": [
{
"name": "userId",
"type": "int",
"required": false,
"description": "Subscription owner user ID (defaults to caller; moderator required for another user)"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
}
],
"controller": "Subscription",
"action": "deleteAction"
},
{
"method": "library.subscription.get",
"http": "GET",
"params": [
{
"name": "userId",
"type": "int",
"required": false,
"description": "Subscription owner user ID (defaults to caller; moderator required for another user)"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
}
],
"controller": "Subscription",
"action": "getAction"
},
{
"method": "library.subscription.set",
"http": "POST",
"params": [
{
"name": "userId",
"type": "int",
"required": false,
"description": "Subscription owner user ID (defaults to caller; moderator required for another user)"
},
{
"name": "book_category",
"type": "array",
"required": false,
"description": "Category IDs"
},
{
"name": "competency",
"type": "array",
"required": false,
"description": "Competency IDs"
},
{
"name": "paper_version",
"type": "string",
"required": false,
"description": "Y/N"
},
{
"name": "ebook_version",
"type": "string",
"required": false,
"description": "Y/N"
},
{
"name": "audio_version",
"type": "string",
"required": false,
"description": "Y/N"
}
],
"errors": [
{
"code": "UNAUTHORIZED",
"description": "User is not authorized"
},
{
"code": "ACCESS_DENIED",
"description": "Library access denied"
},
{
"code": "INVALID_LIMIT",
"description": "limit is out of range"
},
{
"code": "INVALID_OFFSET",
"description": "offset is out of range"
},
{
"code": "INVALID_FILTER",
"description": "Invalid filter payload"
},
{
"code": "INTERNAL_ERROR",
"description": "Internal server error"
}
],
"controller": "Subscription",
"action": "setAction"
}
]
},
"error": null
}
}
См. также
Предыдущая
Следующая