RUI Inspector

RapidUI v0.2

specId:
c9991017-cb5a-42fc-ab15-f96e2e0e5fb7
createdAt:
2026-07-19T19:06:29.736Z
contentHash:
sha256:cecae9d6…
validation:
0.2
·
registry:
0.2

API: https://rapidui.dev/api/specs/c9991017-cb5a-42fc-ab15-f96e2e0e5fb7

Draft Review

Operations-first RUI (v0.2). Full operations inspector ships in Phase 5 — showing summary counts below.

Entities
1
Operations
2
Transitions
1
  • browse·Inbox
  • read·Review draft
Raw JSON
{
  "app": {
    "title": "Draft Review"
  },
  "version": "0.2",
  "entities": [
    {
      "id": "ent-drafts",
      "label": "Inbox",
      "entrypoints": [
        "op-inbox"
      ],
      "operationIds": [
        "op-inbox",
        "op-read-draft"
      ]
    }
  ],
  "operations": [
    {
      "id": "op-inbox",
      "data": {
        "mode": "api",
        "read": {
          "path": "/api/drafts",
          "method": "GET",
          "valuePath": "items"
        }
      },
      "type": "browse",
      "route": "/inbox",
      "title": "Inbox",
      "entityId": "ent-drafts",
      "presentation": {
        "filter": {
          "field": "status",
          "label": "Status",
          "options": [
            {
              "label": "Pending",
              "value": "pending"
            },
            {
              "label": "Approved",
              "value": "approved"
            },
            {
              "label": "Rejected",
              "value": "rejected"
            }
          ]
        },
        "layout": "table",
        "columns": [
          {
            "key": "id",
            "label": "ID",
            "format": "string"
          },
          {
            "key": "preview",
            "label": "Preview",
            "format": "string"
          },
          {
            "key": "ticketId",
            "label": "Ticket",
            "format": "string"
          },
          {
            "key": "model",
            "label": "Model",
            "format": "string"
          },
          {
            "key": "confidence",
            "label": "Confidence",
            "format": "number"
          },
          {
            "key": "status",
            "label": "Status",
            "format": "badge"
          }
        ]
      }
    },
    {
      "id": "op-read-draft",
      "data": {
        "mode": "api",
        "read": {
          "path": "/api/drafts/{draftId}",
          "method": "GET"
        }
      },
      "type": "read",
      "route": "/inbox/{draftId}",
      "title": "Review draft",
      "params": [
        "draftId"
      ],
      "context": {
        "breadcrumb": {
          "label": "Inbox",
          "operation": "op-inbox"
        }
      },
      "entityId": "ent-drafts",
      "presentation": {
        "layout": "detail",
        "actions": [
          {
            "id": "op-approve",
            "type": "act",
            "label": "Approve",
            "invoke": {
              "path": "/api/drafts/{draftId}/approve",
              "method": "POST"
            },
            "variant": "primary",
            "outcomes": {
              "error": {
                "stay": true
              },
              "success": {
                "navigate": "op-inbox"
              }
            }
          },
          {
            "id": "op-reject",
            "type": "act",
            "label": "Reject",
            "invoke": {
              "path": "/api/drafts/{draftId}/reject",
              "method": "POST"
            },
            "variant": "danger",
            "outcomes": {
              "error": {
                "stay": true
              },
              "success": {
                "navigate": "op-inbox"
              }
            }
          }
        ],
        "sections": [
          {
            "title": "Summary",
            "fields": [
              {
                "key": "ticketId",
                "label": "Source ticket",
                "format": "string"
              },
              {
                "key": "model",
                "label": "Model",
                "format": "string"
              },
              {
                "key": "confidence",
                "label": "Confidence",
                "format": "number"
              },
              {
                "key": "status",
                "label": "Status",
                "format": "string"
              }
            ]
          },
          {
            "title": "Draft reply",
            "fields": [
              {
                "key": "body",
                "label": "Reply",
                "format": "text"
              }
            ]
          },
          {
            "title": "Context",
            "fields": [
              {
                "key": "ticketSubject",
                "label": "Ticket subject",
                "format": "string"
              },
              {
                "key": "customerMessage",
                "label": "Customer message",
                "format": "text"
              }
            ]
          }
        ]
      }
    }
  ],
  "transitions": [
    {
      "to": "op-read-draft",
      "map": {
        "draftId": "id"
      },
      "from": "op-inbox",
      "trigger": "row"
    }
  ]
}