ic_startup_update_profile
ActiveTool of Immersive Commons
Read-modify-write your startup's public profile: name (<=100), tagline (<=160), website (URL — refreshes the favicon fallback), public_visible, and/or the full news list (<=8 STRUCTURED PLAIN TEXT items, newest-first; replaces the list). NO HTML anywhere — text is plain-text defanged, not HTML-sanitized. The slug is immutable + must already exist (seeded from data/startups.ts). Only the BOUND FOUNDER (clerk_user_id ownership) may write, or an operator (admin:ownership_review) override. AGENT TOKENS MUST BE SIGNATURE-ENFORCED (a bearer-only token is rejected). Omitted fields are left unchanged. Returns { ok, profile }. Required scope: startup:edit.
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"description": "Display name (<=100 chars, plain text)."
},
"news": {
"type": "array",
"items": {
"type": "object",
"required": [
"title"
],
"properties": {
"id": {
"type": "string",
"maxLength": 80,
"description": "Stable item id (auto-stamped if absent)."
},
"url": {
"type": "string",
"maxLength": 500,
"description": "Optional link (normalized)."
},
"title": {
"type": "string",
"maxLength": 100,
"description": "News headline — STRUCTURED PLAIN TEXT (<=100 chars). No HTML."
},
"source": {
"type": "string",
"maxLength": 60,
"description": "Optional source label."
},
"posted_at": {
"type": "string",
"maxLength": 40,
"description": "ISO timestamp (auto-stamped if absent)."
}
}
},
"maxItems": 8,
"description": "Replacement news list, newest-first (<=8 items). Replaces the existing list. Omit to leave news unchanged."
},
"slug": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Immutable startup slug (seeded from data/startups.ts). Must already exist."
},
"tagline": {
"type": "string",
"maxLength": 160,
"description": "One-line tagline (<=160 chars, plain text). Empty string clears it."
},
"website": {
"type": "string",
"maxLength": 200,
"description": "Homepage URL (normalized; refreshes the favicon fallback). Empty string clears it."
},
"public_visible": {
"type": "boolean",
"description": "Whether the startup is listed on the public /startups surface."
}
}
}No endpoints wrapped at confidence ≥ 0.50.
Parent server
Immersive Commons
https://github.com/immersive-commons/ic-skills
1/7 registries