Properties
| Name | Type | Description |
|---|---|---|
| schema | string | |
| handle | string | |
| name | string | The member's public first name, or the handle. |
| profile_url | string | |
| card_url | string | |
| member_of | string | |
| capabilities | object | book / message / call / files / pay. Each has `available`; an unavailable one carries `why` and may carry `alternative`. |
| signature | null | Null until signed cards ship. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/immersivecommons-com/json-schema/immersivecommons-com-member-card-schema.json",
"title": "MemberCard",
"x-generated": "2026-11-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/immersivecommons-com-openapi.json#/components/schemas/MemberCard",
"type": "object",
"required": [
"schema",
"handle",
"name",
"profile_url",
"member_of",
"capabilities",
"signature"
],
"properties": {
"schema": {
"type": "string",
"const": "ic-member-card/1"
},
"handle": {
"type": "string"
},
"name": {
"type": "string",
"description": "The member's public first name, or the handle."
},
"profile_url": {
"type": "string"
},
"card_url": {
"type": "string"
},
"member_of": {
"type": "string",
"const": "did:web:immersivecommons.com"
},
"capabilities": {
"type": "object",
"description": "book / message / call / files / pay. Each has `available`; an unavailable one carries `why` and may carry `alternative`.",
"properties": {
"book": {
"type": "object",
"properties": {
"available": {
"type": [
"boolean",
"null"
],
"description": "null = the booking service did not answer."
},
"endpoint": {
"type": "string"
},
"page": {
"type": "string"
},
"auth": {
"type": "string"
}
}
},
"call": {
"type": "object",
"description": "available with auth `ic-member`: IC members ring this member directly (POST /api/calls/rooms {kind:\"dm\", with}, from /members or IC Pocket). `book`, when present, is a public `ic_call` meeting type anyone can book; with only that, auth is `none`. Unavailable: `why`, maybe `alternative`.",
"properties": {
"available": {
"type": "boolean"
},
"auth": {
"type": "string",
"enum": [
"ic-member",
"none"
]
},
"page": {
"type": "string"
},
"endpoint": {
"type": "string"
},
"note": {
"type": "string"
},
"why": {
"type": "string"
},
"alternative": {
"type": "string"
},
"book": {
"type": "object",
"properties": {
"meeting_type": {
"type": "string"
},
"endpoint": {
"type": "string"
},
"page": {
"type": "string"
},
"auth": {
"type": "string"
}
}
}
}
},
"pay": {
"type": "object",
"properties": {
"available": {
"type": "boolean"
},
"accounts": {
"type": "array",
"items": {
"type": "string",
"description": "CAIP-10 account."
}
},
"assets": {
"type": "array",
"items": {
"type": "string"
}
},
"network": {
"type": "string",
"enum": [
"testnet",
"mainnet"
]
},
"note": {
"type": [
"string",
"null"
]
},
"offerings": {
"type": "array",
"items": {
"$ref": "#/$defs/OfferingPublic"
},
"description": "Offerings v2: what the member listed for sale, each with its x402 link. Present even when the wallet is private (available:false, alternative:\"offerings\")."
},
"x402": {
"type": "null"
},
"why": {
"type": "string"
}
}
}
},
"additionalProperties": true
},
"signature": {
"type": "null",
"description": "Null until signed cards ship."
}
},
"$defs": {
"OfferingPrice": {
"type": "object",
"required": [
"mode",
"amount_usdc"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"fixed",
"pay_what_you_want",
"per_unit"
]
},
"amount_usdc": {
"type": "string",
"description": "Exact decimal USDC: the price, the pay-what-you-want minimum, or the unit price."
},
"unit": {
"type": "string",
"enum": [
"call",
"minute",
"item",
"message"
]
}
}
},
"OfferingPublic": {
"type": "object",
"required": [
"id",
"slug",
"title",
"price",
"networks",
"fulfillment_kind",
"x402_url"
],
"properties": {
"id": {
"type": "string",
"description": "ofr_..."
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"price": {
"$ref": "#/$defs/OfferingPrice"
},
"networks": {
"type": "array",
"items": {
"type": "string",
"enum": [
"base",
"solana"
]
}
},
"fulfillment_kind": {
"type": "string",
"enum": [
"file",
"booking",
"message",
"webhook",
"manual"
]
},
"audience": {
"type": "string",
"enum": [
"public",
"members"
]
},
"input_schema": {
"type": "object",
"additionalProperties": true,
"description": "Webhook offerings: what the member's endpoint expects as `input`."
},
"x402_url": {
"type": "string",
"description": "GET/POST it to buy."
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/immersivecommons-com-member-card"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.