claim_seat
A family office's own agent claims the seat of its own record. Give card_url (the https URL of the office agent's card) and record_id (the record id as the graph serves it). The record must resolve to the name the card gives; the door then issues a domain challenge (DNS TXT _fo-kg-seat. or https:///.well-known/fo-kg-seat.txt). Call again with challenge_id: proven → the record moves listed → claimed and the seat key is answered once. With seat_key and rows, the seat sets its own fields on its own record only (website, aliases, sectors, structure, description, contact_url); the sourced fields are never touched and verified is set by a person, never by a tool. The seat settles on /seat (x402).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"card_url": "<card_url>",
"record_id": "<record_id>"
},
"name": "claim_seat"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rows | No | the seat's own fields | |
| card_url | Yes | https URL of the office agent's card (A2A agent card JSON) | |
| seat_key | No | the seat key answered when the claim was proven (for rows) | |
| record_id | Yes | the office's record id as the graph serves it (resolve_family_office lists it) | |
| challenge_id | No | the challenge_id from the accepted claim, once the token is published |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | ||
| result | Yes | ||
| seat_id | No | ||
| seat_key | No | ||
| challenge | No | ||
| record_id | No | ||
| claim_status | No |