VVibeFlui

Response Contract

VibeFlui reads rows, totals, messages, and feedback status from runtime responses.

Table rows

Tables read rows from:

  1. data prop.
  2. response prop or provider response.
  3. table.dataPath when rows are nested.
JSON
{
  "data": [
    { "id": 1, "name": "Ada Lovelace", "status": "active" }
  ],
  "meta": {
    "total": 1
  }
}
TS
table: {
  dataPath: "data",
  totalPath: "meta.total"
}

Feedback status

Runtime feedback status can be resolved from status or code.

Response valueFeedback status
status: truesuccess
status: false with 4xx codewarning
status: false without 4xx codeerror
status: "accepted", "ok", "success"success
status: "rejected" or "warning"warning
status: "failed" or "error"error
code 200-299success
code 400-499warning
code 500+error

Message extraction

Feedback messages can use backend messages when present. Endpoint errors also use data.message or data.error.message when available.

JSON
{
  "status": false,
  "code": 409,
  "message": "Email is already registered."
}

Endpoint errors

The built-in endpoint provider throws FluiKitEndpointError when response.ok is false. The error includes the endpoint response.

JSON
{
  "status": true,
  "code": 200,
  "message": "Users loaded.",
  "data": [
    { "id": 1, "name": "Ada Lovelace", "email": "ada@example.test" }
  ],
  "meta": {
    "page": 1,
    "pageSize": 10,
    "total": 1
  }
}
JSON
{
  "status": true,
  "code": 200,
  "message": "User saved.",
  "data": {
    "id": 1,
    "name": "Ada Lovelace"
  }
}

Common mistakes

  • data does not need to be the row array. Use table.dataPath for nested responses.
  • Return status, code, or message when the UI should show clear failure feedback.
  • VibeFlui maps readable 4xx-style failures to warning feedback when it can read the code.