Dubala, by Budala: MCP documentation

Dubala lets a member's assistant find collaborators, publish opportunities, apply, agree terms and track commitments on Budala. It records compensation terms but never moves money.

Setup

Approvals and side effects

Read tools change nothing. Write tools change only the member's private drafts. Sensitive writes share information with other members, create or change commitments, delegate authority or cancel; the assistant must obtain the member's approval for the exact arguments first. Every write takes an idempotencyKey; replaying the same key with the same arguments returns the original result and never duplicates. Changing terms creates a new agreement revision, and earlier acceptances do not carry over.

Limits

Errors

Tool failures return isError: true with a JSON body {code, message}.

CodeMeaningWhat the assistant should do
UNAUTHORIZEDThe token is missing, expired or revoked.Reconnect the account.
FORBIDDENThe token lacks the scope, or the member lacks the authority, for this action.Ask the member to grant "look and act", or stop.
NOT_FOUNDThe record does not exist or is not visible to this member. Private drafts look the same as missing records.Do not retry.
STALE_REVISIONexpectedRevision is not the current revision.Read the record again, show the member what changed, and ask before retrying.
STALE_AUTHORITYProducer authority changed since the action was prepared.Read the record again before retrying.
INVALID_STATEThe record is not in a state that allows this action, for example accepting a cancelled agreement.Read the record and report its state.
CAPACITY_FULLAll slots for the Need are committed.Do not retry unless a slot reopens.
CONFLICTA concurrent change won.Read again, then retry with a new idempotencyKey if the member still wants it.
INSUFFICIENT_BPThe member does not have enough available BP for this action.Tell the member the shortfall the message states. Do not retry.
REALM_MISMATCHA review (test) account and a real account cannot transact with each other.Do not retry.
EXPIREDThe order request passed its 7-day answer window and cannot be accepted.Do not retry. The hourly expiry job refunds the buyer.
PRICE_CHANGEDThe order total no longer matches the offer price.Show the member the new price and ask again.
SOLD_OUTNot enough units of a good are left.Tell the member. Do not retry.
IDEMPOTENCY_CONFLICTThe idempotencyKey was already used with different arguments.Use a new key for a new action.
INVALID_INPUTArguments do not match the tool schema.Fix the arguments.
INTERNAL_ERRORThe outcome is uncertain.Check status with a read tool, then retry with the same idempotencyKey. Replays never duplicate.

Tools

create_project Write (private draft) · collaboration:write

Write: save a private draft project. Venue remains proposed. No notification or booking.

Returns: The draft project: id, title, description, venue, venueStatus PROPOSED, dateWindow, status DRAFT, revision.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    },
    "venue": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "dateWindow": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "title",
    "description",
    "venue",
    "dateWindow",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

add_need Write (private draft) · collaboration:write

Write: add a role or administrative Need to a private draft project.

Returns: The new Need: id, projectId, title, description, discipline, slots, status. Increments the project revision.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    },
    "discipline": {
      "type": "string",
      "enum": [
        "MUSIC",
        "THEATER",
        "MUSICAL",
        "TECHNICAL",
        "ADMIN",
        "COMMUNITY"
      ]
    },
    "slots": {
      "default": 1,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "projectId",
    "title",
    "description",
    "discipline",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

add_published_need Sensitive write · collaboration:write

Sensitive write: add a role to an already published project. It is public immediately. Obtain approval for the exact role first.

Returns: The new Need with status OPEN. Increments the project revision.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    },
    "discipline": {
      "type": "string",
      "enum": [
        "MUSIC",
        "THEATER",
        "MUSICAL",
        "TECHNICAL",
        "ADMIN",
        "COMMUNITY"
      ]
    },
    "slots": {
      "default": 1,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "title",
    "description",
    "discipline",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

close_need Sensitive write · collaboration:write

Sensitive write: close a role so nobody new can apply. Existing applications and agreements continue. Applicants with open applications are told.

Returns: The Need with status CLOSED. Increments the project revision.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "needId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "needId",
    "expectedRevision",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

publish_project Sensitive write · collaboration:write

Sensitive write: publish the exact current draft and its Needs to Budala members. Obtain approval before sharing.

Returns: The project with status PUBLISHED and its new revision.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

list_my_projects Read · collaboration:read

Read: the projects you own or co-produce, drafts included, with counts of open roles and open applications.

Returns: A page: items (project fields plus role owner or co-producer, openNeeds, totalNeeds, openApplications), hasMore, nextCursor.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "after": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "additionalProperties": false
}

