Skip to content

    Pre-launch API. The concepts described here are settled, but the API shape is not: request and response fields, parameters and defaults can still change. Build against it, and talk to your Luigi's Box contact before you put an integration into production.

    Get the authenticated principal's entitlements

    View source
    GET
    /platform/v1/me/entitlements
    curl --request GET \
    --url 'https://api.eu1.luigisbox.ai/platform/v1/me/entitlements?page=1&size=20' \
    --header 'Authorization: Bearer <token>'

    Return the organizations, catalogs, channels and surfaces the authenticated principal can reach.

    Paginated by organization: one item is one organization, with its catalog, channel and surface subtree nested inside, and total counts organizations. Organizations are ordered by id, so paging is stable. Credentials granted on every organization page over all of them; credentials granted on particular organizations page over those.

    size accepts up to 1000 here — above the limit of 100 that applies elsewhere on the API — so a token entitled to many organizations can read the whole tree in one call.

    page
    Page

    1-based page number.

    integer
    default: 1 >= 1

    1-based page number.

    size
    Size

    Number of items per page.

    integer
    default: 20 >= 1 <= 1000

    Number of items per page.

    Successful Response

    Media type application/json
    Page[EntitledOrganization]
    object
    items
    required
    Items

    The items on this page.

    Array<object>
    EntitledOrganization
    object
    catalogs
    required
    Catalogs

    The organization’s catalogs the principal is entitled to.

    Array<object>
    EntitledCatalog
    object
    channels
    required
    Channels

    The catalog’s channels the principal is entitled to.

    Array<object>
    EntitledChannel
    object
    id
    required
    Id

    Channel identifier, lbn_ prefixed.

    string
    name
    required
    Name

    Human-readable channel name, e.g. example.com.

    string
    id
    required
    Id

    Catalog identifier, lbc_ prefixed.

    string
    language
    required
    Language

    The catalog’s language, as a locale identifier, e.g. en_GB.

    string
    name
    required
    Name

    Human-readable catalog name.

    string
    surfaces
    required
    Surfaces

    The catalog’s surfaces the principal is entitled to.

    Array<object>
    EntitledSurface
    object
    id
    required
    Id

    Surface identifier, lbs_<intent>_<slug>.

    string
    intent
    required
    Intent

    The discovery intent this surface serves.

    string
    Allowed values: search recommender collection
    slug
    required
    Slug

    Distinguishes surfaces of the same intent within a catalog.

    string
    id
    required
    Id

    Organization identifier, lbo_ prefixed.

    string
    name
    required
    Name

    Human-readable organization name.

    string
    page
    required
    Page

    1-based page number.

    integer
    size
    required
    Size

    Number of items per page.

    integer
    total
    required
    Total

    Total number of items across all pages.

    integer
    Example
    {
    "items": [
    {
    "catalogs": [
    {
    "surfaces": [
    {
    "intent": "search"
    }
    ]
    }
    ]
    }
    ]
    }

    Missing or invalid credentials

    Media type application/json
    ErrorResponse

    Canonical error body — every non-2xx response uses this shape.

    object
    exception_details
    ExceptionDetails

    Machine-readable error context; empty object when there is nothing to add.

    object
    error_code
    Error Code

    Stable machine code naming why a well-formed request was refused: snake_case, prefixed by its domain — e.g. filter_unknown_field or cursor_mismatch. Safe to branch on; reason is not. Absent when the status code says all there is to say.

    string
    validation_errors
    Validation Errors

    Every field-level problem found in the request, when validation is what failed. Absent when the rejection is not about a specific value.

    Array<object>
    ValidationProblem

    One field-level reason a request was rejected.

    object
    loc
    required
    Loc

    Path to the offending value from the request root, e.g. ["body", "filters", 0, "operator"].

    Array
    msg
    required
    Msg

    What is wrong with the value at loc.

    string
    type
    required
    Type

    Stable machine code for the problem, e.g. missing or string_too_short.

    string
    key
    additional properties
    any
    reason
    required
    Reason

    Human-readable, actionable error message.

    string
    request_id
    Any of:
    string
    Example generated
    {
    "exception_details": {
    "error_code": "example",
    "validation_errors": [
    {
    "loc": [
    "example"
    ],
    "msg": "example",
    "type": "example"
    }
    ]
    },
    "reason": "example",
    "request_id": "example"
    }

    Authenticated but not permitted

    Media type application/json
    ErrorResponse

    Canonical error body — every non-2xx response uses this shape.

    object
    exception_details
    ExceptionDetails

    Machine-readable error context; empty object when there is nothing to add.

    object
    error_code
    Error Code

    Stable machine code naming why a well-formed request was refused: snake_case, prefixed by its domain — e.g. filter_unknown_field or cursor_mismatch. Safe to branch on; reason is not. Absent when the status code says all there is to say.

    string
    validation_errors
    Validation Errors

    Every field-level problem found in the request, when validation is what failed. Absent when the rejection is not about a specific value.

    Array<object>
    ValidationProblem

    One field-level reason a request was rejected.

    object
    loc
    required
    Loc

    Path to the offending value from the request root, e.g. ["body", "filters", 0, "operator"].

    Array
    msg
    required
    Msg

    What is wrong with the value at loc.

    string
    type
    required
    Type

    Stable machine code for the problem, e.g. missing or string_too_short.

    string
    key
    additional properties
    any
    reason
    required
    Reason

    Human-readable, actionable error message.

    string
    request_id
    Any of:
    string
    Example generated
    {
    "exception_details": {
    "error_code": "example",
    "validation_errors": [
    {
    "loc": [
    "example"
    ],
    "msg": "example",
    "type": "example"
    }
    ]
    },
    "reason": "example",
    "request_id": "example"
    }

    Request validation failed

    Media type application/json
    ErrorResponse

    Canonical error body — every non-2xx response uses this shape.

    object
    exception_details
    ExceptionDetails

    Machine-readable error context; empty object when there is nothing to add.

    object
    error_code
    Error Code

    Stable machine code naming why a well-formed request was refused: snake_case, prefixed by its domain — e.g. filter_unknown_field or cursor_mismatch. Safe to branch on; reason is not. Absent when the status code says all there is to say.

    string
    validation_errors
    Validation Errors

    Every field-level problem found in the request, when validation is what failed. Absent when the rejection is not about a specific value.

    Array<object>
    ValidationProblem

    One field-level reason a request was rejected.

    object
    loc
    required
    Loc

    Path to the offending value from the request root, e.g. ["body", "filters", 0, "operator"].

    Array
    msg
    required
    Msg

    What is wrong with the value at loc.

    string
    type
    required
    Type

    Stable machine code for the problem, e.g. missing or string_too_short.

    string
    key
    additional properties
    any
    reason
    required
    Reason

    Human-readable, actionable error message.

    string
    request_id
    Any of:
    string
    Example generated
    {
    "exception_details": {
    "error_code": "example",
    "validation_errors": [
    {
    "loc": [
    "example"
    ],
    "msg": "example",
    "type": "example"
    }
    ]
    },
    "reason": "example",
    "request_id": "example"
    }