UmweltDocs
Reference/Queries/proposal.list
proposal.listquerysince 0.1

Every proposal of a project, whatever its status.

Request
umwelt call story.umw proposal.list '{
  "projectId": "ball"
}'
Request
const result = await client.proposalList({ projectId: 'ball' });
Request
var result = engine.ProposalList(new ProjectId { ProjectIdValue = "ball" });
Response
[
  {
    "id": "01a1cbd8-63fc-7ec1-aac1-c0b733797443",
    "status": "applied",
    "input": {
      "projectId": "ball",
      "event": {
        "id": "confession",
        "title": "The confession",
        "position": { "tick": 10 },
        "evidence": [],
        "participants": ["bob", "duchess"],
        "provenance": { "origin": { "kind": "human" } },
        "type": "scene"
      },
      "records": [
        {
          "kind": "holding",
          "id": "duchess-knows",
          "holder": "duchess",
          "claim": {
            "subject": "bob",
            "predicate": "stole",
            "object": { "kind": "entity", "id": "necklace" },
            "polarity": true,
            "qualifiers": {}
          },
          "attitude": "knows",
          "confidence": 1.0,
          "accessibility": "available",
          "acquisition": {
            "kind": "told-by",
            "intent": "honest",
            "sourceHolderId": "bob",
            "sourceRecordId": "bob-did"
          },
          "position": { "tick": 10 },
          "provenance": { "origin": { "kind": "human" } }
        }
      ],
      "transitions": [
        {
          "status": "superseded",
          "position": { "tick": 10 },
          "provenance": { "origin": { "kind": "human" } },
          "supersededBy": "duchess-knows",
          "targetRecordId": "duchess-told"
        }
      ]
    },
    "reviews": [
      {
        "id": "01a1cbd8-6401-7913-bf8f-3f6dfd9c4b8b",
        "createdAt": "2026-11-11T18:21:58.6570787Z",
        "decision": "accepted",
        "operationIndex": 0,
        "rationale": "Bob confesses on the page."
      },
      {
        "id": "01a1cbd8-6401-7913-bf8f-3f77754a1c82",
        "createdAt": "2026-11-11T18:21:58.6570954Z",
        "decision": "accepted",
        "operationIndex": 1,
        "rationale": "Her belief gives way to what he told her."
      }
    ]
  },
  {
    "id": "01a1cbd8-6407-7ab1-9974-a02b78022dc5",
    "status": "rejected",
    "input": {
      "projectId": "ball",
      "event": {
        "id": "rumour",
        "title": "A rumour",
        "position": { "tick": 10 },
        "evidence": [],
        "participants": ["maid"],
        "provenance": { "origin": { "kind": "human" } },
        "type": "scene"
      },
      "records": [
        {
          "kind": "fact",
          "id": "maid-stole",
          "claim": {
            "subject": "maid",
            "predicate": "stole",
            "object": { "kind": "entity", "id": "necklace" },
            "polarity": true,
            "qualifiers": {}
          },
          "position": { "tick": 10 },
          "provenance": { "origin": { "kind": "human" } }
        }
      ],
      "transitions": []
    },
    "rejectionRationale": "The maid never touched it.",
    "reviews": []
  }
]

Payload

FieldTypeDescription
projectIdrequiredstringThe project to read.

Result

A list of Proposal, each with:

FieldTypeDescription
idalwaysstringThe proposal’s id.
inputalwaysProposeInputThe commit it holds: the event, records and transitions, as proposed.
statusalways"pending" | "applied" | "partially-applied" | "rejected"pending until it is applied (applied, or partially-applied when some operations were rejected) or rejected.
reviewsProposalReview[]Every review so far, oldest first. The latest one for an operation decides it.
rejectionRationalestringWhy it was rejected, when it was.

Errors

VALIDATION_FAILEDThe payload is malformed.
NOT_FOUNDThe project does not exist.
HANDSHAKE_REQUIREDOver the protocol, hello was not sent first.

Every code is listed in Errors.

See also

Was this page helpful?