get_my_profile Read · collaboration:read

Read: your own profile (name, headline, bio, fields, location, availability, links, social handles, language), your sign-in email, and the profile meter: BP earned for sharing and what each missing detail would earn.

Returns: id, email, displayName, headline, bio, disciplines, location, availability, links, socialHandles, language, and meter (earnedBp, possibleBp, percent, next: the details not yet rewarded and the BP each earns).

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

get_member_profile Read · collaboration:read

Read: the profile of a member you work with: someone who applied to your project, a producer of a project you applied to, or the owner of a project you co-produce. Never includes their email. Other members return NOT_FOUND.

Returns: id, displayName, headline, bio, disciplines, location, availability, links, socialHandles. No email.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "memberId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "required": [
    "memberId"
  ],
  "additionalProperties": false
}

update_my_profile Write (private draft) · collaboration:write

Write: change your own profile. Send only the fields to change. People you work with see the profile; it is not public. Each detail shared for the first time earns BP once (the result reports bpEarned). Ask the member before changing their name or bio.

Returns: Your updated profile, plus bpEarned: the BP paid for details shared for the first time in this change.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "displayName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "headline": {
      "type": "string",
      "maxLength": 120
    },
    "bio": {
      "type": "string",
      "maxLength": 2000
    },
    "disciplines": {
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "MUSIC",
          "THEATER",
          "MUSICAL",
          "TECHNICAL",
          "ADMIN",
          "COMMUNITY"
        ]
      }
    },
    "location": {
      "type": "string",
      "maxLength": 120
    },
    "availability": {
      "type": "string",
      "maxLength": 500
    },
    "links": {
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 300,
        "format": "uri"
      }
    },
    "socialHandles": {
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "platform": {
            "type": "string",
            "enum": [
              "X",
              "INSTAGRAM",
              "TIKTOK",
              "YOUTUBE",
              "LINKEDIN",
              "FACEBOOK",
              "THREADS",
              "BLUESKY",
              "OTHER"
            ]
          },
          "handle": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "pattern": "^@?[A-Za-z0-9_.\\-]+$"
          }
        },
        "required": [
          "platform",
          "handle"
        ],
        "additionalProperties": false
      }
    },
    "language": {
      "type": "string",
      "enum": [
        "en",
        "tr"
      ]
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "idempotencyKey"
  ],
  "additionalProperties": false
}

get_my_wallet Read · collaboration:read

Read: your BP balance (available, and held in escrow) and your recent BP history. BP is Budala points, earned and spent inside Budala; it is not money and cannot be cashed out.

Returns: available and held BP, and events (type, amount, reason, createdAt), newest first.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

list_needs Read · collaboration:read

Read: search published open Needs. Proposed venue and date details are included.

Returns: A page: items (published open Needs with project summary), hasMore, nextCursor. Up to 100 per page.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 100
    },
    "discipline": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30
    },
    "after": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "additionalProperties": false
}

get_project Read · collaboration:read

Read: retrieve an accessible project and its Needs. A proposed venue is not a booking.

Returns: The project record (id, ownerId, title, description, venue, venueStatus, dateWindow, status, revision) with its Needs, plus collaborators when the caller is a producer.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "required": [
    "projectId"
  ],
  "additionalProperties": false
}

set_project_collaborator Sensitive write · collaboration:write

Sensitive write: grant or revoke production management authority for this project. Only the project owner can delegate. Obtain approval for the named member and scope.

