register ucp profile
register_ucp_profileRegister a public hosted UCP agent profile and receive agent_id/profile_url. Default path: send agent_name plus public_key_jwk and the gateway builds the canonical UCP profile with default Shopping capabilities. Re-registering the same public_key_jwk in the same namespace is idempotent and returns the existing agent_id. Do not build a capability map for normal registration. Create local ./.ucpgateway/ files; keep private_key.jwk local and save returned agent_id/profile_url/profile_json to ./.ucpgateway/agent.json.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| metadata | No | Optional public metadata for the generated profile, such as homepage or runtime. Do not include secrets, tokens, passwords, payment data, private keys, or buyer PII; server-owned fields are overwritten. | |
| namespace | No | Public profile namespace for hosted UCP profiles. Usually 'openclaw'; use lowercase letters, numbers, underscores, or hyphens. | |
| agent_name | Yes | Human-readable public agent name, max 120 characters. | |
| skill_name | No | Optional public skill/package name, e.g. 'ucp-gateway-skill'. | |
| description | No | Optional public agent description, max 500 characters. | |
| profile_json | No | Advanced/legacy only. Public UCP profile JSON for callers that already know the full UCP profile format. Normal SKILL.md-only agents should omit profile_json and send public_key_jwk instead; the gateway builds default Shopping capabilities. If supplied, profile_json must contain ucp.version, ucp.capabilities using exact supported keys (dev.ucp.shopping.catalog.search, dev.ucp.shopping.catalog.lookup, dev.ucp.shopping.catalog, dev.ucp.shopping.cart, dev.ucp.shopping.checkout), ucp.payment_handlers, and only public signing_keys. 'shopping' and 'dev.ucp.shopping' are invalid shorthand. Never include private JWK fields d, p, q, dp, dq, qi, or k. | |
| skill_version | No | Optional public skill/package version, e.g. '0.2.0'. | |
| public_key_jwk | No | Default registration public key. Send an EC P-256 public JWK object (kty='EC', crv='P-256', x, y, optional kid/alg/use). Never include private JWK fields d, p, q, dp, dq, qi, or k; keep private_key.jwk local. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | True for successful tool execution; false for structured tool errors. | |
| error | No | Structured tool error. | |
| created | No | True when a new profile row was created; false when an existing active profile was reused for this namespace and public key fingerprint. | |
| message | Yes | Human-readable result summary or recovery message. | |
| profile | No | Hosted public UCP profile JSON. Contains only public key material; private keys must stay local. | |
| agent_id | No | Registered UCP Gateway UUID. Save it to ./.ucpgateway/agent.json and include it in every Shopping tool call. | |
| namespace | No | Public profile namespace for hosted UCP profiles. Usually 'openclaw'; use lowercase letters, numbers, underscores, or hyphens. | |
| next_step | Yes | Recommended next step. Suggestions are non-binding and never authorize payment or state-changing actions. | |
| profile_url | No | Hosted public UCP profile JSON URL for this agent. | |
| profile_json | No | Hosted public UCP profile JSON. Contains only public key material; private keys must stay local. | |
| registry_url | No | Public registry page URL. | |
| gateway_mcp_url | No | Canonical UCP Gateway MCP endpoint URL to save in ./.ucpgateway/agent.json. | |
| existing_profile | No | True when registration was idempotent and returned an existing active profile without creating a new row. |