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
    integer
    default: 1 >= 1
    size
    Size
    integer
    default: 20 >= 1 <= 1000

    Successful Response

    Media type application/json
    Page[EntitledOrganization]
    object
    items
    required
    Items
    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
    slug
    required
    Slug

    Distinguishes surfaces of the same intent within a catalog.

    string
    surface_kind
    required
    Intent

    The discovery intent this surface serves.

    string
    Allowed values: search recommender collection
    id
    required
    Id

    Organization identifier, lbo_ prefixed.

    string
    name
    required
    Name

    Human-readable organization name.

    string
    page
    required
    Page
    integer
    size
    required
    Size
    integer
    total
    required
    Total
    integer
    Example
    {
    "items": [
    {
    "catalogs": [
    {
    "surfaces": [
    {
    "surface_kind": "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
    validation_errors
    Any of:
    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": {
    "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
    validation_errors
    Any of:
    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": {
    "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
    validation_errors
    Any of:
    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": {
    "validation_errors": [
    {
    "loc": [
    "example"
    ],
    "msg": "example",
    "type": "example"
    }
    ]
    },
    "reason": "example",
    "request_id": "example"
    }