Returns: The collaborator record with active state and the project revision.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "memberId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "active": {
      "type": "boolean"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "projectId",
    "memberId",
    "active",
    "expectedRevision",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

apply_to_need Sensitive write · collaboration:write

Sensitive write: share an application pitch with the project producer. This does not commit to work.

Returns: The application: id, needId, status APPLIED.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "needId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "pitch": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "needId",
    "pitch",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

list_applications Read · collaboration:read

Read: retrieve your applications, or applications to a project you own, with agreement IDs.

Returns: A page: items (applications with agreement IDs and the applicant's id and display name), hasMore, nextCursor.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "after": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "additionalProperties": false
}

propose_agreement Sensitive write · collaboration:write

Sensitive write: send a versioned proposal with scope, schedule, compensation and cancellation terms, and optionally bpAmount: BP the project owner pays the applicant through escrow. Proposing counts as the producer side accepting these exact terms; the agreement becomes a commitment when the applicant accepts. With bpAmount, the owner must also approve the BP (automatic when the owner proposes), and the BP is held from the owner's wallet at commitment. Obtain approval for the exact terms and amount.

Returns: The agreement version: id, revision, scope, schedule, compensation, cancellation, status PROPOSED, acceptance flags.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "applicationId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "scope": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    },
    "schedule": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    },
    "compensation": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    },
    "cancellation": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    },
    "bpAmount": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "applicationId",
    "expectedRevision",
    "scope",
    "schedule",
    "compensation",
    "cancellation",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

approve_funding Sensitive write · collaboration:write

Sensitive write, moves BP: as the project owner, approve the bpAmount of a proposal a co-producer made. If the applicant has already accepted, this commits the agreement and holds the BP from your wallet at once. Obtain approval for the exact amount.

Returns: The agreement with fundingApprovedAt set; status AGREED if the applicant had already accepted.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "agreementId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "agreementId",
    "expectedRevision",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

open_dispute Sensitive write · collaboration:write

Sensitive write: flag a BP-funded commitment as disputed. The BP stays held until a Budala operator settles it; no automatic payout happens while it is disputed. Give the reason in your own words.

Returns: The agreement with status DISPUTED.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "agreementId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "reason": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "agreementId",
    "expectedRevision",
    "reason",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

get_agreement Read · collaboration:read

Read: retrieve the exact terms and acceptance status of an agreement to which you are a party.

Returns: The agreement: current revision, terms, bpAmount, status (PROPOSED, AGREED, FULFILLMENT_DECLARED, DISPUTED, COMPLETED, RESOLVED, CANCELLED, SUPERSEDED), each party's acceptance, fundingApprovedAt, releaseAt, and cancellation requests.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "agreementId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "required": [
    "agreementId"
  ],
  "additionalProperties": false
}

accept_agreement Sensitive write · collaboration:write

Sensitive write, may move BP: accept the specified version and terms. Mutual acceptance commits both parties. If the terms carry bpAmount and the owner has approved it, commitment holds that BP from the owner's wallet in escrow; it fails with INSUFFICIENT_BP if the owner lacks it. Obtain approval for the exact terms and amount.

Returns: The agreement. Status stays PROPOSED until both parties accept the same revision, then AGREED.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "agreementId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "agreementId",
    "expectedRevision",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

decline_application Sensitive write · collaboration:write

Sensitive write: decline an application to your project and notify the applicant. Committed work must be cancelled separately.

Returns: The application with status DECLINED.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "applicationId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "applicationId",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

withdraw_application Sensitive write · collaboration:write

Sensitive write: withdraw your uncommitted application and notify the producer.

Returns: The application with status WITHDRAWN.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "applicationId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "applicationId",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

cancel_agreement Sensitive write · collaboration:write

Sensitive write: record cancellation and notify the other party. For a BP-funded commitment, both sides must ask to cancel; the first call records a request, the second cancels and returns the held BP to the owner. Funded work already declared finished cannot be cancelled; open a dispute instead.

Returns: The agreement with status CANCELLED.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "agreementId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "agreementId",
    "expectedRevision",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

complete_agreement Sensitive write · collaboration:write

Sensitive write, may move BP: acknowledge completion of agreed work. Both parties must acknowledge before status is completed. For a BP-funded agreement, the applicant's acknowledgment declares the work finished and starts a 14-day window; the producer's acknowledgment, or the end of that window without a dispute, pays the held BP to the applicant.

Returns: The agreement. Status becomes COMPLETED only after both parties acknowledge.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "agreementId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "agreementId",
    "expectedRevision",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

cancel_project Sensitive write · collaboration:write

Sensitive write: cancel your project, close its Needs and cancel outstanding applications and commitments. BP-funded commitments are not cancelled silently: they move to dispute for a Budala operator, because the other side may already have worked.

Returns: The project with status CANCELLED; its Needs close and open applications and commitments are cancelled.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

create_offer Write (private draft) · collaboration:write

Write: save a private draft offer of a service or a good, priced in BP. A good needs a quantity; a service has none. Nobody sees it until it is published.

Returns: The draft offer: id, kind, title, description, category, priceBp, quantity, location, fulfillment, fulfillWithinDays, status DRAFT, revision.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "SERVICE",
        "GOOD"
      ]
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    },
    "category": {
      "type": "string",
      "minLength": 1,
      "maxLength": 60
    },
    "priceBp": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "quantity": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000
    },
    "location": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "fulfillment": {
      "type": "string",
      "enum": [
        "PICKUP",
        "SHIP",
        "REMOTE",
        "IN_PERSON"
      ]
    },
    "fulfillWithinDays": {
      "type": "integer",
      "minimum": 1,
      "maximum": 180
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "kind",
    "title",
    "description",
    "category",
    "priceBp",
    "location",
    "fulfillment",
    "fulfillWithinDays",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

update_offer Write (private draft) · collaboration:write

Write: change your offer. Send only the fields to change. Any change to its terms bumps its revision, so a buyer who approved the old terms must approve again. Open orders keep the terms they were placed on.

Returns: The offer with its changes; revision increments when terms changed.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "offerId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    },
    "category": {
      "type": "string",
      "minLength": 1,
      "maxLength": 60
    },
    "priceBp": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "quantity": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000
    },
    "location": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "fulfillment": {
      "type": "string",
      "enum": [
        "PICKUP",
        "SHIP",
        "REMOTE",
        "IN_PERSON"
      ]
    },
    "fulfillWithinDays": {
      "type": "integer",
      "minimum": 1,
      "maximum": 180
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "offerId",
    "expectedRevision",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

publish_offer Sensitive write · collaboration:write

Sensitive write: make your offer visible to Budala members so they can buy it with BP. Obtain approval first.

Returns: The offer with status PUBLISHED and a new revision.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "offerId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "offerId",
    "expectedRevision",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

pause_offer Write (private draft) · collaboration:write

Write: stop new orders on your offer for now. Open orders continue.

Returns: The offer with status PAUSED and a new revision.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "offerId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "offerId",
    "expectedRevision",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

close_offer Sensitive write · collaboration:write

Sensitive write: close your offer for good. Open orders continue.

Returns: The offer with status CLOSED and a new revision.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "offerId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "offerId",
    "expectedRevision",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

get_offer Read · collaboration:read

Read: a published offer, or one of your own: terms, BP price, quantity left, revision.

Returns: The offer, as create_offer returns it.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "offerId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "required": [
    "offerId"
  ],
  "additionalProperties": false
}

list_my_offers Read · collaboration:read

Read: your own offers, drafts included.

Returns: A page: items (your offers), hasMore, nextCursor.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "after": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "additionalProperties": false
}

search_offers Read · collaboration:read

Read: search published offers by words, kind (SERVICE or GOOD), category, location and maximum BP price.

Returns: A page: items (published offers with stock), hasMore, nextCursor.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 100
    },
    "kind": {
      "type": "string",
      "enum": [
        "SERVICE",
        "GOOD"
      ]
    },
    "category": {
      "type": "string",
      "maxLength": 60
    },
    "location": {
      "type": "string",
      "maxLength": 120
    },
    "maxPriceBp": {
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "after": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "additionalProperties": false
}

request_order Sensitive write · collaboration:write

Sensitive write, moves BP: order an offer. Holds the total BP from your wallet in escrow at once; the seller is paid only when you confirm receipt, or 14 days after they mark it fulfilled. Name the offer revision and total the member approved; a changed price is refused. Shipping offers need an address, which the seller sees only after accepting. Obtain approval for the exact offer, quantity and total.

Returns: The order: id, offerId, offerRevision, buyerId, sellerId, the snapshot of the approved terms (kind, title, description, category, location, unitPriceBp, fulfillment, fulfillWithinDays), quantity, priceBp, note, status REQUESTED, requestExpiresAt. Never the address.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "offerId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expectedOfferRevision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "quantity": {
      "default": 1,
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "expectedTotalBp": {
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "note": {
      "default": "",
      "type": "string",
      "maxLength": 2000
    },
    "shippingAddress": {
      "type": "string",
      "minLength": 10,
      "maxLength": 500
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "offerId",
    "expectedOfferRevision",
    "expectedTotalBp",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

accept_order Sensitive write · collaboration:write

Sensitive write: as the seller, accept a requested order. You must then fulfill it within the number of days the offer states.

Returns: The order with status ACCEPTED and fulfillBy.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "orderId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "orderId",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

decline_order Sensitive write · collaboration:write

Sensitive write, moves BP: as the seller, decline a requested order. The BP goes back to the buyer.

Returns: The order with status DECLINED.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "orderId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "orderId",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

cancel_order Sensitive write · collaboration:write

Sensitive write, may move BP: cancel an order. The buyer can cancel a request; after acceptance, a buyer cancellation is only a request until the seller misses the delivery deadline. The seller can cancel before fulfillment. A cancellation returns the BP to the buyer.

Returns: The order with status CANCELLED, or with buyerCancelRequestedAt set when it is only a request.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "orderId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "orderId",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

mark_fulfilled Sensitive write · collaboration:write

Sensitive write: as the seller, record that you delivered or shipped. Starts a 14-day window, after which the BP is paid to you unless the buyer disputes.

Returns: The order with status FULFILLED and releaseAt.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "orderId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "orderId",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

confirm_received Sensitive write · collaboration:write

Sensitive write, moves BP: as the buyer, confirm you received the order. Pays the held BP to the seller at once.

Returns: The order with status COMPLETED.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "orderId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "orderId",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

dispute_order Sensitive write · collaboration:write

Sensitive write: flag an accepted or fulfilled order as disputed. The BP stays held until a Budala operator settles it.

Returns: The order with status DISPUTED.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "orderId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "reason": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    }
  },
  "required": [
    "orderId",
    "reason",
    "idempotencyKey"
  ],
  "additionalProperties": false
}

get_order Read · collaboration:read

Read: an order you bought or sold: terms, status, deadlines. The shipping address shows to the buyer, and to the seller once they accepted.

Returns: The order plus viewerRole, addressOnFile and shippingAddress (null when not visible to you).

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "orderId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "required": [
    "orderId"
  ],
  "additionalProperties": false
}

list_my_orders Read · collaboration:read

Read: orders you bought or sold, optionally filtered by role.

Returns: A page: items (orders), hasMore, nextCursor.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "role": {
      "type": "string",
      "enum": [
        "buyer",
        "seller"
      ]
    },
    "after": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "additionalProperties": false
}

get_inbox Read · collaboration:read

Read: poll your private collaboration events after a stable cursor. This tool does not schedule checks or wake Muse.

Returns: events (id as a string cursor, recipientId, kind, entityId, createdAt) after the cursor, and nextCursor to pass as after next time.

Input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "after": {
      "default": "0",
      "type": "string",
      "pattern": "^\\d{1,19}$"
    },
    "limit": {
      "default": 50,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "additionalProperties": false
}

Machine-readable version: /docs/mcp.json.