{"schema_version":"webr.discovery.capabilities.v1","interface_version":"1.0","snapshot":{"schema_version":2,"snapshot_id":"uw65zb","generated_date":"2026-09-17"},"totals":{"capabilities":322,"invocable":311,"launch_ready":178,"registry_only":11,"status":{"agent-ready":322},"domain":{"admin":14,"agent":8,"analytics":4,"assist":2,"billing":15,"calendar":25,"core":97,"documents":36,"inbox":7,"intake":3,"integrations":13,"loop":3,"mdm":23,"media":6,"memory":6,"org":10,"phone":13,"platform":2,"skill":3,"studio":16,"wallet":2,"workspace":14}},"meta_tools":{"names":["search_capabilities","describe","invoke","dry_run"],"approximate_tokens":404},"access":{"register":{"method":"POST","path":"/register","idempotency_required":true,"idempotency":{"required":true,"format":"Idempotency-Key: String, 16-128 Zeichen, pro Mutation eindeutig (z.B. UUID)."},"fields":{"owner_email":"required","agent_email":"optional","app":"required"}},"organizations":{"method":"POST","path":"/organizations","idempotency_required":true,"idempotency":{"required":true,"format":"Idempotency-Key: String, 16-128 Zeichen, pro Mutation eindeutig (z.B. UUID)."},"authorization":"bootstrap_key","fields":{"owner_email":"required","agent_email":"optional","organization":"required"},"agent_otp_response_when_agent_email_is_set":{"correlation_id":"agent_otp_delivery.correlation_id","find_mail":"IMAP Subject contains 'Ref: <correlation_id>'","code_syntax":"Body line 'Code: <OTP>'"},"owner_otp_response":{"next_action":"Der Owner erhaelt einen Code per E-Mail. Sobald er ihn dir mitteilt, reiche ihn an POST /owner-otp/claim ein (Body {\"otp\":\"<code>\"}) mit deinem Installation-Key.","owner_mail":"The owner receives a copyable agent briefing containing Owner-Code: <OTP>, POST https://connect.webrichtung.de/owner-otp/claim and https://connect.webrichtung.de/llms.txt#owner-otp-claim."}},"owner_otp_claim":{"method":"POST","path":"/owner-otp/claim","idempotency_required":true,"idempotency":{"required":true,"format":"Idempotency-Key: String, 16-128 Zeichen, pro Mutation eindeutig (z.B. UUID)."},"authorization":"installation_key","fields":{"otp":"required"}},"agent_otp_verify":{"method":"POST","path":"/agent-otp/verify","idempotency_required":true,"idempotency":{"required":true,"format":"Idempotency-Key: String, 16-128 Zeichen, pro Mutation eindeutig (z.B. UUID)."},"authorization":"installation_key","required_when":"agent_email is set during register/bootstrap","fields":{"otp":"required"}},"agent_otp_resend":{"method":"POST","path":"/agent-otp/resend","idempotency_required":true,"idempotency":{"required":true,"format":"Idempotency-Key: String, 16-128 Zeichen, pro Mutation eindeutig (z.B. UUID)."},"authorization":"installation_key","required_when":"agent_email is set and the agent OTP is missing, expired or invalidated","response":{"correlation_id":"agent_otp_delivery.correlation_id","find_mail":"IMAP Subject contains 'Ref: <correlation_id>'","code_syntax":"Body line 'Code: <OTP>'"}},"owner_otp_resend":{"method":"POST","path":"/owner-otp/resend","idempotency_required":true,"idempotency":{"required":true,"format":"Idempotency-Key: String, 16-128 Zeichen, pro Mutation eindeutig (z.B. UUID)."},"authorization":"installation_key","response":{"next_action":"Der Owner erhaelt einen Code per E-Mail. Sobald er ihn dir mitteilt, reiche ihn an POST /owner-otp/claim ein (Body {\"otp\":\"<code>\"}) mit deinem Installation-Key."}}},"capabilities":[{"id":"admin.letterhead.list","domain":"admin","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Produktübergreifender Lesezugriff auf bestehende Organisationsprofile. Bestehender Scope billing.documents:read bleibt kompatibel.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["supabase ud_billing_document_profiles.select"],"sources":["admin","gateway"],"gaps":[],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List centrally maintained organization letterheads.","description":"Returns letterhead profiles, including sender, footer and logo references, for the active organization under principal JWT and RLS. Used across products. The existing billing.documents:read scope remains for permission compatibility.","keywords":["absender","admin","briefbogen","briefpapier","letterhead","list","logo"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.admin.letterhead.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Organization letterhead read.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":15},"component_schemas":{"input":"#/components/schemas/admin_letterhead_list_v1_0_0Input","output":"#/components/schemas/admin_letterhead_list_v1_0_0Output"}},{"id":"admin.letterhead.save","domain":"admin","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Zentraler Briefbogen: Absender, Logo-Referenz, Layout und Fußzeilen. Prinzipal-JWT/RLS; Teilupdates erhalten Faktura-Einstellungen. Bestehender Scope billing.profile:write bleibt kompatibel.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["supabase ud_billing_document_profiles.insert/update"],"sources":["admin","gateway"],"gaps":[],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create or update the organization letterhead.","description":"Saves sender details, branding and footer text for use across products under principal JWT and RLS. Only supplied fields change; billing settings remain intact. Conflicting defaults are rejected without changing the existing default. The existing billing.profile:write scope is retained for permission compatibility.","keywords":["absender","admin","briefbogen","briefpapier","letterhead","logo","save"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.profile:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.admin.letterhead.save.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/admin_letterhead_save_v1_0_0Input","output":"#/components/schemas/admin_letterhead_save_v1_0_0Output"}},{"id":"admin.newsletter.list","domain":"admin","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Newsletter Konfigurationen lesen Scope admin.newsletter:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract admin.newsletter.list v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Newsletter Konfigurationen lesen","description":"Reads existing organization newsletter configurations and their current activation status. Does not submit an opt-in or send DOI email.","keywords":["Konfigurationen","Newsletter","admin","admin","lesen","list","newsletter"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["admin.newsletter:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.admin.newsletter.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/admin_newsletter_list_v1_0_0Input","output":"#/components/schemas/admin_newsletter_list_v1_0_0Output"}},{"id":"admin.newsletter.mailboxes","domain":"admin","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Verfügbare Newsletter Postfächer lesen Scope admin.newsletter:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract admin.newsletter.mailboxes v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Verfügbare Newsletter Postfächer lesen","description":"Reads usable configured sender account references without exposing credentials or sending a test email.","keywords":["Newsletter","Postfächer","Verfügbare","admin","admin","lesen","mailboxes","newsletter"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["admin.newsletter:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.admin.newsletter.mailboxes.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/admin_newsletter_mailboxes_v1_0_0Input","output":"#/components/schemas/admin_newsletter_mailboxes_v1_0_0Output"}},{"id":"admin.newsletter.save","domain":"admin","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Newsletter Konfiguration speichern Scope admin.newsletter:write; approval=always. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract admin.newsletter.save v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Newsletter Konfiguration speichern","description":"Saves sender, DOI copy, allowed origins and status. Activating a configured mailbox can requeue pending DOI emails in the existing service; therefore even a configuration save requires approval. Does not create a subscriber or fabricate consent.","keywords":["Konfiguration","Newsletter","admin","admin","newsletter","save","speichern"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["admin.newsletter:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.admin.newsletter.save.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/admin_newsletter_save_v1_0_0Input","output":"#/components/schemas/admin_newsletter_save_v1_0_0Output"}},{"id":"admin.team_member.create","domain":"admin","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: bestehender Contract um aktuelle API-Felder erweitert. Lokale Tests; erneute Live-Abnahme ausstehend.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract admin.team_member.create v1.1.0","POST /admin/team-members with durable Idempotency-Key","Supabase Auth + accepted organization membership and access decisions"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.1.0","published_at":"2026-09-08T00:00:00Z","summary":"Create one ready-to-use human team member account.","description":"Creates a confirmed authentication user, an accepted and active organization membership, the selected role and initial application access decisions. Exactly one welcome-email attempt is reserved durably before delivery; an interrupted attempt is reported as unknown and is never sent again automatically.","keywords":["admin","create","member","mitarbeiter","onboarding","team","zugang"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["admin.team_members:create"],"approval":"always","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Final calibration: team-member administration is free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/admin_team_member_create_v1_1_0Input","output":"#/components/schemas/admin_team_member_create_v1_1_0Output"}},{"id":"admin.team_member.deactivate","domain":"admin","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Entzieht zuerst den Passwortmanager-Zugang und deaktiviert die menschliche Membership nur nach erfolgreichem Entzug; approval=always, Scope admin.team_members:lifecycle, persistente Recovery.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract admin.team_member.deactivate v1.0.0","POST /admin/team-members/:id/deactivate with durable Idempotency-Key","Password-manager revoke before membership deactivation"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-08-17T12:00:00Z","summary":"Deactivate one human team member.","description":"Revokes password-manager access first and deactivates the membership only after successful revocation. Retries safely converge on the same state.","keywords":["admin","deactivate","member","team"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["admin.team_members:lifecycle"],"approval":"always","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Final calibration: team-member administration is free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/admin_team_member_deactivate_v1_0_0Input","output":"#/components/schemas/admin_team_member_deactivate_v1_0_0Output"}},{"id":"admin.team_member.list","domain":"admin","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Listet ausschließlich menschliche Teammitglieder der Principal-Organisation; owner_agent ist explizit ausgeschlossen. Scope admin.team_members:read.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract admin.team_member.list v1.0.0","GET /admin/team-members"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-08-17T12:00:00Z","summary":"List human team members.","description":"Lists human memberships in the principal organization and intentionally excludes owner_agent identities.","keywords":["admin","list","member","team"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["admin.team_members:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Final calibration: team-member administration is free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/admin_team_member_list_v1_0_0Input","output":"#/components/schemas/admin_team_member_list_v1_0_0Output"}},{"id":"admin.team_member.profile_read","domain":"admin","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Mitarbeiterprofil lesen Scope admin.team_members:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract admin.team_member.profile_read v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Mitarbeiterprofil lesen","description":"Uses the existing member-profile API. Editing an identity shared with another organization remains prohibited; the member must be active and manageable.","keywords":["Mitarbeiterprofil","admin","admin","lesen","profile_read","team_member"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["admin.team_members:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.admin.team_member.profile_read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/admin_team_member_profile_read_v1_0_0Input","output":"#/components/schemas/admin_team_member_profile_read_v1_0_0Output"}},{"id":"admin.team_member.profile_update","domain":"admin","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Mitarbeiterprofil pflegen Scope admin.team_members:update; approval=always. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract admin.team_member.profile_update v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Mitarbeiterprofil pflegen","description":"Uses the existing member-profile API. Editing an identity shared with another organization remains prohibited; the member must be active and manageable.","keywords":["Mitarbeiterprofil","admin","admin","pflegen","profile_update","team_member"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["admin.team_members:update"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.admin.team_member.profile_update.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/admin_team_member_profile_update_v1_0_0Input","output":"#/components/schemas/admin_team_member_profile_update_v1_0_0Output"}},{"id":"admin.team_member.reactivate","domain":"admin","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Reaktiviert die menschliche Membership, stellt Passwortmanager-Zugang bewusst nicht automatisch wieder her und meldet dies transparent; approval=always, Scope admin.team_members:lifecycle.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract admin.team_member.reactivate v1.0.0","POST /admin/team-members/:id/reactivate with durable Idempotency-Key"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-08-17T12:00:00Z","summary":"Reactivate one human team member.","description":"Reactivates the membership without automatically restoring password-manager access and reports that state explicitly.","keywords":["admin","member","reactivate","team"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["admin.team_members:lifecycle"],"approval":"always","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Final calibration: team-member administration is free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/admin_team_member_reactivate_v1_0_0Input","output":"#/components/schemas/admin_team_member_reactivate_v1_0_0Output"}},{"id":"admin.team_member.read","domain":"admin","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Liest Rolle, Status und entscheidungsrelevante App-Zugriffe eines menschlichen Teammitglieds; owner_agent ist ausgeschlossen. Scope admin.team_members:read.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract admin.team_member.read v1.0.0","GET /admin/team-members/:id","RPC get_organization_member_permission_decisions"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-08-17T12:00:00Z","summary":"Read one human team member.","description":"Returns role, lifecycle status and effective application access decisions for one human team member.","keywords":["admin","member","read","team"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["admin.team_members:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Final calibration: team-member administration is free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/admin_team_member_read_v1_0_0Input","output":"#/components/schemas/admin_team_member_read_v1_0_0Output"}},{"id":"admin.team_member.update","domain":"admin","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Setzt Rolle und/oder App-Zugriffsentscheidungen als wiederholbaren gewünschten Zustand; schützt owner, owner_agent und den Principal selbst. approval=always, Scope admin.team_members:update.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract admin.team_member.update v1.0.0","PATCH /admin/team-members/:id with durable Idempotency-Key","Role and application-access decision RPCs"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-08-17T12:00:00Z","summary":"Set a human team member's desired role and application access.","description":"Applies an optional role and/or explicit application access decisions as one recoverable desired-state operation. Owner, owner_agent and the principal's own membership are protected.","keywords":["admin","member","team","update"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["admin.team_members:update"],"approval":"always","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Final calibration: team-member administration is free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/admin_team_member_update_v1_0_0Input","output":"#/components/schemas/admin_team_member_update_v1_0_0Output"}},{"id":"admin.web_analytics.create","domain":"admin","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Breaking Rename ohne Alias. Erstellt ein normales Asset der authentifizierten Principal-Organisation; organization_id ist kein Input. Der bestehende Scope core:write bleibt für diesen reinen Namespace-Rename erhalten, weil ein neuer Admin-Scope eine separate Live-DB-Katalogänderung erfordern würde. Lokale Contract-, Dry-Run-, Idempotenz-, Normalisierungs- und Principal-Org-Tests bestanden; ein neuer Live-Nachweis steht aus.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract admin.web_analytics.create v1.0.0","supabase ud_analytics_properties.insert under principal JWT and RLS"],"sources":["core","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-08-27T00:00:00Z","summary":"Create one cookieless Analytics property.","description":"Creates an organization-owned ud_analytics_properties asset as the authenticated principal. Domains are normalized, a wa_* public key is generated server-side and tracking_mode is cookieless.","keywords":["admin","create","property","snippet","tracking","web analytics"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.admin.web_analytics.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Analytics configuration write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/admin_web_analytics_create_v1_0_0Input","output":"#/components/schemas/admin_web_analytics_create_v1_0_0Output"}},{"id":"agent.automation.activate","domain":"agent","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Agent Automation aktivieren Scope agent.automation:write; approval=never (Oktober: Aktivierung ist Zustimmung). Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract agent.automation.activate v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Agent Automation aktivieren","description":"Activates the current definition (use definition_version from create/read). For prompt automations activation is the user's consent; no preview is needed. Only Vault login automations require preview_run_id. A schedule response includes next_run_at.","keywords":["Agent","Automation","activate","agent","agent","aktivieren","automation"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["agent.automation:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.agent.automation.activate.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/agent_automation_activate_v1_0_0Input","output":"#/components/schemas/agent_automation_activate_v1_0_0Output"}},{"id":"agent.automation.create","domain":"agent","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Eigene Agent Automation als Entwurf anlegen Scope agent.automation:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract agent.automation.create v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Agent Automation anlegen (wiederkehrend, bei neuem Dokument oder bei jeder Datenänderung)","description":"Creates an automation for the current user (any organization member) when the user asks for something recurring, repeatable or to happen whenever something happens in the platform (a new document, or a change of an entity agent.automation.events lists, e.g. a new customer). task_prompt is the instruction the agent executes on every run, written self-contained. The draft does not run until agent.automation.activate; activating it is the user's consent. The response contains the automation url and chat_url (its single conversation, where every run's result appears).","keywords":["Agent","Automation","Datenänderung","Dokument","agent","agent","anlegen","automation","bei","bei","create","jeder","neuem","oder","wiederkehrend"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["agent.automation:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.agent.automation.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/agent_automation_create_v1_0_0Input","output":"#/components/schemas/agent_automation_create_v1_0_0Output"}},{"id":"agent.automation.events","domain":"agent","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Oktober: Ereignisse auflisten, auf die Automationen reagieren können (Dokument ausgelesen, Anlegen/Ändern/Löschen jeder Entität) samt Feldern einer Entität; Scope agent.automation:read; approval=never (webr-agent-gateway#112, webr-api#702).","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract agent.automation.events v1.0.0","GET /agent/automations/events"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Ereignisse auflisten, auf die Automationen reagieren können","description":"Lists what an automation can listen to: the read document and the released entities of the platform (created, updated, deleted). With entity it also returns that entity's released fields with their label in the user interface and known values, for conditions in trigger_contract.when. Call it before creating an automation that reacts to changes.","keywords":["Automationen","Ereignisse","agent","agent","auf","auflisten","automation","die","events","können","reagieren"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["agent.automation:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.agent.automation.events.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/agent_automation_events_v1_0_0Input","output":"#/components/schemas/agent_automation_events_v1_0_0Output"}},{"id":"agent.automation.list","domain":"agent","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Eigene Agent Automationen auflisten Scope agent.automation:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract agent.automation.list v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Eigene Agent Automationen auflisten","description":"Lists the organization's automation definitions and activation/grant status without executing them.","keywords":["Agent","Automationen","Eigene","agent","agent","auflisten","automation","list"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["agent.automation:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.agent.automation.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/agent_automation_list_v1_0_0Input","output":"#/components/schemas/agent_automation_list_v1_0_0Output"}},{"id":"agent.automation.pause","domain":"agent","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Agent Automation pausieren Scope agent.automation:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract agent.automation.pause v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Agent Automation pausieren","description":"Pauses future automation triggering (allowed for its creator and organization owners); does not undo already completed actions.","keywords":["Agent","Automation","agent","agent","automation","pause","pausieren"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["agent.automation:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.agent.automation.pause.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/agent_automation_pause_v1_0_0Input","output":"#/components/schemas/agent_automation_pause_v1_0_0Output"}},{"id":"agent.automation.read","domain":"agent","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Agent Automation mit Definition lesen Scope agent.automation:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract agent.automation.read v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Agent Automation mit Definition lesen","description":"Reads the current definition, trigger, allowed capabilities and review policy. Use its version when saving changes.","keywords":["Agent","Automation","Definition","agent","agent","automation","lesen","mit","read"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["agent.automation:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.agent.automation.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/agent_automation_read_v1_0_0Input","output":"#/components/schemas/agent_automation_read_v1_0_0Output"}},{"id":"agent.automation.run","domain":"agent","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Oktober: Agent Automation jetzt einmal ausführen (Test direkt nach dem Anlegen im Chat) Scope agent.automation:write; approval=never. Ergebnis erscheint im Gespräch der Automation.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract agent.automation.run v1.0.0","Bestehende Produkt-API POST /agent/automations/:id/run (Prompt-Automationen)"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Agent Automation jetzt einmal ausführen","description":"Starts one run of a prompt automation now, e.g. as a test right after creating it. The result appears in the automation's conversation (chat_session_id). Vault login automations are not started here.","keywords":["Agent","Automation","agent","agent","ausführen","automation","einmal","jetzt","run"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["agent.automation:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.agent.automation.run.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; the run itself is billed by the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/agent_automation_run_v1_0_0Input","output":"#/components/schemas/agent_automation_run_v1_0_0Output"}},{"id":"agent.automation.update","domain":"agent","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Definition einer Agent Automation ändern Scope agent.automation:write; approval=never (Oktober: eigene Automation, Aktivierung ist Zustimmung). Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract agent.automation.update v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Definition einer Agent Automation ändern","description":"Updates selected definition fields (allowed for its creator and organization owners) with optimistic definition-version checks. Existing grants/previews are revalidated by the product before activation.","keywords":["Agent","Automation","Definition","agent","agent","automation","einer","update","ändern"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["agent.automation:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.agent.automation.update.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/agent_automation_update_v1_0_0Input","output":"#/components/schemas/agent_automation_update_v1_0_0Output"}},{"id":"analytics.cockpit.dashboard.read","domain":"analytics","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Aktuelle org-/rollenbezogene Cockpit-Aggregate; ersetzt nicht still die Bedeutung von analytics.stats.read. Implementiert und offline geprüft; Lifecycle-Import und reale Produktabnahme offen.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract analytics.cockpit.dashboard.read v1.0.0","GET /cockpit/dashboard"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-17T00:00:00Z","summary":"Cockpit-Kennzahlen mit aktuellen Produktrechten lesen","description":"Reads the current Cockpit dashboard aggregates with exact product pagination and domain permissions. Includes unavailable-source notices; never substitutes the legacy sampled analytics statistics.","keywords":["Cockpit","Kennzahlen","Produktrechten","aktuellen","analytics","analytics","cockpit","dashboard","lesen","mit","read"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.analytics.cockpit.dashboard.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; activate only after product acceptance.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":70},"component_schemas":{"input":"#/components/schemas/analytics_cockpit_dashboard_read_v1_0_0Input","output":"#/components/schemas/analytics_cockpit_dashboard_read_v1_0_0Output"}},{"id":"analytics.cockpit.forms.read","domain":"analytics","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Aktuelle Formulartrichter nach Website, Platzierung und Version. Implementiert und offline geprüft; Lifecycle-Import und reale Produktabnahme offen.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract analytics.cockpit.forms.read v1.0.0","GET /cockpit/forms"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-17T00:00:00Z","summary":"Cockpit-Formulartrichter nach Website, Version und Zeitraum lesen","description":"Reads observed form steps and stored submissions using Cockpit's current reach permissions. Preserves version, placement, device and source breakdowns without exposing raw visitor events.","keywords":["Cockpit","Formulartrichter","Version","Website","Zeitraum","analytics","analytics","cockpit","forms","lesen","nach","read","und"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.analytics.cockpit.forms.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; activate only after product acceptance.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":70},"component_schemas":{"input":"#/components/schemas/analytics_cockpit_forms_read_v1_0_0Input","output":"#/components/schemas/analytics_cockpit_forms_read_v1_0_0Output"}},{"id":"analytics.events.read","domain":"analytics","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 C8: bounded Rohereignis-Read fuer Website-Analytics, mit Property-/Zeit-/Fehlerfiltern; kein Ingest, keine Secrets.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract analytics.events.read v1.0.0","supabase ud_analytics_events.select under RLS"],"sources":["api","core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-04T12:00:00Z","summary":"Read raw Analytics events for the current organization.","description":"Lists recent rows from ud_analytics_events under RLS, optionally scoped to one property, time window, event name/category/source/outcome, errors only, or a text query. The gateway does not expose tracker ingest secrets and performs no writes.","keywords":["analytics","ereignisse","errors","events","read","traffic","website"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.analytics.events.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/analytics_events_read_v1_0_0Input","output":"#/components/schemas/analytics_events_read_v1_0_0Output"}},{"id":"analytics.stats.read","domain":"analytics","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 C8: Besucher, Sessions, Seitenaufrufe, Events, Fehler, Top-Seiten und Serien als deterministische Gateway-Aggregation.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract analytics.stats.read v1.0.0","supabase ud_analytics_events.select under RLS"],"sources":["api","core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-04T12:00:00Z","summary":"Summarize website visitors, pageviews, events and errors.","description":"Reads a bounded Analytics event sample from ud_analytics_events under RLS and returns deterministic aggregates: visitors, sessions, pageviews, total events, errors, top pages, referrers, event names and a time series. For very high traffic windows the response marks truncated=true so agents know to narrow the window or increase sample_limit.","keywords":["analytics","besucher","errors","pageviews","seitenaufrufe","stats","traffic","visitors"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.analytics.stats.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/analytics_stats_read_v1_0_0Input","output":"#/components/schemas/analytics_stats_read_v1_0_0Output"}},{"id":"assist.artifact.list","domain":"assist","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 C12: Chat-/Agent-Artefakte aus ud_artifacts org-/principal-sichtbar listen; read-only.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract assist.artifact.list v1.0.0","supabase ud_artifacts.select under RLS"],"sources":["agent","assist","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-04T12:00:00Z","summary":"List Assist chat artifacts visible to the principal.","description":"Lists non-archived chat/agent artifacts from ud_artifacts under RLS. Agents can filter by title/content query, artifact_type and source_type, and optionally include full content.","keywords":["artefakt","artifact","assist","briefvorlage","chat","templates","versions"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["assist:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.assist.artifact.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/assist_artifact_list_v1_0_0Input","output":"#/components/schemas/assist_artifact_list_v1_0_0Output"}},{"id":"assist.artifact.read","domain":"assist","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 C12: einzelnes Assist-Artefakt inkl. Versionen lesen, z.B. Chat-erzeugte Briefvorlagen.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract assist.artifact.read v1.0.0","supabase ud_artifacts + ud_artifact_versions.select under RLS"],"sources":["agent","assist","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-04T12:00:00Z","summary":"Read one Assist artifact and optional versions.","description":"Reads one ud_artifacts row and, by default, its latest ud_artifact_versions rows under RLS. This exposes chat-created content such as letter templates without allowing mutation.","keywords":["artefakt","artifact","assist","briefvorlage","chat","templates","versions"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["assist:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.assist.artifact.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/assist_artifact_read_v1_0_0Input","output":"#/components/schemas/assist_artifact_read_v1_0_0Output"}},{"id":"billing.bank_account.save","domain":"billing","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; Save unter Prinzipal-JWT/RLS, Default-Reset wie UI.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase ud_organization_bank_accounts.insert/update"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create or update an organization bank account.","description":"Saves one organization bank account under RLS for use in billing document profiles. If an active account is default, the previous default is cleared like in the current UI.","keywords":["account","bank","billing","iban","konto","save"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.bank_accounts:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.billing.bank_account.save.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/billing_bank_account_save_v1_0_0Input","output":"#/components/schemas/billing_bank_account_save_v1_0_0Output"}},{"id":"billing.document.convert_order_to_invoice","domain":"billing","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; Draft-Konvertierung sales_order -> invoice ohne Finalisierung/Nummernvergabe.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase insert Beleg + Positionen"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Convert a sales-order draft into an invoice draft.","description":"Copies a sales order and its lines into a new invoice draft with payment_status=unpaid and balance=total. It never sends, finalizes, archives or assigns a final invoice number.","keywords":["billing","convert","document","draft","invoice","sales_order"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.documents:draft"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.billing.document.convert_order_to_invoice.invoke","price_currency":"credits","price_credits":"0.02","price_formula":null,"price_basis":"Document conversion price from calibration stage 2.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/billing_document_convert_order_to_invoice_v1_0_0Input","output":"#/components/schemas/billing_document_convert_order_to_invoice_v1_0_0Output"}},{"id":"billing.document.convert_quote_to_order","domain":"billing","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; Draft-Konvertierung quote -> sales_order ohne Finalisierung/Nummernvergabe.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase insert Beleg + Positionen"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Convert a quote into a sales-order draft.","description":"Copies a quote and its lines into a new sales_order draft. Unlike the human UI finalization path, this agent capability does not require or create an accepted/final source status; it is a draft planning conversion only and never assigns a final number.","keywords":["billing","convert","document","draft","quote","sales_order"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.documents:draft"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.billing.document.convert_quote_to_order.invoke","price_currency":"credits","price_credits":"0.02","price_formula":null,"price_basis":"Document conversion price from calibration stage 2.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/billing_document_convert_quote_to_order_v1_0_0Input","output":"#/components/schemas/billing_document_convert_quote_to_order_v1_0_0Output"}},{"id":"billing.document.create_draft","domain":"billing","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; serverseitige Draft-/Steuerlogik, keine Finalisierung und keine Nummernvergabe.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase ud_billing_documents.insert + lines"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create a quote, order or invoice draft without finalizing it.","description":"Creates exactly one draft billing document and its lines through Supabase RLS as the principal. The handler mirrors the current webr-core draft calculation: signed credit-note amounts, invoice/self-billing payment status, Reverse-Charge treatment for foreign EU customers with VAT ID, profile metadata in data, and number = null until a human finalizes the document.","keywords":["angebot","billing","document","draft","invoice","quote","rechnung","reverse-charge"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.documents:draft"],"approval":"conditional","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.billing.document.create_draft.invoke","price_currency":"credits","price_credits":"0.02","price_formula":null,"price_basis":"Draft document price from final calibration.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/billing_document_create_draft_v1_0_0Input","output":"#/components/schemas/billing_document_create_draft_v1_0_0Output"}},{"id":"billing.document.facturx","domain":"billing","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; Preview via bestehendem Endpoint mit archive=false.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["POST /billing/documents/facturx"],"sources":["core","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Render a Factur-X PDF preview for an invoice or credit note.","description":"Calls the existing /billing/documents/facturx endpoint with archive=false and the principal JWT. The upstream endpoint accepts invoices and credit notes; draft preview is allowed, finalization is not performed.","keywords":["billing","document","e-rechnung","facturx","invoice","zugferd"],"risk_level":"medium","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.documents:draft"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"billing_e_invoice_preview","price_currency":"credits","price_credits":"0.02","price_formula":null,"price_basis":"Final calibration: E-invoice preview costs 0.02 credits because the API output lacks an explicit draft-preview marker.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/billing_document_facturx_v1_0_0Input","output":"#/components/schemas/billing_document_facturx_v1_0_0Output"}},{"id":"billing.document.list","domain":"billing","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; Read-Companion mit UI-kompatiblen Filtern.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase ud_billing_documents.select"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List billing documents visible to the installation organization.","description":"Lists quotes, sales orders, invoices, credit notes and self-billing invoices through Supabase RLS. Filters mirror the current finance UI list/search path and never mutate document status or numbers.","keywords":["belege","billing","document","list","rechnung","search"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.billing.document.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":15},"component_schemas":{"input":"#/components/schemas/billing_document_list_v1_0_0Input","output":"#/components/schemas/billing_document_list_v1_0_0Output"}},{"id":"billing.document.pdf","domain":"billing","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; Preview via bestehendem Endpoint mit archive=false.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["POST /billing/documents/pdf"],"sources":["core","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Render a billing document PDF preview through the existing API.","description":"Calls the existing /billing/documents/pdf endpoint with archive=false and the principal JWT. Drafts are preview-only; archival and final status transitions stay outside this slice.","keywords":["beleg","billing","document","pdf","preview","render"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.documents:draft"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.billing.document.pdf.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"PDF preview read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/billing_document_pdf_v1_0_0Input","output":"#/components/schemas/billing_document_pdf_v1_0_0Output"}},{"id":"billing.document.read","domain":"billing","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; liest Beleg, Positionen und Zahlungen unter Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase ud_billing_documents/-lines/-payments.select"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read one billing document with lines and payments.","description":"Returns one billing document, its line items and recorded payments under the existing organization RLS policies. Missing or foreign-organization documents return not_found without leaking data.","keywords":["beleg","billing","document","lines","payments","read"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.billing.document.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":15},"component_schemas":{"input":"#/components/schemas/billing_document_read_v1_0_0Input","output":"#/components/schemas/billing_document_read_v1_0_0Output"}},{"id":"billing.document.search","domain":"billing","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; alle 5 Belegtypen, Suche ueber Nummer/Titel/Gegenpartei.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase ud_billing_documents.select"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Search billing documents by number, title or counterparty.","description":"Searches the same RLS-protected billing document set as billing.document.list, with the search field mapped to number, title, counterparty name and counterparty email.","keywords":["angebot","billing","document","find","rechnung","search"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.billing.document.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":15},"component_schemas":{"input":"#/components/schemas/billing_document_search_v1_0_0Input","output":"#/components/schemas/billing_document_search_v1_0_0Output"}},{"id":"billing.document.xrechnung","domain":"billing","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; Preview via bestehendem Endpoint mit archive=false.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["POST /billing/documents/xrechnung"],"sources":["core","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Render an XRechnung XML preview through the existing API.","description":"Calls the existing /billing/documents/xrechnung endpoint with archive=false and the principal JWT. The capability returns the XML as base64 plus validation summary; archival is intentionally not exposed.","keywords":["billing","document","e-rechnung","invoice","xml","xrechnung"],"risk_level":"medium","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.documents:draft"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"billing_e_invoice_preview","price_currency":"credits","price_credits":"0.02","price_formula":null,"price_basis":"Final calibration: E-invoice preview costs 0.02 credits because the API output lacks an explicit draft-preview marker.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/billing_document_xrechnung_v1_0_0Input","output":"#/components/schemas/billing_document_xrechnung_v1_0_0Output"}},{"id":"billing.item.search","domain":"billing","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; read-only Item-Suche unter RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase ud_billing_items.select"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Search active billing items.","description":"Searches organization billing items by name, SKU or description under RLS. The capability is read-only and does not create or update item master data.","keywords":["billing","item","leistung","produkt","search","sku"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.items:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.billing.item.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":15},"component_schemas":{"input":"#/components/schemas/billing_item_search_v1_0_0Input","output":"#/components/schemas/billing_item_search_v1_0_0Output"}},{"id":"billing.payment.list","domain":"billing","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; read-only Zahlungsliste unter RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase ud_billing_payments.select"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List billing payments for the organization or one document.","description":"Lists recorded billing payments visible under RLS. It is read-only and does not reconcile or modify document balances.","keywords":["billing","list","payment","payments","zahlung"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.payments:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.billing.payment.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":15},"component_schemas":{"input":"#/components/schemas/billing_payment_list_v1_0_0Input","output":"#/components/schemas/billing_payment_list_v1_0_0Output"}},{"id":"billing.payment.record","domain":"billing","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; Zahlung erfassen + Balance/Payment-Status aktualisieren, kein Provider-Call.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase ud_billing_payments.insert + Beleg-Update"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Record a completed payment for an invoice or self-billing invoice.","description":"Inserts one completed payment under RLS and recalculates the target document balance/payment_status from completed and imported payments. It records accounting state only; it does not call a payment provider and does not finalize a billing document.","keywords":["billing","invoice","paid","payment","record","zahlung"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.payments:record"],"approval":"conditional","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.billing.payment.record.invoke","price_currency":"credits","price_credits":"0.02","price_formula":null,"price_basis":"Final calibration for payment.record.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/billing_payment_record_v1_0_0Input","output":"#/components/schemas/billing_payment_record_v1_0_0Output"}},{"id":"billing.reminder.list","domain":"billing","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; strikt read-only, kein Versand/keine Aussenwirkung.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase ud_billing_reminders.select"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List imported billing reminders without sending anything.","description":"Reads billing reminder records under RLS. The capability is intentionally read-only: it never schedules, renders or sends reminder emails, letters or other outbound communication.","keywords":["billing","list","mahnung","read","reminder"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.reminders:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.billing.reminder.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":15},"component_schemas":{"input":"#/components/schemas/billing_reminder_list_v1_0_0Input","output":"#/components/schemas/billing_reminder_list_v1_0_0Output"}},{"id":"billing.settings.save","domain":"billing","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Nur Bankkonto-Zuordnung, Währung und Zahlungs-/Belegtexte. Briefbogenfelder ausschließlich über admin.letterhead.save.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["supabase ud_billing_document_profiles.update"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Update payment defaults and document-specific terms.","description":"Updates only billing settings on an existing organization profile. Sender, logo, layout and footer are maintained through admin.letterhead.save. Unspecified fields remain unchanged.","keywords":["billing","faktura","payment","save","settings","terms"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.profile:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.billing.settings.save.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Billing settings write.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/billing_settings_save_v1_0_0Input","output":"#/components/schemas/billing_settings_save_v1_0_0Output"}},{"id":"calendar.availability.manage","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; availability.get/replace ueber bestehende /calendar/availability-Endpunkte mit Prinzipal-JWT, Idempotency-Key, Dry-Run, Audit und Replace-Idempotenztest.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["GET/PUT /calendar/availability"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read or replace native calendar availability rules.","description":"Wraps the existing /calendar/availability GET and PUT endpoints. PUT is a full replace in the existing API and is idempotent for the same rule set; the gateway additionally requires an idempotency key for invoke.","keywords":["availability","calendar","replace","rules","verfuegbarkeit","zeiten"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.availability.manage.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Calendar write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/calendar_availability_manage_v1_0_0Input","output":"#/components/schemas/calendar_availability_manage_v1_0_0Output"}},{"id":"calendar.booking_link_template.manage","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; booking_link_template.list/create/update/archive ueber bestehende Endpunkte mit Prinzipal-JWT, Idempotency-Key, Dry-Run und Audit.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["GET/POST /calendar/booking-link-templates","PATCH /calendar/booking-link-templates/:id"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List, create, update or archive booking-link templates.","description":"Wraps /calendar/booking-link-templates GET, POST and PATCH. Archive is represented as a PATCH to status=archived because the existing API has no DELETE endpoint.","keywords":["booking","booking_link","calendar","link","template","vorlage"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.booking_link_template.manage.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Calendar write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/calendar_booking_link_template_manage_v1_0_0Input","output":"#/components/schemas/calendar_booking_link_template_manage_v1_0_0Output"}},{"id":"calendar.booking_link.issue_secret","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; eigener risk-medium Contract fuer einmalige Klartext-Secret-Ausgabe. Audit-/Manage-Outputs redigieren secret/secret_hash; Test belegt kein Klartext-Secret im Audit.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["POST /calendar/booking-links/:id/issue-secret"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Issue a one-time cleartext secret for a booking link.","description":"Calls POST /calendar/booking-links/:id/issue-secret. The cleartext secret is returned only in this response and is never included in audit context, effects, warnings or raw upstream payloads.","keywords":["booking_link","calendar","copy","issue","secret","terminlink"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.booking_link.issue_secret.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Secret rotation price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/calendar_booking_link_issue_secret_v1_0_0Input","output":"#/components/schemas/calendar_booking_link_issue_secret_v1_0_0Output"}},{"id":"calendar.booking_link.manage","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; booking_link.list/create/update/revoke ueber bestehende Endpunkte mit Prinzipal-JWT, Idempotency-Key, Dry-Run, Audit und Secret-Redaktion. Bulk bleibt bewusst ausserhalb v1, weil der Bestand keinen Item-Dedupe-Contract hat.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["GET/POST/PATCH /calendar/booking-links(:id)"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List, create, update or revoke personalized booking links.","description":"Wraps /calendar/booking-links GET, POST and PATCH. Revoke is represented as status=revoked because the existing API has no DELETE endpoint. Secrets returned by the existing create endpoint are deliberately redacted from this manage contract; use calendar.booking_link.issue_secret for the one-time cleartext secret response.","keywords":["booking_link","calendar","link","recipient","revoke","terminlink"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.booking_link.manage.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Calendar write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/calendar_booking_link_manage_v1_0_0Input","output":"#/components/schemas/calendar_booking_link_manage_v1_0_0Output"}},{"id":"calendar.booking.create","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Native Termine und firmenbezogene Buchungen mit request_id-Recovery gemäß API-main PR #362. Konfigurierte Benachrichtigung/Sync nur mit gebundener Freigabe. Live-Abnahme ausstehend.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract calendar.booking.create v1.0.0","POST /calendar/bookings; optional core_account_id plus request_id"],"sources":["gateway","api","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Termin oder Firmenbesprechung anlegen","description":"Creates a native booking or calendar block. Optional core_account_id and request_id must be supplied together: the existing Core route checks the unlocked account under principal RLS and safely replays the same booking UUID, including uncertain upstream outcomes. Preserve request_id when retrying. Configured calendar notifications or synchronization require approval.","keywords":["Firmenbesprechung","Termin","anlegen","booking","calendar","calendar","create","oder"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.booking.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/calendar_booking_create_v1_0_0Input","output":"#/components/schemas/calendar_booking_create_v1_0_0Output"}},{"id":"calendar.booking.list","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Kalenderbuchungen lesen Scope calendar:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract calendar.booking.list v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Kalenderbuchungen lesen","description":"Reads bookings in the chosen calendar without an approval or idempotency key; use booking.manage for changes.","keywords":["Kalenderbuchungen","booking","calendar","calendar","lesen","list"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.booking.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/calendar_booking_list_v1_0_0Input","output":"#/components/schemas/calendar_booking_list_v1_0_0Output"}},{"id":"calendar.booking.manage","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Buchungsänderungen mit Tags; approval=always wegen konfigurierter Benachrichtigung/Sync. Reines Lesen über calendar.booking.list. Lokale Tests; erneute Live-Abnahme ausstehend.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["GET/POST /calendar/bookings","PATCH /calendar/bookings/:id"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.1.0","published_at":"2026-09-08T00:00:00Z","summary":"List, update or cancel native calendar bookings.","description":"Wraps the existing /calendar/bookings GET and /calendar/bookings/:id PATCH endpoints. Update and cancel are idempotent through the gateway; list is included because the current registry groups booking read and write surfaces under one manage capability. Configured notification emails and external calendar synchronization may follow booking writes; owner approval is required.","keywords":["booking","calendar","cancel","storno","termin","update"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.booking.manage.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Calendar write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/calendar_booking_manage_v1_1_0Input","output":"#/components/schemas/calendar_booking_manage_v1_1_0Output"}},{"id":"calendar.calendar.manage","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: bestehender Contract um aktuelle API-Felder erweitert. Lokale Tests; erneute Live-Abnahme ausstehend.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["GET/POST /calendar/calendars","PATCH /calendar/calendars/:id"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.1.0","published_at":"2026-09-08T00:00:00Z","summary":"List, create or update native organization calendars.","description":"Wraps the existing /calendar/calendars GET, POST and PATCH endpoints. Organization calendar creation and updates stay in the existing API; the gateway adds strict schema validation, idempotency, dry-run and audit.","keywords":["calendar","calendars","kalender","manage","organization","resource"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.calendar.manage.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Calendar write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/calendar_calendar_manage_v1_1_0Input","output":"#/components/schemas/calendar_calendar_manage_v1_1_0Output"}},{"id":"calendar.dated_availability.create","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Zusätzliche datumsbezogene Verfügbarkeit anlegen Scope calendar:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract calendar.dated_availability.create v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Zusätzliche datumsbezogene Verfügbarkeit anlegen","description":"Uses the existing date availability API, preserving weekly availability. Create requires a real date, increasing time range and valid IANA timezone.","keywords":["Verfügbarkeit","Zusätzliche","anlegen","calendar","calendar","create","dated_availability","datumsbezogene"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.dated_availability.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/calendar_dated_availability_create_v1_0_0Input","output":"#/components/schemas/calendar_dated_availability_create_v1_0_0Output"}},{"id":"calendar.dated_availability.delete","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Zusätzliche datumsbezogene Verfügbarkeit entfernen Scope calendar:write; approval=always. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract calendar.dated_availability.delete v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Zusätzliche datumsbezogene Verfügbarkeit entfernen","description":"Uses the existing date availability API, preserving weekly availability. Create requires a real date, increasing time range and valid IANA timezone.","keywords":["Verfügbarkeit","Zusätzliche","calendar","calendar","dated_availability","datumsbezogene","delete","entfernen"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.dated_availability.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/calendar_dated_availability_delete_v1_0_0Input","output":"#/components/schemas/calendar_dated_availability_delete_v1_0_0Output"}},{"id":"calendar.dated_availability.list","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Zusätzliche datumsbezogene Verfügbarkeit lesen Scope calendar:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract calendar.dated_availability.list v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Zusätzliche datumsbezogene Verfügbarkeit lesen","description":"Uses the existing date availability API, preserving weekly availability. Create requires a real date, increasing time range and valid IANA timezone.","keywords":["Verfügbarkeit","Zusätzliche","calendar","calendar","dated_availability","datumsbezogene","lesen","list"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.dated_availability.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/calendar_dated_availability_list_v1_0_0Input","output":"#/components/schemas/calendar_dated_availability_list_v1_0_0Output"}},{"id":"calendar.event_type.book","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Buchung mit optionalen Tags; konfigurierte Benachrichtigungen und externe Kalendersynchronisation erfordern gebundene Freigabe. Lokale Tests; erneute Live-Abnahme ausstehend.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["GET /calendar/event-types/:id/slots","POST /calendar/event-types/:id/book"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.1.0","published_at":"2026-09-08T00:00:00Z","summary":"Book one available slot for a native calendar event type.","description":"Calls the existing /calendar/event-types/:id/book endpoint. The gateway requires an idempotency key so agent retries cannot create duplicate bookings; the existing endpoint verifies the selected slot immediately before insert. Configured notification emails and external calendar synchronization may follow booking writes; owner approval is required.","keywords":["book","booking","calendar","idempotency","slot","termin"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.event_type.book.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Booking price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/calendar_event_type_book_v1_1_0Input","output":"#/components/schemas/calendar_event_type_book_v1_1_0Output"}},{"id":"calendar.event_type.manage","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: bestehender Contract um aktuelle API-Felder erweitert. Lokale Tests; erneute Live-Abnahme ausstehend.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["GET/POST /calendar/event-types","PATCH /calendar/event-types/:id"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.1.0","published_at":"2026-09-08T00:00:00Z","summary":"List, create or update native calendar event types.","description":"Wraps the existing /calendar/event-types GET, POST and PATCH endpoints. Create and update operations are idempotent at the gateway layer; list is included because the current registry groups these surfaces under one manage capability.","keywords":["calendar","duration","event","event_type","slot","terminart"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.event_type.manage.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Calendar write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/calendar_event_type_manage_v1_1_0Input","output":"#/components/schemas/calendar_event_type_manage_v1_1_0Output"}},{"id":"calendar.notification.configure","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Buchungsbenachrichtigungen konfigurieren Scope calendar:write; approval=always. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract calendar.notification.configure v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Buchungsbenachrichtigungen konfigurieren","description":"Sets calendar email notifications using only recipient IDs returned by notification.read. Enabling changes future notification behavior; does not request verification emails or resend past messages.","keywords":["Buchungsbenachrichtigungen","calendar","calendar","configure","konfigurieren","notification"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.notification.configure.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/calendar_notification_configure_v1_0_0Input","output":"#/components/schemas/calendar_notification_configure_v1_0_0Output"}},{"id":"calendar.notification.read","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Buchungsbenachrichtigungen und verfügbare Empfänger lesen Scope calendar:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract calendar.notification.read v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Buchungsbenachrichtigungen und verfügbare Empfänger lesen","description":"Reads calendar email settings, selectable verified recipients and whether failed delivery requires attention. Requires the existing calendar configuration permission.","keywords":["Buchungsbenachrichtigungen","Empfänger","calendar","calendar","lesen","notification","read","und","verfügbare"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.notification.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/calendar_notification_read_v1_0_0Input","output":"#/components/schemas/calendar_notification_read_v1_0_0Output"}},{"id":"calendar.personal_availability.read","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Persönliche kalenderübergreifende Verfügbarkeit lesen Scope calendar:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract calendar.personal_availability.read v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Persönliche kalenderübergreifende Verfügbarkeit lesen","description":"Reads the current user's calendar availability selection for the selected calendar.","keywords":["Persönliche","Verfügbarkeit","calendar","calendar","kalenderübergreifende","lesen","personal_availability","read"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.personal_availability.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/calendar_personal_availability_read_v1_0_0Input","output":"#/components/schemas/calendar_personal_availability_read_v1_0_0Output"}},{"id":"calendar.personal_availability.replace","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Persönliche Verfügbarkeitskalender auswählen Scope calendar:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract calendar.personal_availability.replace v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Persönliche Verfügbarkeitskalender auswählen","description":"Replaces the user's full selection. Optional account initialization follows existing access and conflict checks; does not grant access to another user's calendar.","keywords":["Persönliche","Verfügbarkeitskalender","auswählen","calendar","calendar","personal_availability","replace"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.personal_availability.replace.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/calendar_personal_availability_replace_v1_0_0Input","output":"#/components/schemas/calendar_personal_availability_replace_v1_0_0Output"}},{"id":"calendar.slots.list","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Read-Contract v1.0.0 im Gateway; Slots fuer Event-Type ueber bestehenden Endpoint mit Prinzipal-JWT, Schema, Dry-Run und Audit.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["GET /calendar/slots"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List available slots for a native calendar event type.","description":"Calls the existing /calendar/slots endpoint with event_type_id, from and to. The endpoint computes availability from native calendar rules, existing bookings and resource mappings.","keywords":["availability","calendar","event_type","frei","slots","termin"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.slots.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/calendar_slots_list_v1_0_0Input","output":"#/components/schemas/calendar_slots_list_v1_0_0Output"}},{"id":"calendar.sync.calendars","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Kalender eines verbundenen Kontos suchen Scope calendar:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract calendar.sync.calendars v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Kalender eines verbundenen Kontos suchen","description":"Lists external calendars using an existing account reference; contacts its provider but does not create an event.","keywords":["Kalender","Kontos","calendar","calendar","calendars","eines","suchen","sync","verbundenen"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.sync.calendars.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/calendar_sync_calendars_v1_0_0Input","output":"#/components/schemas/calendar_sync_calendars_v1_0_0Output"}},{"id":"calendar.sync.connect","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Externen Kalender verbinden Scope calendar:write; approval=always. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract calendar.sync.connect v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Externen Kalender verbinden","description":"Connects an explicitly selected existing account and external calendar. export_bookings enables future external event writes; account ownership and provider permissions remain enforced.","keywords":["Externen","Kalender","calendar","calendar","connect","sync","verbinden"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.sync.connect.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/calendar_sync_connect_v1_0_0Input","output":"#/components/schemas/calendar_sync_connect_v1_0_0Output"}},{"id":"calendar.sync.list","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Externe Kalendersynchronisation und Konten lesen Scope calendar:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract calendar.sync.list v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Externe Kalendersynchronisation und Konten lesen","description":"Reads configured synchronization and usable account references without exporting bookings or exposing credentials.","keywords":["Externe","Kalendersynchronisation","Konten","calendar","calendar","lesen","list","sync","und"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.sync.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/calendar_sync_list_v1_0_0Input","output":"#/components/schemas/calendar_sync_list_v1_0_0Output"}},{"id":"calendar.sync.update","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Kalendersynchronisation pausieren oder ändern Scope calendar:write; approval=always. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract calendar.sync.update v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Kalendersynchronisation pausieren oder ändern","description":"Changes synchronization/export flags on one existing connection; concurrent worker leases and provider write permissions remain guarded.","keywords":["Kalendersynchronisation","calendar","calendar","oder","pausieren","sync","update","ändern"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.sync.update.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/calendar_sync_update_v1_0_0Input","output":"#/components/schemas/calendar_sync_update_v1_0_0Output"}},{"id":"calendar.tag.create","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Kalender Tags anlegen Scope calendar:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract calendar.tag.create v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Kalender Tags anlegen","description":"Uses the existing calendar tag API; tags belong to the explicitly selected calendar. Archiving preserves existing assignments.","keywords":["Kalender","Tags","anlegen","calendar","calendar","create","tag"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.tag.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/calendar_tag_create_v1_0_0Input","output":"#/components/schemas/calendar_tag_create_v1_0_0Output"}},{"id":"calendar.tag.list","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Kalender Tags lesen Scope calendar:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract calendar.tag.list v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Kalender Tags lesen","description":"Uses the existing calendar tag API; tags belong to the explicitly selected calendar. Archiving preserves existing assignments.","keywords":["Kalender","Tags","calendar","calendar","lesen","list","tag"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.tag.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/calendar_tag_list_v1_0_0Input","output":"#/components/schemas/calendar_tag_list_v1_0_0Output"}},{"id":"calendar.tag.update","domain":"calendar","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Kalender Tags ändern oder archivieren Scope calendar:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract calendar.tag.update v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Kalender Tags ändern oder archivieren","description":"Uses the existing calendar tag API; tags belong to the explicitly selected calendar. Archiving preserves existing assignments.","keywords":["Kalender","Tags","archivieren","calendar","calendar","oder","tag","update","ändern"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["calendar:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.calendar.tag.update.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/calendar_tag_update_v1_0_0Input","output":"#/components/schemas/calendar_tag_update_v1_0_0Output"}},{"id":"core.account.read","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 C9: Account-360 mit nicht-locked Account plus verknuepften Contacts/Deals, read-only unter Prinzipal-JWT/RLS.","live_verified":false,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.account.read v1.1.0 (v1.0.0 kompatibel)","supabase ud_accounts/ud_contacts/ud_deals.select under RLS"],"sources":["core","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.1.0","published_at":"2026-09-17T00:00:00Z","summary":"Read a Core account 360 view with linked contacts and deals.","description":"Loads one non-locked ud_accounts row plus linked ud_contacts and ud_deals through the principal JWT. The result is a normalized 360-degree account view for agents.","keywords":["360","account","detail","firma","kunde","read"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.account.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_account_read_v1_1_0Input","output":"#/components/schemas/core_account_read_v1_1_0Output"}},{"id":"core.account.search","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 C9: Account-Suche mit Query, account_type, Limit/Offset und locked-Filter analog Core-UI.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.account.search v1.0.0","supabase ud_accounts.select under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Search visible Core accounts for the current organization.","description":"Lists non-locked ud_accounts through the principal JWT. The search mirrors the Core account list filters for account type and common company/address fields while RLS remains the final organization boundary.","keywords":["account","firma","konto","kunde","kunden","list","search","suchen","unternehmen"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.account.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_account_search_v1_0_0Input","output":"#/components/schemas/core_account_search_v1_0_0Output"}},{"id":"core.account.upsert","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 4 Core-CRM: Basis-Account-Write mit account_id-Update, external_ref-Upsert, Idempotency-Key, Dry-Run, Audit und Prinzipal-JWT/RLS.","live_verified":false,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract core.account.upsert v1.1.0 (v1.0.0 kompatibel)","supabase ud_accounts insert/update/upsert under RLS"],"sources":["core","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.1.0","published_at":"2026-09-17T00:00:00Z","summary":"Create or update a basic Core account record.","description":"Writes the same basic account fields used by the Core UI. account_id updates an existing account; external_ref uses the existing organization-scoped external id index for durable upserts.","keywords":["account","create","firma","kunde","update","upsert"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.account.upsert.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_account_upsert_v1_1_0Input","output":"#/components/schemas/core_account_upsert_v1_1_0Output"}},{"id":"core.activity.read","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Read-only Activity-Detail unter Prinzipal-JWT/RLS; keine Activity-Writes exponiert.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract core.activity.read v1.0.0","supabase ud_activities.select under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read one historical Core activity.","description":"Loads one ud_activities row through the principal JWT. The table remains read-only for agents in this slice.","keywords":["activity","aktivitaet","detail","history","read"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.activity.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_activity_read_v1_0_0Input","output":"#/components/schemas/core_activity_read_v1_0_0Output"}},{"id":"core.activity.search","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Read-only Activity-Suche unter Prinzipal-JWT/RLS; Modul bleibt schreibgeschuetzt.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.activity.search v1.0.0","supabase ud_activities.select under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Search historical Core activities.","description":"Lists ud_activities through the principal JWT. Activities are read-only in Core; no write capability is exposed in this slice.","keywords":["activity","aktivitaet","history","list","search"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.activity.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_activity_search_v1_0_0Input","output":"#/components/schemas/core_activity_search_v1_0_0Output"}},{"id":"core.contact.delete","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Contact-Delete mit Idempotency-Key, Audit, organization_id-Filter und Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.contact.delete v1.0.0","supabase ud_contacts.delete under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Delete one Core contact through RLS.","description":"Deletes one contact by id as the installation principal. The backing query is organization-scoped and still runs through RLS.","keywords":["contact","delete","kontakt","remove"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.contact.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_contact_delete_v1_0_0Input","output":"#/components/schemas/core_contact_delete_v1_0_0Output"}},{"id":"core.contact.read","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Contact-Detail unter Prinzipal-JWT/RLS; Deal-Hydration bleibt separater Deal-Contract.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.contact.read v1.0.0","supabase ud_contacts.select under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read one Core contact by id.","description":"Loads one ud_contacts row as the installation principal. RLS and organization_id filtering prevent cross-organization disclosure.","keywords":["contact","detail","kontakt","read"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.contact.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_contact_read_v1_0_0Input","output":"#/components/schemas/core_contact_read_v1_0_0Output"}},{"id":"core.contact.search","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Contact-Suche mit optionalem account_id-Filter unter Prinzipal-JWT/RLS.","live_verified":false,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.contact.search v1.1.0 (v1.0.0 kompatibel)","supabase ud_contacts.select under RLS"],"sources":["core","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.1.0","published_at":"2026-09-17T00:00:00Z","summary":"Search Core contacts visible to the current principal.","description":"Lists contacts from ud_contacts under the principal JWT. Optional account_id narrows the result to one customer account while RLS remains the final organization boundary.","keywords":["account","ansprechpartner","contact","kontakt","kunde","kunden","list","person","search","suchen"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.contact.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_contact_search_v1_1_0Input","output":"#/components/schemas/core_contact_search_v1_1_0Output"}},{"id":"core.contact.upsert","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 4 Core-CRM: Basis-Kontakt-Write mit contact_id-Update, external_ref-Upsert, Account-Name-Aufloesung unter RLS, Idempotency-Key, Dry-Run und Audit.","live_verified":false,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.contact.upsert v1.1.0 (v1.0.0 kompatibel)","supabase ud_contacts insert/update/upsert under RLS"],"sources":["core","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.1.0","published_at":"2026-09-17T00:00:00Z","summary":"Create or update a basic Core contact record.","description":"Writes the same basic contact fields used by the Core UI. contact_id updates an existing contact; external_ref uses the existing organization-scoped external id index for durable upserts. If account_id is supplied, account_name is resolved under RLS.","keywords":["contact","create","kontakt","person","update","upsert"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.contact.upsert.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_contact_upsert_v1_1_0Input","output":"#/components/schemas/core_contact_upsert_v1_1_0Output"}},{"id":"core.contract.archive","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: archive personal contract records. Scope core:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.contract.archive v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"archive personal contract records.","description":"Uses the authenticated principal's own contract records under RLS, matching the former personal Core tool. These legacy records are user-bound, not organization-bound. Owner and team assignment cannot be supplied. Archive sets status=4; it does not terminate a legal agreement or send a notification.","keywords":["Kündigungsfrist","Laufzeit","Vertrag","Verträge","archive","contracts"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.contract.archive.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_contract_archive_v1_0_0Input","output":"#/components/schemas/core_contract_archive_v1_0_0Output"}},{"id":"core.contract.create","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: create personal contract records. Scope core:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.contract.create v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"create personal contract records.","description":"Uses the authenticated principal's own contract records under RLS, matching the former personal Core tool. These legacy records are user-bound, not organization-bound. Owner and team assignment cannot be supplied. Archive sets status=4; it does not terminate a legal agreement or send a notification.","keywords":["Kündigungsfrist","Laufzeit","Vertrag","Verträge","contracts","create"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.contract.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_contract_create_v1_0_0Input","output":"#/components/schemas/core_contract_create_v1_0_0Output"}},{"id":"core.contract.read","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: read personal contract records. Scope core:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.contract.read v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"read personal contract records.","description":"Uses the authenticated principal's own contract records under RLS, matching the former personal Core tool. These legacy records are user-bound, not organization-bound. Owner and team assignment cannot be supplied. Archive sets status=4; it does not terminate a legal agreement or send a notification.","keywords":["Kündigungsfrist","Laufzeit","Vertrag","Verträge","contracts","read"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.contract.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_contract_read_v1_0_0Input","output":"#/components/schemas/core_contract_read_v1_0_0Output"}},{"id":"core.contract.search","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: search personal contract records. Scope core:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.contract.search v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"search personal contract records.","description":"Uses the authenticated principal's own contract records under RLS, matching the former personal Core tool. These legacy records are user-bound, not organization-bound. Owner and team assignment cannot be supplied. Archive sets status=4; it does not terminate a legal agreement or send a notification.","keywords":["Kündigungsfrist","Laufzeit","Vertrag","Verträge","contracts","search"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.contract.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_contract_search_v1_0_0Input","output":"#/components/schemas/core_contract_search_v1_0_0Output"}},{"id":"core.contract.update","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: update personal contract records. Scope core:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.contract.update v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"update personal contract records.","description":"Uses the authenticated principal's own contract records under RLS, matching the former personal Core tool. These legacy records are user-bound, not organization-bound. Owner and team assignment cannot be supplied. Archive sets status=4; it does not terminate a legal agreement or send a notification.","keywords":["Kündigungsfrist","Laufzeit","Vertrag","Verträge","contracts","update"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.contract.update.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_contract_update_v1_0_0Input","output":"#/components/schemas/core_contract_update_v1_0_0Output"}},{"id":"core.custom_entity_type.create","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Entities: Typanlage mit validiertem field_schema, reserviertem System-Slug-Schutz, Idempotency-Key, Dry-Run und Audit.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.custom_entity_type.create v1.0.0","supabase ud_custom_entity_types.insert under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create a custom entity type with a validated field schema.","description":"Creates ud_custom_entity_types under RLS. The gateway validates every field definition, rejects duplicate field keys and keeps the system slug immobilienobjekte reserved.","keywords":["create","custom","entity","field","schema","type"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.custom_entity_type.create.invoke","price_currency":"credits","price_credits":"0.10","price_formula":null,"price_basis":"Session 1 proposal: Custom-Entity schema creation costs 0.10 credits once; final confirmation is tracked in open-decisions.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_custom_entity_type_create_v1_0_0Input","output":"#/components/schemas/core_custom_entity_type_create_v1_0_0Output"}},{"id":"core.custom_entity_type.delete","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Entities: Loeschung unter RLS; bestehende DB-Kaskade auf Eintraege wird im Dry-Run ausgewiesen.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.custom_entity_type.delete v1.0.0","supabase ud_custom_entity_types.delete under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Delete a custom entity type through RLS.","description":"Deletes one ud_custom_entity_types row. Existing database cascade semantics remove its custom entries; agents must dry-run first to see this destructive effect.","keywords":["custom","delete","entity","remove","type"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.custom_entity_type.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_custom_entity_type_delete_v1_0_0Input","output":"#/components/schemas/core_custom_entity_type_delete_v1_0_0Output"}},{"id":"core.custom_entity_type.list","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Entities: Liste eigener Custom-Typen, systemverwalteter Immobilien-Slug ausgeblendet.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.custom_entity_type.list v1.0.0","supabase ud_custom_entity_types.select under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List custom entity types visible to the current organization.","description":"Reads ud_custom_entity_types through the principal JWT and hides the system-managed Immobilien object type from the custom type list.","keywords":["custom","entity","feldschema","list","schema","type"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.custom_entity_type.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_custom_entity_type_list_v1_0_0Input","output":"#/components/schemas/core_custom_entity_type_list_v1_0_0Output"}},{"id":"core.custom_entity_type.update","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Entities: Label/Icon/field_schema aktualisierbar, Slug bleibt gesperrt; field_schema wird vor dem Write validiert.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.custom_entity_type.update v1.0.0","supabase ud_custom_entity_types.update under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Update a custom entity type label, icon or field schema.","description":"Updates ud_custom_entity_types under RLS. The slug is intentionally not mutable. If field_schema is supplied, it is fully validated before the write.","keywords":["custom","entity","field","schema","type","update"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.custom_entity_type.update.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_custom_entity_type_update_v1_0_0Input","output":"#/components/schemas/core_custom_entity_type_update_v1_0_0Output"}},{"id":"core.custom_entry.create","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Entities: Create mit dynamischer data-Validierung gegen ud_custom_entity_types.field_schema.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.custom_entry.create v1.0.0","supabase ud_custom_entries.insert under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create a custom entry after validating dynamic fields.","description":"Creates ud_custom_entries under RLS. The gateway loads the custom entity type definition and rejects missing, unknown or wrongly typed data fields before writing.","keywords":["create","custom","entry","field","schema"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.custom_entry.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1; recurring storage is daily-billed separately.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_custom_entry_create_v1_0_0Input","output":"#/components/schemas/core_custom_entry_create_v1_0_0Output"}},{"id":"core.custom_entry.delete","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Entities: Delete per entry_id unter RLS, Idempotency-Key, Dry-Run und Audit.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.custom_entry.delete v1.0.0","supabase ud_custom_entries.delete under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Delete one custom entry through RLS.","description":"Deletes one ud_custom_entries row by id. RLS and organization filtering keep the operation inside the installation organization.","keywords":["custom","delete","entry","remove"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.custom_entry.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1; recurring storage stops in the daily collector.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_custom_entry_delete_v1_0_0Input","output":"#/components/schemas/core_custom_entry_delete_v1_0_0Output"}},{"id":"core.custom_entry.read","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Entities: Detail-Read per entry_id unter RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.custom_entry.read v1.0.0","supabase ud_custom_entries.select maybeSingle under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read one custom entry through RLS.","description":"Reads one ud_custom_entries row by id as the principal JWT. RLS prevents cross-organization leakage.","keywords":["custom","detail","entry","read"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.custom_entry.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_custom_entry_read_v1_0_0Input","output":"#/components/schemas/core_custom_entry_read_v1_0_0Output"}},{"id":"core.custom_entry.search","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Entities: Suche je entity_type_id oder entity_type_slug mit RLS-Org-Grenze.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.custom_entry.search v1.0.0","supabase ud_custom_entries.select (ilike, range) under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Search custom entries for a validated custom entity type.","description":"Searches ud_custom_entries through RLS. The agent supplies entity_type_id or entity_type_slug so the search remains schema-bounded.","keywords":["custom","entity","entry","list","search"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.custom_entry.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_custom_entry_search_v1_0_0Input","output":"#/components/schemas/core_custom_entry_search_v1_0_0Output"}},{"id":"core.custom_entry.update","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Entities: Update mit dynamischer data-Validierung gegen gespeichertes field_schema.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.custom_entry.update v1.0.0","supabase ud_custom_entries.update under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Update a custom entry after validating dynamic fields.","description":"Updates ud_custom_entries under RLS. If data is supplied, the gateway resolves the entry type and validates the patch against the stored field schema.","keywords":["custom","entry","field","schema","update"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.custom_entry.update.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_custom_entry_update_v1_0_0Input","output":"#/components/schemas/core_custom_entry_update_v1_0_0Output"}},{"id":"core.dashboard.overview","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 9 Core-Verwaltung: read-only Dashboard-Ueberblick mit Counts und letzten Deals/Kunden/Kontakten.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.dashboard.overview v1.0.0","supabase counts + ud_deals/-accounts/-contacts.select under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read the Core dashboard overview for the current organization.","description":"Returns the same high-level counts and recent Deals, Accounts and Contacts used by the Core dashboard. It is read-only and performs no tracking side effects.","keywords":["core","counts","dashboard","overview","recent"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.dashboard.overview.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_dashboard_overview_v1_0_0Input","output":"#/components/schemas/core_dashboard_overview_v1_0_0Output"}},{"id":"core.deadline.delete","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 4 Core-CRM: strukturierter Delete-Contract mit Idempotency-Key, Dry-Run, Audit und Organisation/RLS-Grenze.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.deadline.delete v1.0.0","supabase ud_deadlines.delete under RLS"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Delete one Core deadline through RLS.","description":"Deletes a deadline by deadline_id as the installation principal. RLS and organization_id filtering prevent cross-organization deletion.","keywords":["deadline","delete","frist","remove"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.deadline.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_deadline_delete_v1_0_0Input","output":"#/components/schemas/core_deadline_delete_v1_0_0Output"}},{"id":"core.deadline.search","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 4 Core-CRM: Read-Contract fuer Fristenliste/-suche unter Prinzipal-JWT/RLS; ohne Dokument-Hydration.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.deadline.search v1.0.0","supabase ud_deadlines.select under RLS"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Search deadlines visible in the current organization.","description":"Reads ud_deadlines as the principal JWT and keeps RLS as the final visibility boundary.","keywords":["deadline","faellig","frist","list","search"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.deadline.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_deadline_search_v1_0_0Input","output":"#/components/schemas/core_deadline_search_v1_0_0Output"}},{"id":"core.deadline.upsert","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 4 Core-CRM: Frist-Create/Update mit deadline_id oder external_ref auf bestehendem organization_id/ext_id-Index, Idempotency-Key, Dry-Run, Audit und Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.deadline.upsert v1.0.0","supabase ud_deadlines insert/update/upsert under RLS"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create or update an idempotent Core deadline.","description":"Creates or updates ud_deadlines under RLS. A supplied external_ref is mapped to the existing organization_id/ext_id unique index, allowing agents to replay extracted deadlines without creating duplicates.","keywords":["create","deadline","document","frist","update","upsert"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.deadline.upsert.invoke","price_currency":"credits","price_credits":"0.02","price_formula":null,"price_basis":"Deadline write price from calibration stage 2.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_deadline_upsert_v1_0_0Input","output":"#/components/schemas/core_deadline_upsert_v1_0_0Output"}},{"id":"core.deal.delete","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Deal-Delete mit Idempotency-Key, Audit, organization_id-Filter und Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.deal.delete v1.0.0","supabase ud_deals.delete under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Delete one Core deal through RLS.","description":"Deletes one ud_deals row by id as the installation principal. The backing query is organization-scoped and still runs through RLS.","keywords":["chance","deal","delete","remove"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.deal.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_deal_delete_v1_0_0Input","output":"#/components/schemas/core_deal_delete_v1_0_0Output"}},{"id":"core.deal.lead_feedback.submit","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 C10: Target-Tuner Lead-Feedback fuer is_webr_lead Deals; positive=L3, sale=L4+amount, negative=N1+reason, non-leads liefern sauberen precondition_failed.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract core.deal.lead_feedback.submit v1.0.0","rpc fn_submit_core_lead_feedback under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Submit Target-Tuner feedback for a webRichtung lead deal.","description":"Validates that the deal is a webRichtung lead, then calls the existing fn_submit_core_lead_feedback RPC as the installation principal. Positive maps to L3, sale maps to L4 with amount, negative maps to N1 with a reason.","keywords":["deal","feedback","l3","l4","lead","negative","target-tuner"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Feedback vent remains free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_deal_lead_feedback_submit_v1_0_0Input","output":"#/components/schemas/core_deal_lead_feedback_submit_v1_0_0Output"}},{"id":"core.deal.read","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Deal-Detail unter Prinzipal-JWT/RLS; Account-/Contact-Hydration laeuft ueber eigene Contracts.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.deal.read v1.0.0","supabase ud_deals.select under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read one Core deal by id.","description":"Loads one ud_deals row as the installation principal. RLS and organization_id filtering prevent cross-organization disclosure.","keywords":["chance","deal","detail","read"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.deal.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_deal_read_v1_0_0Input","output":"#/components/schemas/core_deal_read_v1_0_0Output"}},{"id":"core.deal.search","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Deal-Suche unter Prinzipal-JWT/RLS; keine Kanban-Sonderlogik.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.deal.search v1.0.0","supabase ud_deals.select under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Search Core deals visible to the current principal.","description":"Lists ud_deals in the current organization through RLS. The search covers deal name, next step and description.","keywords":["chance","deal","list","opportunity","search"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.deal.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_deal_search_v1_0_0Input","output":"#/components/schemas/core_deal_search_v1_0_0Output"}},{"id":"core.deal.upsert","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Deal-Create/Update mit deal_id-Update, Idempotency-Key, Dry-Run, Audit und Prinzipal-JWT/RLS.","live_verified":false,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract core.deal.upsert v1.2.0 (next_step max 255 wie ud_deals varchar(255), description max 10000)","supabase ud_deals insert/update under RLS"],"sources":["core","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.2.0","published_at":"2026-10-13T00:00:00Z","summary":"Create or update a Core deal through an idempotent contract.","description":"Writes ud_deals as the principal JWT. deal_id updates an existing deal; omitting it creates a new opportunity in the current organization.","keywords":["chance","create","deal","opportunity","update","upsert"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.deal.upsert.invoke","price_currency":"credits","price_credits":"0.02","price_formula":null,"price_basis":"Deal write price from calibration stage 2.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_deal_upsert_v1_2_0Input","output":"#/components/schemas/core_deal_upsert_v1_2_0Output"}},{"id":"core.disposition.assign","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Mitarbeiter einer Auftragsaufgabe festlegen. Lokale Tests; Live-Lifecycle und Live-Abnahme ausstehend.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.disposition.assign v1.0.0","Bestehende Core-API mit explizitem Organisationskontext"],"sources":["gateway","api","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Mitarbeiter einer Auftragsaufgabe festlegen","description":"Replaces the selected order task's assignees with active organization members through the existing disposition API. An empty array clears the assignment; does not send a notification.","keywords":["Auftragsaufgabe","Mitarbeiter","assign","core","core","disposition","einer","festlegen"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.disposition.assign.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_disposition_assign_v1_0_0Input","output":"#/components/schemas/core_disposition_assign_v1_0_0Output"}},{"id":"core.disposition.tasks","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Aufgaben für die Disposition lesen Scope core:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.disposition.tasks v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Aufgaben für die Disposition lesen","description":"Reads paginated operational tasks by date, state and assignment. Existing Core role restrictions apply.","keywords":["Aufgaben","Disposition","core","core","die","disposition","für","lesen","tasks"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.disposition.tasks.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_disposition_tasks_v1_0_0Input","output":"#/components/schemas/core_disposition_tasks_v1_0_0Output"}},{"id":"core.integration.analytics_goal.archive","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 9 Core-Verwaltung: Soft-Archive mit Idempotency, Audit, Dry-Run und core:write-Scope.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.integration.analytics_goal.archive v1.0.0","supabase ud_analytics_goals.update status=archived under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Archive one Analytics goal.","description":"Sets ud_analytics_goals.status to archived. This mirrors the UI's soft-delete behavior.","keywords":["analytics","archive","delete","goal"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.integration.analytics_goal.archive.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Analytics configuration write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_integration_analytics_goal_archive_v1_0_0Input","output":"#/components/schemas/core_integration_analytics_goal_archive_v1_0_0Output"}},{"id":"core.integration.analytics_goal.create","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 9 Core-Verwaltung: Goal-Create normalisiert event_name/page_path_contains wie der Core-UI-Service.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.integration.analytics_goal.create v1.0.0","supabase ud_analytics_goals.insert under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create one Analytics goal.","description":"Creates ud_analytics_goals for a property in the current organization. event_name and page_path_contains are normalized like the existing UI service.","keywords":["analytics","conversion","create","event","goal"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.integration.analytics_goal.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Analytics configuration write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_integration_analytics_goal_create_v1_0_0Input","output":"#/components/schemas/core_integration_analytics_goal_create_v1_0_0Output"}},{"id":"core.integration.analytics_goal.list","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 9 Core-Verwaltung: Read-only Goal-Liste, archived standardmaessig ausgeblendet.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.integration.analytics_goal.list v1.0.0","supabase ud_analytics_goals.select under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List Analytics goals for the current organization.","description":"Reads ud_analytics_goals under RLS. Results can be restricted to one property and archived goals are hidden by default.","keywords":["analytics","conversion","event","goal","list"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.integration.analytics_goal.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_integration_analytics_goal_list_v1_0_0Input","output":"#/components/schemas/core_integration_analytics_goal_list_v1_0_0Output"}},{"id":"core.integration.analytics_goal.update","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 9 Core-Verwaltung: Update editierbarer Goal-Felder; Property-Zuordnung bleibt serverseitig.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.integration.analytics_goal.update v1.0.0","supabase ud_analytics_goals.update under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Update one Analytics goal.","description":"Updates editable ud_analytics_goals fields under RLS. The goal remains attached to its original property.","keywords":["analytics","conversion","event","goal","update"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.integration.analytics_goal.update.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Analytics configuration write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_integration_analytics_goal_update_v1_0_0Input","output":"#/components/schemas/core_integration_analytics_goal_update_v1_0_0Output"}},{"id":"core.integration.analytics_property.archive","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 9 Core-Verwaltung: Soft-Archive statt Hard-Delete, analog UI.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.integration.analytics_property.archive v1.0.0","supabase ud_analytics_properties.update status=archived under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Archive one Analytics property.","description":"Sets ud_analytics_properties.status to archived. This follows the UI behavior and does not hard-delete tracking configuration.","keywords":["analytics","archive","delete","property"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.integration.analytics_property.archive.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Analytics configuration write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_integration_analytics_property_archive_v1_0_0Input","output":"#/components/schemas/core_integration_analytics_property_archive_v1_0_0Output"}},{"id":"core.integration.analytics_property.list","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 9 Core-Verwaltung: Read-only Property-Liste, archived standardmaessig ausgeblendet.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.integration.analytics_property.list v1.0.0","supabase ud_analytics_properties.select under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List Analytics properties for the current organization.","description":"Reads ud_analytics_properties under RLS and mirrors the existing Integrations Analytics section. Archived properties are hidden by default.","keywords":["analytics","integration","list","property","tracking"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.integration.analytics_property.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_integration_analytics_property_list_v1_0_0Input","output":"#/components/schemas/core_integration_analytics_property_list_v1_0_0Output"}},{"id":"core.integration.analytics_property.update","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 9 Core-Verwaltung: Update editierbarer Property-Felder; public_key/tracking_mode bleiben serververwaltet.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.integration.analytics_property.update v1.0.0","supabase ud_analytics_properties.update under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Update one Analytics property.","description":"Updates editable ud_analytics_properties fields under RLS. public_key and tracking_mode stay server-owned and are not accepted as input.","keywords":["analytics","property","tracking","update"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.integration.analytics_property.update.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Analytics configuration write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_integration_analytics_property_update_v1_0_0Input","output":"#/components/schemas/core_integration_analytics_property_update_v1_0_0Output"}},{"id":"core.link.delete","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Link-Delete mit Idempotency-Key, Audit, sb_user_id-Filter und Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.link.delete v1.0.0","supabase ud_links.delete under RLS"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Delete one Core link through RLS.","description":"Deletes one ud_links row by id as the principal user. The backing query filters sb_user_id and still runs through RLS.","keywords":["delete","link","remove","url"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.link.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_link_delete_v1_0_0Input","output":"#/components/schemas/core_link_delete_v1_0_0Output"}},{"id":"core.link.read","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Link-Detail unter Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.link.read v1.0.0","supabase ud_links.select under RLS"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read one Core link by id.","description":"Loads one ud_links row as the principal user. The backing query filters sb_user_id and still runs through RLS.","keywords":["detail","link","read","url"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.link.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_link_read_v1_0_0Input","output":"#/components/schemas/core_link_read_v1_0_0Output"}},{"id":"core.link.search","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Link-Suche unter Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.link.search v1.0.0","supabase ud_links.select under RLS"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Search Core links visible to the current principal.","description":"Lists ud_links for the principal user through RLS. The search covers name, URL and description.","keywords":["link","list","search","url","website"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.link.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_link_search_v1_0_0Input","output":"#/components/schemas/core_link_search_v1_0_0Output"}},{"id":"core.link.upsert","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Link-Create/Update mit link_id-Update, URL-Schema-Validierung, Idempotency-Key, Dry-Run, Audit und Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.link.upsert v1.0.0","supabase ud_links insert/update under RLS"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create or update a Core link through an idempotent contract.","description":"Writes ud_links as the principal JWT. link_id updates an existing link; omitting it creates a new link for the principal user. URL validation follows the existing UI guard: http, https, mailto or relative paths only.","keywords":["create","link","update","upsert","url","website"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.link.upsert.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_link_upsert_v1_0_0Input","output":"#/components/schemas/core_link_upsert_v1_0_0Output"}},{"id":"core.memo.delete","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Memo-Delete mit Idempotency-Key, Audit, sb_user_id-Filter und Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.memo.delete v1.0.0","supabase ud_memos.delete under RLS"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Delete one Core memo through RLS.","description":"Deletes one ud_memos row by id as the principal user. The backing query filters sb_user_id and still runs through RLS.","keywords":["delete","memo","merkzettel","remove"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.memo.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_memo_delete_v1_0_0Input","output":"#/components/schemas/core_memo_delete_v1_0_0Output"}},{"id":"core.memo.read","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Memo-Detail unter Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.memo.read v1.0.0","supabase ud_memos.select under RLS"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read one Core memo by id.","description":"Loads one ud_memos row as the principal user. The backing query filters sb_user_id and still runs through RLS.","keywords":["detail","memo","merkzettel","read"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.memo.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_memo_read_v1_0_0Input","output":"#/components/schemas/core_memo_read_v1_0_0Output"}},{"id":"core.memo.search","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Memo-Suche unter Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.memo.search v1.0.0","supabase ud_memos.select under RLS"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Search Core memos visible to the current principal.","description":"Lists ud_memos for the principal user through RLS. The search covers title and memo body.","keywords":["list","memo","merkzettel","search"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.memo.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_memo_search_v1_0_0Input","output":"#/components/schemas/core_memo_search_v1_0_0Output"}},{"id":"core.memo.upsert","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Memo-Create/Update mit memo_id-Update, Idempotency-Key, Dry-Run, Audit und Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.memo.upsert v1.0.0","supabase ud_memos insert/update under RLS"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create or update a Core memo through an idempotent contract.","description":"Writes ud_memos as the principal JWT. memo_id updates an existing memo; omitting it creates a new memo for the principal user.","keywords":["create","memo","merkzettel","update","upsert"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.memo.upsert.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_memo_upsert_v1_0_0Input","output":"#/components/schemas/core_memo_upsert_v1_0_0Output"}},{"id":"core.note.delete","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Note-Delete mit Idempotency-Key, Audit, organization_id-Filter und Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.note.delete v1.0.0","supabase ud_notes.delete under RLS"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Delete one Core note through RLS.","description":"Deletes one ud_notes row by note_id using the principal JWT and organization-scoped RLS query.","keywords":["delete","note","notiz","remove"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.note.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_note_delete_v1_0_0Input","output":"#/components/schemas/core_note_delete_v1_0_0Output"}},{"id":"core.note.read","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Note-Detail unter Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.note.read v1.0.0","supabase ud_notes.select under RLS"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read one Core note by note_id.","description":"Loads one ud_notes row through the principal JWT. The query is organization-scoped and remains subject to RLS.","keywords":["detail","note","notiz","read"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.note.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_note_read_v1_0_0Input","output":"#/components/schemas/core_note_read_v1_0_0Output"}},{"id":"core.note.search","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Note-Suche unter Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.note.search v1.1.0 (optional deal_id)","supabase ud_notes.select under RLS","supabase ud_entity_links.select note->deal under RLS"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":false,"version":"1.1.0","published_at":"2026-10-13T00:00:00Z","summary":"Search Core notes visible to the current principal.","description":"Lists ud_notes under the principal JWT and organization scope. The search covers title and note body. deal_id lists only the notes attached to that deal of the current organization.","keywords":["chance","deal","list","note","notiz","search"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.note.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_note_search_v1_1_0Input","output":"#/components/schemas/core_note_search_v1_1_0Output"}},{"id":"core.note.upsert","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Note-Create/Update mit note_id-Update, Idempotency-Key, Dry-Run, Audit und Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.note.upsert v1.1.0 (optional deal_id)","supabase ud_notes insert/update under RLS","supabase ud_entity_links upsert note->deal (relation_type deal) under RLS"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":false,"version":"1.1.0","published_at":"2026-10-13T00:00:00Z","summary":"Create or update a Core note through an idempotent contract.","description":"Writes ud_notes as the principal JWT. note_id updates an existing note; omitting it creates a new note with the current organization_id and principal user. deal_id attaches the note to a deal of the current organization through ud_entity_links (note -> deal); omitting it leaves existing links unchanged.","keywords":["chance","create","deal","markdown","note","notiz","update","upsert"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.note.upsert.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_note_upsert_v1_1_0Input","output":"#/components/schemas/core_note_upsert_v1_1_0Output"}},{"id":"core.order.create","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Auftrag anlegen Scope core:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.order.create v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Auftrag anlegen","description":"Creates a draft order with the existing account and date validations. Does not finalize billing or send a confirmation.","keywords":["Auftrag","anlegen","core","core","create","order"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.order.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_order_create_v1_0_0Input","output":"#/components/schemas/core_order_create_v1_0_0Output"}},{"id":"core.order.list","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Aufträge mit Arbeitsstand lesen Scope core:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.order.list v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Aufträge mit Arbeitsstand lesen","description":"Lists up to 500 current organization orders and their task summary through the existing Core API.","keywords":["Arbeitsstand","Aufträge","core","core","lesen","list","mit","order"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.order.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_order_list_v1_0_0Input","output":"#/components/schemas/core_order_list_v1_0_0Output"}},{"id":"core.order.read","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Auftrag mit Aufgaben und Zuweisungen lesen Scope core:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.order.read v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Auftrag mit Aufgaben und Zuweisungen lesen","description":"Reads a single organization order with its current tasks and assignments.","keywords":["Aufgaben","Auftrag","Zuweisungen","core","core","lesen","mit","order","read","und"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.order.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_order_read_v1_0_0Input","output":"#/components/schemas/core_order_read_v1_0_0Output"}},{"id":"core.order.task_create","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Aufgabe zu einem Auftrag anlegen Scope core:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.order.task_create v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Aufgabe zu einem Auftrag anlegen","description":"Adds an operational task to an existing order; member references are validated by Core in the selected organization.","keywords":["Aufgabe","Auftrag","anlegen","core","core","einem","order","task_create","zu"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.order.task_create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_order_task_create_v1_0_0Input","output":"#/components/schemas/core_order_task_create_v1_0_0Output"}},{"id":"core.org.billing_address.update","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 9 Core-Verwaltung: fokussierter Billing-Address-Contract fuer Banktransfer-Rechnungsdaten; org:manage-Scope.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.org.billing_address.update v1.0.0","supabase ud_organizations.update under RLS"],"sources":["core","documents","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Update the organization's billing address for wallet transfers.","description":"Updates the billing-address fields on ud_organizations exactly where the Core/Documents bank-transfer forms store invoice address data.","keywords":["address","banktransfer","billing","org","rechnung"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["org:manage"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.org.billing_address.update.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Organization billing-address write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_org_billing_address_update_v1_0_0Input","output":"#/components/schemas/core_org_billing_address_update_v1_0_0Output"}},{"id":"core.org.configure","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 4 Core-CRM: Firmendaten, Rechnungsadresse, Ziele und KI-Kontext in einem idempotenten Configure-Contract mit Dry-Run, Audit und org:manage-Scope.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract core.org.configure v1.0.0","supabase ud_organizations.update under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Configure company master data and AI context for the current org.","description":"Updates the active installation organization with the same company fields and AI context used by the Core UI. The write runs with the principal JWT under RLS; no bootstrap, membership or billing side effects are performed.","keywords":["company","configure","firmendaten","ki-kontext","org","organization"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["org:manage"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.org.configure.invoke","price_currency":"credits","price_credits":"0.02","price_formula":null,"price_basis":"Organization and AI-context configuration price from calibration stage 2.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_org_configure_v1_0_0Input","output":"#/components/schemas/core_org_configure_v1_0_0Output"}},{"id":"core.org.context.update","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 9 Core-Verwaltung: fokussierter KI-Kontext-Contract; breiter core.org.configure bleibt bestehen.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.org.context.update v1.0.0","supabase ud_organizations.update description under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Update the AI context text for the current organization.","description":"Updates ud_organizations.description for the installation organization. It is the focused contract for the Core UI's KI-Kontext field; broader company master data remains available through core.org.configure.","keywords":["ai","context","description","ki","kontext","org"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["org:manage"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.org.context.update.invoke","price_currency":"credits","price_credits":"0.02","price_formula":null,"price_basis":"AI-context update price from calibration stage 2.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_org_context_update_v1_0_0Input","output":"#/components/schemas/core_org_context_update_v1_0_0Output"}},{"id":"core.org.current.get","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Liest die an die Installation gebundene aktuelle Organisation und den Prinzipal-Kontext unter bestehender RLS; Live-Konformanz in TEST-AGENTREADY-LAUF2 am 2026-08-04 bestanden.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.org.current.get v1.0.0","supabase ud_organizations.select under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Return the current organization visible to the agent principal.","description":"Reads the active organization bound to the installation by using the principal JWT under the existing RLS model.","keywords":["current","org","organisation","organization","principal","rls"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent"],"required_scopes":["org:manage"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.org.current.get.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":5},"component_schemas":{"input":"#/components/schemas/core_org_current_get_v1_0_0Input","output":"#/components/schemas/core_org_current_get_v1_0_0Output"}},{"id":"core.process.archive","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: archive personal process records. Scope core:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.process.archive v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"archive personal process records.","description":"Uses the authenticated principal's own process records under RLS, matching the former personal Core tool. These legacy records are user-bound, not organization-bound. Owner and team assignment cannot be supplied. Archive sets prozess_status=4; it does not terminate a legal agreement or send a notification.","keywords":["Ablauf","Durchführung","Prozess","Prozesse","archive","processes"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.process.archive.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_process_archive_v1_0_0Input","output":"#/components/schemas/core_process_archive_v1_0_0Output"}},{"id":"core.process.create","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: create personal process records. Scope core:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.process.create v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"create personal process records.","description":"Uses the authenticated principal's own process records under RLS, matching the former personal Core tool. These legacy records are user-bound, not organization-bound. Owner and team assignment cannot be supplied. Archive sets prozess_status=4; it does not terminate a legal agreement or send a notification.","keywords":["Ablauf","Durchführung","Prozess","Prozesse","create","processes"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.process.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_process_create_v1_0_0Input","output":"#/components/schemas/core_process_create_v1_0_0Output"}},{"id":"core.process.read","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: read personal process records. Scope core:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.process.read v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"read personal process records.","description":"Uses the authenticated principal's own process records under RLS, matching the former personal Core tool. These legacy records are user-bound, not organization-bound. Owner and team assignment cannot be supplied. Archive sets prozess_status=4; it does not terminate a legal agreement or send a notification.","keywords":["Ablauf","Durchführung","Prozess","Prozesse","processes","read"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.process.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_process_read_v1_0_0Input","output":"#/components/schemas/core_process_read_v1_0_0Output"}},{"id":"core.process.search","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: search personal process records. Scope core:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.process.search v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"search personal process records.","description":"Uses the authenticated principal's own process records under RLS, matching the former personal Core tool. These legacy records are user-bound, not organization-bound. Owner and team assignment cannot be supplied. Archive sets prozess_status=4; it does not terminate a legal agreement or send a notification.","keywords":["Ablauf","Durchführung","Prozess","Prozesse","processes","search"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.process.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_process_search_v1_0_0Input","output":"#/components/schemas/core_process_search_v1_0_0Output"}},{"id":"core.process.update","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: update personal process records. Scope core:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.process.update v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"update personal process records.","description":"Uses the authenticated principal's own process records under RLS, matching the former personal Core tool. These legacy records are user-bound, not organization-bound. Owner and team assignment cannot be supplied. Archive sets prozess_status=4; it does not terminate a legal agreement or send a notification.","keywords":["Ablauf","Durchführung","Prozess","Prozesse","processes","update"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.process.update.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_process_update_v1_0_0Input","output":"#/components/schemas/core_process_update_v1_0_0Output"}},{"id":"core.real_estate_object.create","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Entities: Immobilienobjekt-Create unter RLS mit Idempotency-Key, Dry-Run und Audit.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.real_estate_object.create v1.0.0","supabase ud_real_estate_objects.insert under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create a real estate object through RLS.","description":"Creates ud_real_estate_objects using the fields from the Core UI. Optional initial links can be created through core.real_estate_object.link.create after the object exists.","keywords":["create","estate","immobilie","object","real"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.real_estate_object.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Real-estate object write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_real_estate_object_create_v1_0_0Input","output":"#/components/schemas/core_real_estate_object_create_v1_0_0Output"}},{"id":"core.real_estate_object.delete","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Entities: CRUD-Vollstaendigkeit fuer Immobilienobjekte; Delete ist high-risk, idempotent und dry-run-faehig.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.real_estate_object.delete v1.0.0","supabase ud_real_estate_objects.delete under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Delete a real estate object through RLS.","description":"Deletes one ud_real_estate_objects row by id. This destructive operation is exposed for CRUD completeness and must be run with an idempotency key.","keywords":["delete","estate","immobilie","object","real","remove"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.real_estate_object.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Real-estate object write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_real_estate_object_delete_v1_0_0Input","output":"#/components/schemas/core_real_estate_object_delete_v1_0_0Output"}},{"id":"core.real_estate_object.link.create","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Entities: Verknuepft Immobilienobjekte mit Account, Kontakt oder Deal ueber den bestehenden eindeutigen entity_links-Key.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.real_estate_object.link.create v1.0.0","supabase ud_entity_links insert/upsert under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Link a real estate object to an account, contact or deal.","description":"Creates or merges an ud_entity_links relation from a real estate object to an account, contact or deal under RLS.","keywords":["account","contact","deal","estate","immobilie","link","real"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.real_estate_object.link.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Entity link write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_real_estate_object_link_create_v1_0_0Input","output":"#/components/schemas/core_real_estate_object_link_create_v1_0_0Output"}},{"id":"core.real_estate_object.link.delete","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Entities: Entfernt eine Immobilienobjekt-Verknuepfung unter RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.real_estate_object.link.delete v1.0.0","supabase ud_entity_links.delete under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Delete a real estate object entity link.","description":"Deletes one ud_entity_links row by id, constrained to the installation organization and real_estate_object source links.","keywords":["delete","estate","immobilie","link","real","unlink"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.real_estate_object.link.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Entity link write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_real_estate_object_link_delete_v1_0_0Input","output":"#/components/schemas/core_real_estate_object_link_delete_v1_0_0Output"}},{"id":"core.real_estate_object.read","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Entities: Detail-Read inklusive gespeicherter pricehubble-JSON-Zusammenfassung, ohne Provider-Aufruf.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.real_estate_object.read v1.0.0","supabase ud_real_estate_objects.select maybeSingle under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read one real estate object through RLS.","description":"Reads one ud_real_estate_objects row by id. Stored PriceHubble summaries may be present in the pricehubble JSON field; no external provider is called.","keywords":["anzeigen","detail","estate","immobilie","immobilienobjekt","object","objekt","read","real"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.real_estate_object.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_real_estate_object_read_v1_0_0Input","output":"#/components/schemas/core_real_estate_object_read_v1_0_0Output"}},{"id":"core.real_estate_object.search","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Entities: Suche ueber Titel/Adressfelder mit Statusfilter und RLS-Org-Grenze.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.real_estate_object.search v1.0.0","supabase ud_real_estate_objects.select (ilike, range) under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Search real estate objects visible to the current organization.","description":"Searches ud_real_estate_objects through RLS. The result can be filtered by status and query text over title and address fields.","keywords":["anzeigen","estate","immobilie","immobilien","immobilienobjekt","list","liste","object","objekt","real","search","suchen"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.real_estate_object.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_real_estate_object_search_v1_0_0Input","output":"#/components/schemas/core_real_estate_object_search_v1_0_0Output"}},{"id":"core.real_estate_object.update","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Entities: Update der UI-Felder; pricehubble-JSON bleibt ausschliesslich Provider-/Preflight-Thema.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.real_estate_object.update v1.0.0","supabase ud_real_estate_objects.update under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Update a real estate object through RLS.","description":"Updates ud_real_estate_objects by id. The PriceHubble result JSON is intentionally not writable through this generic update contract.","keywords":["estate","immobilie","object","real","update"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.real_estate_object.update.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Real-estate object write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_real_estate_object_update_v1_0_0Input","output":"#/components/schemas/core_real_estate_object_update_v1_0_0Output"}},{"id":"core.research_import.apply","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Geprüfte Recherchekandidaten importieren Scope core:write; approval=always. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.research_import.apply v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Geprüfte Recherchekandidaten importieren","description":"Operates on the installation organization's Core sales data with the principal JWT and RLS. Product-context versions and qualification timestamps prevent stale edits. Locked accounts are excluded from candidates/import. Research v1 imports accept at most 20 candidates per call, preserve provenance, resume deterministically and never overwrite existing manual assessments. No contact or email is sent. Candidate pages are ordered by stable ID; use priority/manual_priority to choose the next action.","keywords":["Bewertung","Priorität","Produkt","Recherche","Vertrieb","apply","core","core","research_import"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.research_import.apply.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_research_import_apply_v1_0_0Input","output":"#/components/schemas/core_research_import_apply_v1_0_0Output"}},{"id":"core.research_import.preview","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Rechercheimport mit Firmenbestand abgleichen Scope core:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.research_import.preview v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Rechercheimport mit Firmenbestand abgleichen","description":"Operates on the installation organization's Core sales data with the principal JWT and RLS. Product-context versions and qualification timestamps prevent stale edits. Locked accounts are excluded from candidates/import. Research v1 imports accept at most 20 candidates per call, preserve provenance, resume deterministically and never overwrite existing manual assessments. No contact or email is sent. Candidate pages are ordered by stable ID; use priority/manual_priority to choose the next action.","keywords":["Bewertung","Priorität","Produkt","Recherche","Vertrieb","core","core","preview","research_import"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.research_import.preview.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_research_import_preview_v1_0_0Input","output":"#/components/schemas/core_research_import_preview_v1_0_0Output"}},{"id":"core.sales_assessment.list","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Produktbewertungen einer Firma lesen Scope core:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.sales_assessment.list v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Produktbewertungen einer Firma lesen","description":"Operates on the installation organization's Core sales data with the principal JWT and RLS. Product-context versions and qualification timestamps prevent stale edits. Locked accounts are excluded from candidates/import. Research v1 imports accept at most 20 candidates per call, preserve provenance, resume deterministically and never overwrite existing manual assessments. No contact or email is sent. Candidate pages are ordered by stable ID; use priority/manual_priority to choose the next action.","keywords":["Bewertung","Priorität","Produkt","Recherche","Vertrieb","core","core","list","sales_assessment"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.sales_assessment.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_sales_assessment_list_v1_0_0Input","output":"#/components/schemas/core_sales_assessment_list_v1_0_0Output"}},{"id":"core.sales_assessment.save","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Produktpassung einer Firma bewerten Scope core:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.sales_assessment.save v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Produktpassung einer Firma bewerten","description":"Operates on the installation organization's Core sales data with the principal JWT and RLS. Product-context versions and qualification timestamps prevent stale edits. Locked accounts are excluded from candidates/import. Research v1 imports accept at most 20 candidates per call, preserve provenance, resume deterministically and never overwrite existing manual assessments. No contact or email is sent. Candidate pages are ordered by stable ID; use priority/manual_priority to choose the next action.","keywords":["Bewertung","Priorität","Produkt","Recherche","Vertrieb","core","core","sales_assessment","save"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.sales_assessment.save.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_sales_assessment_save_v1_0_0Input","output":"#/components/schemas/core_sales_assessment_save_v1_0_0Output"}},{"id":"core.sales_candidate.list","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Vertriebskandidaten ohne gesperrte Firmen lesen Scope core:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.sales_candidate.list v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Vertriebskandidaten ohne gesperrte Firmen lesen","description":"Operates on the installation organization's Core sales data with the principal JWT and RLS. Product-context versions and qualification timestamps prevent stale edits. Locked accounts are excluded from candidates/import. Research v1 imports accept at most 20 candidates per call, preserve provenance, resume deterministically and never overwrite existing manual assessments. No contact or email is sent. Candidate pages are ordered by stable ID; use priority/manual_priority to choose the next action.","keywords":["Bewertung","Priorität","Produkt","Recherche","Vertrieb","core","core","list","sales_candidate"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.sales_candidate.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_sales_candidate_list_v1_0_0Input","output":"#/components/schemas/core_sales_candidate_list_v1_0_0Output"}},{"id":"core.sales_priority.set","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Manuelle Vertriebspriorität begründet setzen Scope core:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.sales_priority.set v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Manuelle Vertriebspriorität begründet setzen","description":"Operates on the installation organization's Core sales data with the principal JWT and RLS. Product-context versions and qualification timestamps prevent stale edits. Locked accounts are excluded from candidates/import. Research v1 imports accept at most 20 candidates per call, preserve provenance, resume deterministically and never overwrite existing manual assessments. No contact or email is sent. Candidate pages are ordered by stable ID; use priority/manual_priority to choose the next action.","keywords":["Bewertung","Priorität","Produkt","Recherche","Vertrieb","core","core","sales_priority","set"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.sales_priority.set.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_sales_priority_set_v1_0_0Input","output":"#/components/schemas/core_sales_priority_set_v1_0_0Output"}},{"id":"core.sales_product.create","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Eigene Leistung mit Vertriebsgrundlagen anlegen Scope core:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.sales_product.create v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Eigene Leistung mit Vertriebsgrundlagen anlegen","description":"Operates on the installation organization's Core sales data with the principal JWT and RLS. Product-context versions and qualification timestamps prevent stale edits. Locked accounts are excluded from candidates/import. Research v1 imports accept at most 20 candidates per call, preserve provenance, resume deterministically and never overwrite existing manual assessments. No contact or email is sent. Candidate pages are ordered by stable ID; use priority/manual_priority to choose the next action.","keywords":["Bewertung","Priorität","Produkt","Recherche","Vertrieb","core","core","create","sales_product"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.sales_product.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_sales_product_create_v1_0_0Input","output":"#/components/schemas/core_sales_product_create_v1_0_0Output"}},{"id":"core.sales_product.list","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Eigene Produkte und Vertriebsgrundlagen lesen Scope core:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.sales_product.list v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Eigene Produkte und Vertriebsgrundlagen lesen","description":"Operates on the installation organization's Core sales data with the principal JWT and RLS. Product-context versions and qualification timestamps prevent stale edits. Locked accounts are excluded from candidates/import. Research v1 imports accept at most 20 candidates per call, preserve provenance, resume deterministically and never overwrite existing manual assessments. No contact or email is sent. Candidate pages are ordered by stable ID; use priority/manual_priority to choose the next action.","keywords":["Bewertung","Priorität","Produkt","Recherche","Vertrieb","core","core","list","sales_product"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.sales_product.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_sales_product_list_v1_0_0Input","output":"#/components/schemas/core_sales_product_list_v1_0_0Output"}},{"id":"core.sales_product.update","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Produkt und Vertriebsgrundlagen versionsgebunden ändern Scope core:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.sales_product.update v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Produkt und Vertriebsgrundlagen versionsgebunden ändern","description":"Operates on the installation organization's Core sales data with the principal JWT and RLS. Product-context versions and qualification timestamps prevent stale edits. Locked accounts are excluded from candidates/import. Research v1 imports accept at most 20 candidates per call, preserve provenance, resume deterministically and never overwrite existing manual assessments. No contact or email is sent. Candidate pages are ordered by stable ID; use priority/manual_priority to choose the next action.","keywords":["Bewertung","Priorität","Produkt","Recherche","Vertrieb","core","core","sales_product","update"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.sales_product.update.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_sales_product_update_v1_0_0Input","output":"#/components/schemas/core_sales_product_update_v1_0_0Output"}},{"id":"core.service_assignment.assign","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Mitarbeiter eines Serviceeinsatzes festlegen Scope core:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.service_assignment.assign v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Mitarbeiter eines Serviceeinsatzes festlegen","description":"Replaces the assignment's user links with the exact supplied set. Terminal assignments remain protected; an empty set clears user assignments.","keywords":["Mitarbeiter","Serviceeinsatzes","assign","core","core","eines","festlegen","service_assignment"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.service_assignment.assign.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_service_assignment_assign_v1_0_0Input","output":"#/components/schemas/core_service_assignment_assign_v1_0_0Output"}},{"id":"core.service_assignment.assignable_users","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Verfügbare Mitarbeiter für Serviceeinsätze lesen Scope core:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.service_assignment.assignable_users v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Verfügbare Mitarbeiter für Serviceeinsätze lesen","description":"Lists assignable organization members and employees using existing Core role and membership checks.","keywords":["Mitarbeiter","Serviceeinsätze","Verfügbare","assignable_users","core","core","für","lesen","service_assignment"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.service_assignment.assignable_users.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_service_assignment_assignable_users_v1_0_0Input","output":"#/components/schemas/core_service_assignment_assignable_users_v1_0_0Output"}},{"id":"core.service_assignment.create","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Serviceeinsatz planen Scope core:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.service_assignment.create v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Serviceeinsatz planen","description":"Creates an operational assignment through Core, keeping organization, target, assignee and scheduling validation. Does not bypass report or terminal-state guards.","keywords":["Serviceeinsatz","core","core","create","planen","service_assignment"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.service_assignment.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_service_assignment_create_v1_0_0Input","output":"#/components/schemas/core_service_assignment_create_v1_0_0Output"}},{"id":"core.service_assignment.read","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Serviceeinsatz mit Anforderungen lesen Scope core:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.service_assignment.read v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Serviceeinsatz mit Anforderungen lesen","description":"Reads the assignment detail bundle, including current report requirements and status. Does not change the assignment.","keywords":["Anforderungen","Serviceeinsatz","core","core","lesen","mit","read","service_assignment"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.service_assignment.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_service_assignment_read_v1_0_0Input","output":"#/components/schemas/core_service_assignment_read_v1_0_0Output"}},{"id":"core.service_assignment.report_configure","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Berichtsanforderung eines Serviceeinsatzes festlegen. Lokale Tests; Live-Lifecycle und Live-Abnahme ausstehend.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.service_assignment.report_configure v1.0.0","Bestehende Core-API mit explizitem Organisationskontext"],"sources":["gateway","api","core"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Berichtsanforderung eines Serviceeinsatzes festlegen","description":"Configures the versioned report template and requirement through the existing Core endpoint. Role checks, immutable template versions, existing reports and terminal assignment guards remain authoritative. This does not submit or sign a report.","keywords":["Berichtsanforderung","Serviceeinsatzes","core","core","eines","festlegen","report_configure","service_assignment"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.service_assignment.report_configure.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_service_assignment_report_configure_v1_0_0Input","output":"#/components/schemas/core_service_assignment_report_configure_v1_0_0Output"}},{"id":"core.service_assignment.search","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Serviceeinsätze suchen Scope core:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.service_assignment.search v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Serviceeinsätze suchen","description":"Lists service assignments with their current status and assignees, scoped to the installation organization.","keywords":["Serviceeinsätze","core","core","search","service_assignment","suchen"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.service_assignment.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_service_assignment_search_v1_0_0Input","output":"#/components/schemas/core_service_assignment_search_v1_0_0Output"}},{"id":"core.service_assignment.set_status","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Arbeitsstand eines Serviceeinsatzes ändern Scope core:write; approval=always. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.service_assignment.set_status v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Arbeitsstand eines Serviceeinsatzes ändern","description":"Sets status through the existing Core management endpoint; current write/report guards remain authoritative. Read the assignment before requesting a transition.","keywords":["Arbeitsstand","Serviceeinsatzes","core","core","eines","service_assignment","set_status","ändern"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.service_assignment.set_status.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_service_assignment_set_status_v1_0_0Input","output":"#/components/schemas/core_service_assignment_set_status_v1_0_0Output"}},{"id":"core.service_assignment.target_options","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Mögliche Einsatzorte suchen Scope core:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract core.service_assignment.target_options v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Mögliche Einsatzorte suchen","description":"Searches existing accessible assignment targets; use returned target kind and ID when creating an assignment.","keywords":["Einsatzorte","Mögliche","core","core","service_assignment","suchen","target_options"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.service_assignment.target_options.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/core_service_assignment_target_options_v1_0_0Input","output":"#/components/schemas/core_service_assignment_target_options_v1_0_0Output"}},{"id":"core.task.delete","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 4 Core-CRM: strukturierter Delete-Contract mit Idempotency-Key, Dry-Run, Audit und Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.task.delete v1.0.0","supabase ud_tasks.delete under RLS"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Delete one Core task through RLS.","description":"Deletes a task by task_id as the installation principal. RLS ensures that only tasks visible to the principal can be removed.","keywords":["aufgabe","delete","remove","task"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.task.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_task_delete_v1_0_0Input","output":"#/components/schemas/core_task_delete_v1_0_0Output"}},{"id":"core.task.search","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 4 Core-CRM: Read-Contract fuer Aufgabenliste/-suche; Account-Bezug nutzt vorhandenen Core-Endpunkt, sonst RLS-Read.","live_verified":false,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.task.search v1.1.0 (v1.0.0 kompatibel)","supabase ud_tasks.select under RLS","POST /core/tasks/account/list"],"sources":["core","agent","api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.2.0","published_at":"2026-10-14T00:00:00Z","summary":"Aufgaben auflisten, suchen oder einzeln lesen: allgemeine Aufgabenliste in Core, optional nur offene","description":"Lists visible tasks through RLS, newest change first. active_only returns only open tasks (status empty, 1 = offen or 2 = in Arbeit); 3 = erledigt and 4 = abgebrochen are excluded. query searches name, description and note and combines with active_only. task_id reads exactly one task. account_id lists the tasks of one customer through the existing /core/tasks/account/list endpoint. assigned_to_me lists the open tasks handed to the principal in the current organization, with who handed them over (assigned_by) and the handover note.","keywords":["account","anzeigen","assigned","aufgabe","aufgaben","aufgabenliste","auflisten","lesen","list","mir","offen","offene","read","search","suchen","task","todo","zugewiesen","übergeben"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.task.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_task_search_v1_2_0Input","output":"#/components/schemas/core_task_search_v1_2_0Output"}},{"id":"core.task.upsert","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 4 Core-CRM: Aufgabe-Create/Update mit Idempotency-Key; Account-verknuepfte Creates nutzen vorhandenen Core-Endpunkt, sonst RLS-Write mit Prinzipal-JWT.","live_verified":false,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.task.upsert v1.1.0 (v1.0.0 kompatibel)","supabase ud_tasks insert/update under RLS","POST /core/tasks/account/create"],"sources":["core","agent","api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.2.0","published_at":"2026-10-14T00:00:00Z","summary":"Aufgabe anlegen, ändern oder erledigen: allgemeine Aufgabenliste in Core, optional an einen Kunden gebunden","description":"Creates a new task when task_id is omitted (task_name required) and updates the existing task when task_id is present (send only the fields to change). Status values: 1 = offen, 2 = in Arbeit, 3 = erledigt, 4 = abgebrochen; to complete a task send task_id with status 3. Priority: 1 = wichtig und dringend, 2 = wichtig, 3 = dringend, 4 = normal. account_id binds the task to a customer: on create through the existing /core/tasks/account/create endpoint, on update through /core/tasks/account/link (replaces an earlier customer). New tasks without account_id belong to the current organization. Handover: assignee=owner hands the task to the organization's owner, assignee_member_id to another member of the same organization; the person becomes the primary assignee and finds it with core.task.search assigned_to_me. That person may set the status of a handed task (task_id with only status 2, 3 or 4) even without other change rights. Only organization tasks the principal may change can be handed over. Use this for any to-do of the user; core.order.task_create only for a task of one specific order. Direct task writes use the principal JWT under RLS.","keywords":["abschliessen","account","anlegen","assign","aufgabe","aufgaben","aufgabenliste","chef","complete","create","erledigen","erledigt","erstellen","handover","inhaber","markieren","notieren","status","task","todo","update","upsert","weiterleiten","zuweisen","ändern","übergabe","übergeben"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.task.upsert.invoke","price_currency":"credits","price_credits":"0.02","price_formula":null,"price_basis":"Task write price from calibration stage 2.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_task_upsert_v1_2_0Input","output":"#/components/schemas/core_task_upsert_v1_2_0Output"}},{"id":"core.vendor.delete","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Vendor-Delete mit Idempotency-Key, Audit, organization_id-Filter und Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.vendor.delete v1.0.0","supabase ud_vendors.delete under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Delete one Core vendor through RLS.","description":"Deletes one ud_vendors row by id as the installation principal. The backing query is organization-scoped and still runs through RLS.","keywords":["delete","lieferant","remove","vendor"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.vendor.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_vendor_delete_v1_0_0Input","output":"#/components/schemas/core_vendor_delete_v1_0_0Output"}},{"id":"core.vendor.read","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Vendor-Detail unter Prinzipal-JWT/RLS; Contact-Hydration laeuft ueber Contact-Contracts.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.vendor.read v1.0.0","supabase ud_vendors.select under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read one Core vendor by id.","description":"Loads one ud_vendors row as the installation principal. RLS and organization_id filtering prevent cross-organization disclosure.","keywords":["detail","lieferant","read","vendor"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.vendor.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_vendor_read_v1_0_0Input","output":"#/components/schemas/core_vendor_read_v1_0_0Output"}},{"id":"core.vendor.search","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Vendor-Suche mit optionalem active_only-Filter unter Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.vendor.search v1.0.0","supabase ud_vendors.select under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Search Core vendors visible to the current principal.","description":"Lists ud_vendors in the current organization through RLS. The search covers name, contact person and email.","keywords":["lieferant","list","search","supplier","vendor"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.vendor.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/core_vendor_search_v1_0_0Input","output":"#/components/schemas/core_vendor_search_v1_0_0Output"}},{"id":"core.vendor.upsert","domain":"core","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Core-Collections: Vendor-Create/Update mit vendor_id-Update, Idempotency-Key, Dry-Run, Audit und Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract core.vendor.upsert v1.0.0","supabase ud_vendors insert/update under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create or update a Core vendor through an idempotent contract.","description":"Writes ud_vendors as the principal JWT. vendor_id updates an existing vendor; omitting it creates a new supplier in the current organization.","keywords":["create","lieferant","supplier","update","upsert","vendor"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.core.vendor.upsert.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/core_vendor_upsert_v1_0_0Input","output":"#/components/schemas/core_vendor_upsert_v1_0_0Output"}},{"id":"documents.capability.get","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Documents-Rest: canArchive-Gate ueber bestehenden Endpoint mit Prinzipal-JWT.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract documents.capability.get v1.0.0","POST /documents/capabilities"],"sources":["documents","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read Documents feature gates for the current organization.","description":"Calls /documents/capabilities with the principal JWT and returns the archive gate used by the existing Documents UI, including the paid-deposit requirement for long-term archiving.","keywords":["archive","canArchive","capability","deposit","document","gate"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.capability.get.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/documents_capability_get_v1_0_0Input","output":"#/components/schemas/documents_capability_get_v1_0_0Output"}},{"id":"documents.document_asset.download_url","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Additive Read-Capability fuer eine kurzlebige Download-URL zu einem abgeleiteten visuellen Dokument-Asset; Organisation, Elterndokument, Interpretation und opaque asset_id werden serverseitig exakt gebunden.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["Gateway Contract documents.document_asset.download_url v1.0.0","POST /documents/visual-asset/download-url"],"sources":["documents","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-20T23:30:00Z","summary":"Create a short-lived signed download URL for one visual document asset.","description":"Calls the canonical /documents/visual-asset/download-url endpoint with the principal JWT. The document, interpretation and opaque asset identifiers bind the request to one tenant-visible derived visual asset; storage buckets, object keys and unsigned URLs are never accepted or returned.","keywords":["document","download","grundriss","image","signed url","visual asset"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.document_asset.download_url.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Visual document asset download URL price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/documents_document_asset_download_url_v1_0_0Input","output":"#/components/schemas/documents_document_asset_download_url_v1_0_0Output"}},{"id":"documents.document.archive","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Documents-Rest: GoBD-nahe Finalarchivierung mit risk=critical, dry_run required, Approval always, Billing-Estimate und Gateway-Idempotency; bestehende Backend-Pipeline bleibt fuehrend.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["Gateway Contract documents.document.archive v1.0.0","POST /documents/classification","POST /documents/archive"],"sources":["documents","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Final-archive a document with GoBD-style retention protection.","description":"Persists the requested retention metadata through /documents/classification when supplied, then calls the existing /documents/archive endpoint with the principal JWT. Work-bucket documents are moved into the archive bucket, object-lock retention is applied, and the existing backend charges archive credits. Already archived documents use the same endpoint only to extend retention; retention is never removed or shortened.","keywords":["ablegen","archive","archivieren","document","dokument","gobd","object-lock","retention","revisionssicher"],"risk_level":"critical","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"always","dry_run":"required","billing":{"cost_class":"metered","preflight":"estimate","usage_event":"documents_archive_commit_credits","price_currency":"credits","price_credits":null,"price_formula":{"type":"tiered_per_event","default_credits":"0.49","tiers":[{"from_monthly_count":1,"credits":"0.49"},{"from_monthly_count":251,"credits":"0.29"},{"from_monthly_count":2500,"credits":"0.19"}]},"price_basis":"GoBD archive tiered price; preflight charges the default first-tier price until monthly tier counters are available.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/documents_document_archive_v1_0_0Input","output":"#/components/schemas/documents_document_archive_v1_0_0Output"}},{"id":"documents.document.classify","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; Live-Konformanz LAUF2 am 2026-07-03 bestanden: Dokument nach Upload/List/Search erfolgreich als invoice klassifiziert.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["POST /documents/classification"],"sources":["documents","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Update document classification and retention metadata.","description":"Calls the existing /documents/classification endpoint with the principal JWT. Archived documents keep the existing retention guard: retention may not be removed or shortened.","keywords":["aufbewahrung","classification","classify","document","retention"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.document.classify.invoke","price_currency":"credits","price_credits":"0.02","price_formula":null,"price_basis":"Document classification price from calibration stage 2.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/documents_document_classify_v1_0_0Input","output":"#/components/schemas/documents_document_classify_v1_0_0Output"}},{"id":"documents.document.delete","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Documents-Rest: Delete nur fuer Work-Bucket-Dokumente; archivierte Dokumente werden vor Backend-Delete strukturiert abgelehnt, dry_run required und Approval always.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["Gateway Contract documents.document.delete v1.0.0","POST /documents/delete"],"sources":["documents","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Delete a non-archived work-bucket document.","description":"Deletes a document through the existing /documents/delete endpoint with the principal JWT. The backend only allows work-bucket documents; archived documents are GoBD-protected and are rejected before deletion.","keywords":["delete","document","gobd","loeschen","remove","work-bucket"],"risk_level":"critical","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"always","dry_run":"required","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.document.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"CRUD write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/documents_document_delete_v1_0_0Input","output":"#/components/schemas/documents_document_delete_v1_0_0Output"}},{"id":"documents.document.download_url","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; Live-Konformanz LAUF2 am 2026-07-03 bestanden: signierte Download-URL fuer das Testdokument erzeugt, URL im Report redigiert.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["POST /documents/download-url"],"sources":["core","documents","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create a short-lived signed download URL for a document.","description":"Calls the existing /documents/download-url endpoint with the principal JWT. The signed URL is short-lived and the endpoint first verifies document visibility in the effective organization.","keywords":["document","download","herunterladen","preview","signed","url"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.document.download_url.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Download URL price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/documents_document_download_url_v1_0_0Input","output":"#/components/schemas/documents_document_download_url_v1_0_0Output"}},{"id":"documents.document.link","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; Live-Konformanz LAUF2 am 2026-07-03 bestanden: Dokument unter Prinzipal-RLS mit Core-Account verlinkt.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase ud_document_links.upsert"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Link a document to an existing business record under RLS.","description":"Upserts one row into ud_document_links as the principal JWT using the existing unique key organization_id, document_id, resource_kind, resource_id and role. It does not create new tables or bypass RLS.","keywords":["connect","document","link","record","resource","verknuepfen"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.document.link.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Document link write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/documents_document_link_v1_0_0Input","output":"#/components/schemas/documents_document_link_v1_0_0Output"}},{"id":"documents.document.list","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Read-Contract v1.0.0 im Gateway; Live-Konformanz LAUF2 am 2026-07-03 bestanden: Dokumentliste unter Prinzipal-JWT liefert das erzeugte Testdokument.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["POST /documents/list","rpc filter_documents"],"sources":["documents","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List documents visible to the current principal.","description":"Calls /documents/list with the principal JWT and returns the existing paged archive response. This is the read-contract companion to documents.document.search for agents that need deterministic pagination without a query.","keywords":["archive","browse","document","list","liste","paging"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.document.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/documents_document_list_v1_0_0Input","output":"#/components/schemas/documents_document_list_v1_0_0Output"}},{"id":"documents.document.read","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Read-Contract v2.1.0 im Gateway: liest Volltext/OCR-Preview, Metadaten und streng begrenzte visuelle Asset-Referenzen eines einzelnen Dokuments unter Prinzipal-RLS; keine Storage-Locators oder direkten URLs.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase ud_documents.select (RLS Prinzipal-JWT)"],"sources":["documents","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"2.1.0","published_at":"2026-07-20T23:30:00Z","summary":"Read canonical V2 OCR, understanding, validated facts and visual assets for one document.","description":"Calls the canonical /documents/read API under the principal JWT. The API owns tenant resolution, OCR source fallback and V2 interpretation selection; the gateway only applies a second bounded allowlist before returning OCR, visual understanding, validated facts and opaque visual-asset references. This additive contract assumes the canonical API exposes those references as understanding.visual_assets with bounded pagination metadata. It never exposes buckets, object keys or asset URLs. Documents without usable OCR or a completed V2 interpretation remain readable with text_source=none and understanding=null. Direct database projections and legacy read versions are not part of the runtime catalog.","keywords":["content","document","dokument","inhalt","lesen","ocr","read","text","unterlage","unterlagen"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.document.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/documents_document_read_v2_1_0Input","output":"#/components/schemas/documents_document_read_v2_1_0Output"}},{"id":"documents.document.retention_extend","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Documents-Rest: Retention-Upgrade 6->8->10 Jahre mit Vorpruefung, dry_run required, Approval always und bestehendem Archive-Endpoint fuer Object-Lock-Verlaengerung.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["Gateway Contract documents.document.retention_extend v1.0.0","POST /documents/classification","POST /documents/archive"],"sources":["documents","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Extend retention protection for an archived document.","description":"Updates an archived document to a longer retention class/date through /documents/classification and then calls /documents/archive so the existing backend extends object-lock retention on the archive objects. The handler rejects equal or shorter retention before invoking the backend when current document metadata is readable under RLS.","keywords":["archivschutz","document","extend","object-lock","retention","verlaengern"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"always","dry_run":"required","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Documents charges only the first archive move; retention extensions up to the supported ten-year maximum are free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/documents_document_retention_extend_v1_0_0Input","output":"#/components/schemas/documents_document_retention_extend_v1_0_0Output"}},{"id":"documents.document.search","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; Live-Konformanz LAUF2 am 2026-07-03 bestanden: Suche findet das erzeugte Testdokument unter Prinzipal-JWT.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["POST /documents/search","rpc filter_documents"],"sources":["core","documents","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.1.0","published_at":"2026-07-17T12:00:00Z","summary":"Search processed documents through the existing Documents search endpoint.","description":"Calls /documents/search with the principal JWT and the installation-bound organization. It normalizes the canonical paged response and legacy array responses while exposing stable pagination and source-aware visual-understanding metadata when the upstream search provides it.","keywords":["document","dokument","dokumente","durchsuchen","find","query","rag","search","suche","suchen","unterlage","unterlagen"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.document.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/documents_document_search_v1_1_0Input","output":"#/components/schemas/documents_document_search_v1_1_0Output"}},{"id":"documents.document.upload","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; Live-Konformanz LAUF2 am 2026-07-03 bestanden: Dry-Run, Upload und Job-Anlage erfolgreich; gemeldete Upload-Kosten 0.09 Credits.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["POST /documents/upload","POST /documents/jobs"],"sources":["core","documents","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Upload a document into the existing Documents processing pipeline.","description":"Accepts one base64 encoded file, forwards it as multipart/form-data to the existing /documents/upload endpoint with the principal JWT, and returns either a created file job or the server-side duplicate match. The existing endpoint computes a SHA-256 content hash, deduplicates by organization, charges 0.09 credits only for new processing jobs, and prepares optional upload link context.","keywords":["dedupe","document","duplicate","file","hochladen","processing","upload"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"conditional","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"documents_upload_processing_credits","price_currency":"credits","price_credits":"0.09","price_formula":null,"price_basis":"Document upload and processing price from calibration stage 3.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/documents_document_upload_v1_0_0Input","output":"#/components/schemas/documents_document_upload_v1_0_0Output"}},{"id":"documents.export_connection.list","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: DATEV Exportverbindungen und Ziele lesen Scope documents:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.export_connection.list v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"DATEV Exportverbindungen und Ziele lesen","description":"Reads the organization's existing DATEV export connections and targets; API permissions determine visible configuration.","keywords":["DATEV","Exportverbindungen","Ziele","documents","documents","export_connection","lesen","list","und"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.export_connection.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_export_connection_list_v1_0_0Input","output":"#/components/schemas/documents_export_connection_list_v1_0_0Output"}},{"id":"documents.export_connection.save","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: DATEV Exportverbindung konfigurieren Scope documents:write; approval=always. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.export_connection.save v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"DATEV Exportverbindung konfigurieren","description":"Creates or updates an existing DATEV upload-mail connection and its targets through the Documents API. Only valid DATEV target addresses are accepted. Changing active configuration can affect queued and future deliveries.","keywords":["DATEV","Exportverbindung","documents","documents","export_connection","konfigurieren","save"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.export_connection.save.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_export_connection_save_v1_0_0Input","output":"#/components/schemas/documents_export_connection_save_v1_0_0Output"}},{"id":"documents.export_rule.list","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Automatische DATEV Vorgangsregeln lesen Scope documents:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.export_rule.list v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Automatische DATEV Vorgangsregeln lesen","description":"Reads configured stack export rules without activating or running them.","keywords":["Automatische","DATEV","Vorgangsregeln","documents","documents","export_rule","lesen","list"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.export_rule.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_export_rule_list_v1_0_0Input","output":"#/components/schemas/documents_export_rule_list_v1_0_0Output"}},{"id":"documents.export_rule.save","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Automatische DATEV Vorgangsregel konfigurieren Scope documents:write; approval=always. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.export_rule.save v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Automatische DATEV Vorgangsregel konfigurieren","description":"Sets the export rule for a stack and existing destination. Active rules authorize future automatic delivery of matching documents; requires approval.","keywords":["Automatische","DATEV","Vorgangsregel","documents","documents","export_rule","konfigurieren","save"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.export_rule.save.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_export_rule_save_v1_0_0Input","output":"#/components/schemas/documents_export_rule_save_v1_0_0Output"}},{"id":"documents.export.archive","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Belegarchiv nach DATEV Status durchsuchen Scope documents:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.export.archive v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Belegarchiv nach DATEV Status durchsuchen","description":"Reads the document archive filtered by delivery status. Despite the route name, this operation does not archive or change documents.","keywords":["Belegarchiv","DATEV","Status","archive","documents","documents","durchsuchen","export","nach"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.export.archive.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_export_archive_v1_0_0Input","output":"#/components/schemas/documents_export_archive_v1_0_0Output"}},{"id":"documents.export.dismiss","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: DATEV Ausnahme als erledigt markieren Scope documents:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.export.dismiss v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"DATEV Ausnahme als erledigt markieren","description":"Dismisses an eligible export exception; does not send or undo a previous delivery.","keywords":["Ausnahme","DATEV","als","dismiss","documents","documents","erledigt","export","markieren"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.export.dismiss.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_export_dismiss_v1_0_0Input","output":"#/components/schemas/documents_export_dismiss_v1_0_0Output"}},{"id":"documents.export.protocol","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: DATEV Übertragungsprotokoll und Ergebnisse lesen Scope documents:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.export.protocol v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"DATEV Übertragungsprotokoll und Ergebnisse lesen","description":"Reads paginated delivery results and business totals for the selected period and destination.","keywords":["DATEV","Ergebnisse","documents","documents","export","lesen","protocol","und","Übertragungsprotokoll"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.export.protocol.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_export_protocol_v1_0_0Input","output":"#/components/schemas/documents_export_protocol_v1_0_0Output"}},{"id":"documents.export.request","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Beleg an DATEV übertragen Scope documents:write; approval=always. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.export.request v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Beleg an DATEV übertragen","description":"Requests delivery of one accessible document to an existing configured export target. Uses the product's delivery identity and status handling; may send external email.","keywords":["Beleg","DATEV","an","documents","documents","export","request","übertragen"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.export.request.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_export_request_v1_0_0Input","output":"#/components/schemas/documents_export_request_v1_0_0Output"}},{"id":"documents.export.retry","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: DATEV Übertragung erneut versuchen Scope documents:write; approval=always. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.export.retry v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"DATEV Übertragung erneut versuchen","description":"Retries only retryable exports, respecting existing delivery recovery and duplicate-send guards. May send documents externally.","keywords":["DATEV","documents","documents","erneut","export","retry","versuchen","Übertragung"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.export.retry.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_export_retry_v1_0_0Input","output":"#/components/schemas/documents_export_retry_v1_0_0Output"}},{"id":"documents.export.status","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: DATEV Status eines Belegs lesen Scope documents:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.export.status v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"DATEV Status eines Belegs lesen","description":"Reads all existing export attempts for one document without retrying or sending.","keywords":["Belegs","DATEV","Status","documents","documents","eines","export","lesen","status"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.export.status.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_export_status_v1_0_0Input","output":"#/components/schemas/documents_export_status_v1_0_0Output"}},{"id":"documents.job.list","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Documents-Rest: Job-Statusliste ueber bestehenden Endpoint mit normalisiertem Agent-Output.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract documents.job.list v1.0.0","POST /documents/jobs/list","supabase ud_file_jobs"],"sources":["documents","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List recent document processing jobs.","description":"Calls /documents/jobs/list with the principal JWT and normalizes the existing backend response into items, counts, total, limit and offset. The current backend supports a bounded recent-job list; filters are part of the agent contract and are forwarded defensively when the backend accepts them.","keywords":["document","job","jobs","poll","processing","status","verarbeitung"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.job.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/documents_job_list_v1_0_0Input","output":"#/components/schemas/documents_job_list_v1_0_0Output"}},{"id":"documents.job.retry","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Documents-Rest: UI-only Retry als schmaler RLS-Store-Fallback; nur status=error wird auf pending gesetzt, Idempotency-Key und Audit ueber Gateway.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract documents.job.retry v1.0.0","supabase UPDATE ud_file_jobs (status=pending) under RLS"],"sources":["documents","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Retry a failed document processing job under RLS.","description":"Updates one ud_file_jobs row as the principal JWT from error back to pending and clears error_message, mirroring the existing UI-only retry action. No new processing pipeline is implemented in the gateway; the existing backend worker picks up the pending job.","keywords":["document","failed","job","pending","retry","verarbeitung","wiederholen"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Final calibration: retry is free; useless retries are blocked by capability logic.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/documents_job_retry_v1_0_0Input","output":"#/components/schemas/documents_job_retry_v1_0_0Output"}},{"id":"documents.mail_account.list","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Providerneutrale bestehende Postfächer und Importkonfiguration lesen, ohne Secrets. Metadaten explizit per GET und Organisation; Ordner über inbox.folder.list. Lokale Tests; erneute Live-Abnahme ausstehend.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.mail_account.list v1.0.0","rpc list_my_organization_mailboxes_scoped","supabase ud_integration_credentials.select(metadata) under RLS"],"sources":["documents","core","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List mail accounts usable by the Documents mail import.","description":"Calls the existing list_my_organization_mailboxes_scoped RPC under the principal JWT and enriches each accessible mailbox with its current documentsImport metadata from ud_integration_credentials. Secrets are never returned.","keywords":["document","imap","import","list","mail","mailbox","postfach"],"risk_level":"medium","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.mail_account.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Mailbox credential read aligned with inbox.mailbox.list calibration.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/documents_mail_account_list_v1_0_0Input","output":"#/components/schemas/documents_mail_account_list_v1_0_0Output"}},{"id":"documents.mail_import.configure","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Bestehenden Postfachimport mit exakten Ordnerpfaden und Zeitgrenzen konfigurieren; nur Eigentümer/Organisationseigentümer, Versionskonflikt statt Überschreiben. approval=always wegen späterer Verarbeitungskosten. Lokale Tests; erneute Live-Abnahme ausstehend.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.mail_import.configure v1.1.0","supabase UPDATE ud_integration_credentials.metadata under RLS"],"sources":["documents","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.1.0","published_at":"2026-09-08T00:00:00Z","summary":"Configure Documents import metadata for one connected mailbox.","description":"Updates ud_integration_credentials.metadata.documentsImport under the principal JWT, matching the existing Documents UI. The metadata write itself is synchronous and free; the existing server-side import worker may later create document processing jobs for matching attachments.","keywords":["attachments","configure","document","folder","import","mail","metadata"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"documents_upload_processing_credits","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Mail import configuration aligned with deterministic configuration writes.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/documents_mail_import_configure_v1_1_0Input","output":"#/components/schemas/documents_mail_import_configure_v1_1_0Output"}},{"id":"documents.stack.assign","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Dokumente einem Vorgang zuordnen Scope documents:write; approval=always. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.stack.assign v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Dokumente einem Vorgang zuordnen","description":"Adds document memberships. Active stack rules may immediately queue DATEV exports and notification emails, so this operation requires approval.","keywords":["Dokumente","Vorgang","assign","documents","documents","einem","stack","zuordnen"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.stack.assign.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_stack_assign_v1_0_0Input","output":"#/components/schemas/documents_stack_assign_v1_0_0Output"}},{"id":"documents.stack.create","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Dokumentvorgang anlegen Scope documents:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.stack.create v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Dokumentvorgang anlegen","description":"Creates a named document stack; duplicate names are rejected by the existing API.","keywords":["Dokumentvorgang","anlegen","create","documents","documents","stack"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.stack.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_stack_create_v1_0_0Input","output":"#/components/schemas/documents_stack_create_v1_0_0Output"}},{"id":"documents.stack.documents","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Dokumente eines Vorgangs suchen Scope documents:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.stack.documents v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Dokumente eines Vorgangs suchen","description":"Reads paginated stack documents including available DATEV status; supports the same document filters as the Documents UI.","keywords":["Dokumente","Vorgangs","documents","documents","documents","eines","stack","suchen"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.stack.documents.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_stack_documents_v1_0_0Input","output":"#/components/schemas/documents_stack_documents_v1_0_0Output"}},{"id":"documents.stack.list","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Dokumentvorgänge und Stapel auflisten Scope documents:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.stack.list v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Dokumentvorgänge und Stapel auflisten","description":"Lists the selected organization's document stacks and their current counts.","keywords":["Dokumentvorgänge","Stapel","auflisten","documents","documents","list","stack","und"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.stack.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_stack_list_v1_0_0Input","output":"#/components/schemas/documents_stack_list_v1_0_0Output"}},{"id":"documents.stack.memberships","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Vorgangszuordnungen eines Dokuments lesen Scope documents:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.stack.memberships v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Vorgangszuordnungen eines Dokuments lesen","description":"Lists current stack IDs for one accessible document.","keywords":["Dokuments","Vorgangszuordnungen","documents","documents","eines","lesen","memberships","stack"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.stack.memberships.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_stack_memberships_v1_0_0Input","output":"#/components/schemas/documents_stack_memberships_v1_0_0Output"}},{"id":"documents.stack.pending_uploads","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Ausstehende Uploadzuordnungen eines Vorgangs lesen Scope documents:read; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.stack.pending_uploads v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Ausstehende Uploadzuordnungen eines Vorgangs lesen","description":"Reads the number of pending upload assignments for the chosen stack.","keywords":["Ausstehende","Uploadzuordnungen","Vorgangs","documents","documents","eines","lesen","pending_uploads","stack"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.stack.pending_uploads.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing read calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_stack_pending_uploads_v1_0_0Input","output":"#/components/schemas/documents_stack_pending_uploads_v1_0_0Output"}},{"id":"documents.stack.remove","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Dokument aus einem Vorgang entfernen Scope documents:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.stack.remove v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Dokument aus einem Vorgang entfernen","description":"Removes a stack membership without deleting the underlying document or cancelling existing exports.","keywords":["Dokument","Vorgang","aus","documents","documents","einem","entfernen","remove","stack"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.stack.remove.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_stack_remove_v1_0_0Input","output":"#/components/schemas/documents_stack_remove_v1_0_0Output"}},{"id":"documents.stack.rename","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Dokumentvorgang umbenennen Scope documents:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.stack.rename v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Dokumentvorgang umbenennen","description":"Renames one existing stack inside the installation organization.","keywords":["Dokumentvorgang","documents","documents","rename","stack","umbenennen"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.stack.rename.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_stack_rename_v1_0_0Input","output":"#/components/schemas/documents_stack_rename_v1_0_0Output"}},{"id":"documents.stack.set_memberships","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Vorgangszuordnungen eines Dokuments ersetzen Scope documents:write; approval=always. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract documents.stack.set_memberships v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-08T00:00:00Z","summary":"Vorgangszuordnungen eines Dokuments ersetzen","description":"Replaces the full stack membership set. Newly added memberships can queue configured DATEV exports; an empty set removes all memberships, not the document.","keywords":["Dokuments","Vorgangszuordnungen","documents","documents","eines","ersetzen","set_memberships","stack"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.stack.set_memberships.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing CRUD calibration; downstream charges remain with the product.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/documents_stack_set_memberships_v1_0_0Input","output":"#/components/schemas/documents_stack_set_memberships_v1_0_0Output"}},{"id":"documents.transfer.credentials_view","domain":"documents","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 9 Documents-Import: liest organisationsbezogene Transfer-Zugangsdaten und Ordnerstruktur; Upload bleibt bewusst out-of-band ueber SFTP/FTPS/WebDAV.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract documents.transfer.credentials_view v1.0.0","supabase ud_organizations.short_id under RLS"],"sources":["documents","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read scanner and bulk-upload connection details for the current organization.","description":"Reads the organization short_id under the principal JWT and returns the human-facing connection information for the existing SFTP/FTPS/WebDAV bulk-upload path. The upload transport itself is intentionally not exposed as an invoke operation because files are transferred out-of-band to sftp.webrichtung.de or dav.webrichtung.de and then picked up by the existing Documents import pipeline.","keywords":["document","ftps","massenupload","scanner","sftp","transfer","webdav"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["documents:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.documents.transfer.credentials_view.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/documents_transfer_credentials_view_v1_0_0Input","output":"#/components/schemas/documents_transfer_credentials_view_v1_0_0Output"}},{"id":"inbox.folder.list","domain":"inbox","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Post-Deploy-Live-Konformanz in TEST-AGENTREADY-LAUF2 bestanden; listet Ordner eines organisationssichtbaren Inbox-Kontos ueber account_id und den aktuellen Comm-Adapter.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract inbox.folder.list v1.0.0","GET /core/comm/folders"],"sources":["core","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List folders for one accessible mailbox.","description":"Calls GET /core/comm/folders with the principal JWT and account id. The current Inbox adapter routes both legacy IMAP and current email-provider accounts and performs credential access checks.","keywords":["folder","imap","list","mail","ordner"],"risk_level":"medium","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mail:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.inbox.folder.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":15},"component_schemas":{"input":"#/components/schemas/inbox_folder_list_v1_0_0Input","output":"#/components/schemas/inbox_folder_list_v1_0_0Output"}},{"id":"inbox.mailbox.delete","domain":"inbox","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Live-Konformanzlauf live-konformanz-20260808205817-e07b58c9 in TEST-AGENTREADY-LAUF2 bestanden: ausschliesslich das zuvor angelegte Test-Credential ueber die bestehende RLS-RPC entfernt; Ursprungskonfiguration unveraendert.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["rpc delete_integration_credentials"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Delete one mailbox credential through the existing RPC.","description":"Calls delete_integration_credentials with the principal JWT. This removes the credential path used by the existing UI; it does not send any mail.","keywords":["credential","delete","loeschen","mail","mailbox","postfach"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mail:write"],"approval":"conditional","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.inbox.mailbox.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Mailbox write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/inbox_mailbox_delete_v1_0_0Input","output":"#/components/schemas/inbox_mailbox_delete_v1_0_0Output"}},{"id":"inbox.mailbox.list","domain":"inbox","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Post-Deploy-Live-Konformanz in TEST-AGENTREADY-LAUF2 bestanden; listet aktuelle email_api-/Unipile- und Legacy-IMAP-Konten ueber den Inbox-Adapter unter Prinzipal-JWT, ohne Secret-Ausgabe.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract inbox.mailbox.list v1.0.0","GET /core/comm/accounts"],"sources":["core","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List mailboxes accessible in the installation organization.","description":"Calls GET /core/comm/accounts with the principal JWT and installation organization, then returns the accessible email-channel accounts used by the current Inbox. Hidden system mailboxes remain filtered by the existing adapter.","keywords":["e-mail","imap","list","mail","mailbox","postfach"],"risk_level":"medium","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mail:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.inbox.mailbox.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":15},"component_schemas":{"input":"#/components/schemas/inbox_mailbox_list_v1_0_0Input","output":"#/components/schemas/inbox_mailbox_list_v1_0_0Output"}},{"id":"inbox.mailbox.save","domain":"inbox","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Live-Konformanzlauf live-konformanz-20260808205817-e07b58c9 in TEST-AGENTREADY-LAUF2 bestanden: temporaeres Credential mit reservierten .invalid-Zielen idempotent angelegt; kein Mailversand und danach vollstaendig entfernt.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["rpc save_integration_credentials","rpc update_mail_credential_sharing"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create one IMAP mailbox credential through the existing RPC path.","description":"Creates a mailbox credential via save_integration_credentials and applies visibility through update_mail_credential_sharing. Password is accepted only as input and is never returned.","keywords":["create","imap","mail","mailbox","postfach","save","smtp"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mail:write"],"approval":"conditional","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.inbox.mailbox.save.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Mailbox write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/inbox_mailbox_save_v1_0_0Input","output":"#/components/schemas/inbox_mailbox_save_v1_0_0Output"}},{"id":"inbox.mailbox.share","domain":"inbox","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Mutation v1.0.0 im Gateway; aktualisiert Visibility/shared_user_ids ueber bestehende RLS-RPC.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["rpc update_mail_credential_sharing"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Update mailbox visibility and direct shares.","description":"Calls update_mail_credential_sharing with the principal JWT. Organization-wide visibility clears direct shares, matching the existing UI behavior.","keywords":["mail","mailbox","postfach","share","teilen","visibility"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mail:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.inbox.mailbox.share.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Mailbox write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/inbox_mailbox_share_v1_0_0Input","output":"#/components/schemas/inbox_mailbox_share_v1_0_0Output"}},{"id":"inbox.message.list","domain":"inbox","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Post-Deploy-Live-Konformanz in TEST-AGENTREADY-LAUF2 bestanden; listet Nachrichten eines Inbox-Ordners ueber den aktuellen Comm-Adapter, ohne Flags, Seen-Aenderung oder Versand.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract inbox.message.list v1.0.0","GET /core/comm/envelopes"],"sources":["core","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List messages from one folder in an accessible mailbox.","description":"Calls GET /core/comm/envelopes with account, folder and paging. Optional from/to/search filters are applied to the returned page when the provider has no server-side search. This is read-only and never sends mail.","keywords":["email","inbox","list","mail","message","search"],"risk_level":"high","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mail:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.inbox.message.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":15},"component_schemas":{"input":"#/components/schemas/inbox_message_list_v1_0_0Input","output":"#/components/schemas/inbox_message_list_v1_0_0Output"}},{"id":"inbox.message.read","domain":"inbox","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Post-Deploy-Live-Konformanz in TEST-AGENTREADY-LAUF2 bestanden; liest eine Nachricht ueber die opaque Provider-Referenz des aktuellen Comm-Adapters, ohne Seen-Markierung.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract inbox.message.read v1.0.0","GET /core/comm/message"],"sources":["core","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read one message from an accessible mailbox.","description":"Calls GET /core/comm/message with the principal JWT, account id and the opaque message reference returned by inbox.message.list. The legacy input field remains named uid for compatibility; current Inbox provider message ids are accepted. This read does not mark the message as seen.","keywords":["email","lesen","mail","message","open","read"],"risk_level":"high","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mail:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.inbox.message.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":15},"component_schemas":{"input":"#/components/schemas/inbox_message_read_v1_0_0Input","output":"#/components/schemas/inbox_message_read_v1_0_0Output"}},{"id":"intake.flow.complete","domain":"intake","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Fuehrt einen fertigen Intake idempotent ueber bestehende organisationsgebundene Child-Capabilities aus; Provider-Effekte bleiben im Testkontext stubbed.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract intake.flow.complete v1.0.0","Gateway child contracts for Core, Phone and Documents"],"sources":["core","documents","phone","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Convert the finished intake state into configuration tool calls.","description":"Executes the Agent-Ready intake orchestration once the conversation state is ready: organization profile via core.org.configure, photo interpretation context via org.media_interpretation_context.set, onboarding tasks through core.task.upsert, Phone wish/configuration through phone.agent_config.upsert and optional voice selection, plus Documents lookup for requested document categories. The parent call is idempotent and provider effects stay stubbed in tests.","keywords":["complete","configure","intake","onboarding","snapshot"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write","documents:read","org:manage","phone:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.intake.flow.complete.invoke","price_currency":"credits","price_credits":"0.02","price_formula":null,"price_basis":"Intake completion price from calibration stage 2.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/intake_flow_complete_v1_0_0Input","output":"#/components/schemas/intake_flow_complete_v1_0_0Output"}},{"id":"intake.flow.start","domain":"intake","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Startet den deterministischen, portablen Onboarding-Intake ohne LLM-Aufruf und ohne persistente Aenderung.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract intake.flow.start v1.0.0"],"sources":["gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Start a deterministic onboarding intake conversation.","description":"Creates an in-memory conversation state for the Agent-Ready intake flow. The state is returned to the caller and must be supplied to subsequent intake.flow.step calls. No LLM is called; the fake-bar planner only decides the next question and target fields.","keywords":["conversation","fake-bar","intake","onboarding","start"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["org:manage"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.intake.flow.start.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Deterministic intake start price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/intake_flow_start_v1_0_0Input","output":"#/components/schemas/intake_flow_start_v1_0_0Output"}},{"id":"intake.flow.step","domain":"intake","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Verarbeitet eine Antwort im portablen Intake-Zustand; kein LLM-Aufruf und keine persistente Aenderung.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract intake.flow.step v1.0.0"],"sources":["gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Apply one customer answer to the intake conversation state.","description":"Advances the server-side intake state machine with one customer answer. The fake-bar planner extracts labelled facts from the answer, updates the portable state and returns the next question. It performs no writes and no LLM calls.","keywords":["answer","fake-bar","intake","onboarding","step"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["org:manage"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.intake.flow.step.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Deterministic intake step price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/intake_flow_step_v1_0_0Input","output":"#/components/schemas/intake_flow_step_v1_0_0Output"}},{"id":"integrations.audio.speech_to_text","domain":"integrations","registry_status":"agent-ready","catalog_v1":true,"registry_note":"ElevenLabs Scribe STT fuer begrenzte Mediendateien; keine Conversational-AI-Konfiguration.","live_verified":true,"live_verified_at":"2026-08-06","superseded_by":[],"surfaces":["Gateway Contract integrations.audio.speech_to_text v1.0.0"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":false,"version":"1.1.0","published_at":"2026-10-14T00:00:00Z","summary":"Transcribe a bounded audio file.","description":"Uses only ElevenLabs Scribe speech-to-text. It does not invoke or configure Phone or Conversational AI. Pass exactly one source: audio_base64 (at most 10 MB), or inside a verified Studio production studio_audio_s3_key of this job together with audio_url, its presigned Studio storage URL (at most 250 MB). diarize returns words[].speaker_id.","keywords":["audio","elevenlabs","scribe","stt","transcription"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["assist.speech:transcribe"],"approval":"never","dry_run":"supported","billing":{"cost_class":"external_passthrough","preflight":"estimate","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"ElevenLabs transcription usage is settled from the active platform rate card.","charge_mode":"upstream_authoritative"},"execution":{"mode":"sync","timeout_seconds":120},"component_schemas":{"input":"#/components/schemas/integrations_audio_speech_to_text_v1_1_0Input","output":"#/components/schemas/integrations_audio_speech_to_text_v1_1_0Output"}},{"id":"integrations.audio.text_to_speech","domain":"integrations","registry_status":"agent-ready","catalog_v1":true,"registry_note":"ElevenLabs TTS mit bestehender Stimme; Phone-Infrastruktur ist nicht Teil des Contracts.","live_verified":true,"live_verified_at":"2026-08-06","superseded_by":[],"surfaces":["Gateway Contract integrations.audio.text_to_speech v1.0.0"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":false,"version":"1.2.0","published_at":"2026-10-09T00:00:00Z","summary":"Generate spoken audio from text with an existing voice.","description":"Uses only the ElevenLabs text-to-speech endpoint. Voice-Agent creation and all Phone infrastructure endpoints are intentionally absent. Inside a verified Studio production, studio_audio_s3_key names where the caller stores this segment; key and measured duration are recorded for the avatar step.","keywords":["audio","elevenlabs","speech","tts","voice"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.voice:sample"],"approval":"never","dry_run":"supported","billing":{"cost_class":"external_passthrough","preflight":"estimate","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"ElevenLabs text-to-speech usage is settled per generated character from the active platform rate card.","charge_mode":"upstream_authoritative"},"execution":{"mode":"sync","timeout_seconds":280},"component_schemas":{"input":"#/components/schemas/integrations_audio_text_to_speech_v1_2_0Input","output":"#/components/schemas/integrations_audio_text_to_speech_v1_2_0Output"}},{"id":"integrations.audio.voice_list","domain":"integrations","registry_status":"agent-ready","catalog_v1":true,"registry_note":"ElevenLabs-Medienfaehigkeit; kein Zugriff auf Voice Agents, Phone, SIP, Nummern oder Telefonie-Webhooks.","live_verified":true,"live_verified_at":"2026-08-06","superseded_by":[],"surfaces":["Gateway Contract integrations.audio.voice_list v1.0.0"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-11T12:00:00Z","summary":"List voices available for media speech generation.","description":"Reads ElevenLabs voice metadata only. It cannot create or modify Voice Agents, phone numbers, SIP settings or telephony webhooks.","keywords":["audio","elevenlabs","tts","voice"],"risk_level":"medium","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.voice:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Reading the centrally managed ElevenLabs voice catalog is free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":120},"component_schemas":{"input":"#/components/schemas/integrations_audio_voice_list_v1_0_0Input","output":"#/components/schemas/integrations_audio_voice_list_v1_0_0Output"}},{"id":"integrations.document.ocr","domain":"integrations","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Separater Agent-Pfad fuer Mistral OCR; bestehende interne Mistral-Verdrahtungen bleiben unveraendert.","live_verified":true,"live_verified_at":"2026-08-06","superseded_by":[],"surfaces":["Gateway Contract integrations.document.ocr v1.0.0"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-11T12:00:00Z","summary":"Extract structured Markdown from a document.","description":"Uses the separate platform Mistral OCR path. Existing internally wired Mistral functions remain unchanged.","keywords":["document","markdown","mistral","ocr","pdf"],"risk_level":"medium","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["media:interpret"],"approval":"never","dry_run":"supported","billing":{"cost_class":"external_passthrough","preflight":"estimate","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Mistral OCR usage is settled per returned page from the active platform rate card.","charge_mode":"upstream_authoritative"},"execution":{"mode":"sync","timeout_seconds":120},"component_schemas":{"input":"#/components/schemas/integrations_document_ocr_v1_0_0Input","output":"#/components/schemas/integrations_document_ocr_v1_0_0Output"}},{"id":"integrations.image.candidates_status","domain":"integrations","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Liest den Stand des Zwei-Modelle-Bildlaufs; nimmt keine automatische Gewinnerauswahl vor.","live_verified":true,"live_verified_at":"2026-08-06","superseded_by":[],"surfaces":["Gateway Contract integrations.image.candidates_status v1.0.0"],"sources":["gateway"],"gaps":[],"invocable":true,"launch_ready":false,"version":"1.1.0","published_at":"2026-10-05T00:00:00Z","summary":"Read the status of a kie media job.","description":"Reads only the provider job created through the corresponding platform capability. Each job reports state pending, succeeded or failed, the HTTPS result_urls of a finished image and the raw provider data.","keywords":["kie","media","status"],"risk_level":"medium","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Reading KIE.ai job status is free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":120},"component_schemas":{"input":"#/components/schemas/integrations_image_candidates_status_v1_1_0Input","output":"#/components/schemas/integrations_image_candidates_status_v1_1_0Output"}},{"id":"integrations.image.generate","domain":"integrations","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Erzeugt genau ein Produktionsbild ueber einen serverseitig gewaehlten Provider- und Modellpfad; der Agent beauftragt das Ergebnis, nicht die Technik.","live_verified":true,"live_verified_at":"2026-08-06","superseded_by":[],"surfaces":["Gateway Contract integrations.image.generate v1.0.0"],"sources":["gateway"],"gaps":[],"invocable":true,"launch_ready":false,"version":"2.0.0","published_at":"2026-10-09T00:00:00Z","summary":"Generate or edit one image with GPT Image 2.5 Sunburst.","description":"Submits one GPT Image 2.5 Sunburst job through KIE.ai from a descriptive prompt. Optional image_urls supply up to eight reference images for editing. Supports 1K, 2K and 4K output; defaults to 2K and aspect ratio 1:1. Poll integrations.image.candidates_status to retrieve the result.","keywords":["generate","gpt-image","image","production","sunburst"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"external_passthrough","preflight":"estimate","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"One platform-selected KIE.ai image generation is settled from the active platform rate card.","charge_mode":"upstream_authoritative"},"execution":{"mode":"sync","timeout_seconds":120},"component_schemas":{"input":"#/components/schemas/integrations_image_generate_v2_0_0Input","output":"#/components/schemas/integrations_image_generate_v2_0_0Output"}},{"id":"integrations.image.generate_candidates","domain":"integrations","registry_status":"agent-ready","catalog_v1":true,"registry_note":"KIE.ai erzeugt verpflichtend GPT Image 2 und Nano Banana Pro; Seedream ist aus der Produktion ausgeschlossen; Auswahl erst nach Vollaufloesungspruefung.","live_verified":true,"live_verified_at":"2026-08-06","superseded_by":[],"surfaces":["Gateway Contract integrations.image.generate_candidates v2.0.0"],"sources":["gateway"],"gaps":[],"invocable":true,"launch_ready":false,"version":"3.0.0","published_at":"2026-10-09T00:00:00Z","summary":"Generate one image with GPT Image 2.5 Sunburst.","description":"Submits exactly one GPT Image 2.5 Sunburst job through KIE.ai. The established capability ID and jobs array are retained. Uses the descriptive prompt directly and returns one result. Poll integrations.image.candidates_status to retrieve it.","keywords":["gpt-image","image","kie","sunburst"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"external_passthrough","preflight":"estimate","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"The two KIE.ai candidate generations are settled from the active platform rate card.","charge_mode":"upstream_authoritative"},"execution":{"mode":"sync","timeout_seconds":120},"component_schemas":{"input":"#/components/schemas/integrations_image_generate_candidates_v3_0_0Input","output":"#/components/schemas/integrations_image_generate_candidates_v3_0_0Output"}},{"id":"integrations.research.answer","domain":"integrations","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Perplexity-Sonar-Recherche mit Quellen; Credential, Rate Card, Multiplikator und Wallet bleiben serverseitig.","live_verified":true,"live_verified_at":"2026-08-06","superseded_by":[],"surfaces":["Gateway Contract integrations.research.answer v1.0.0"],"sources":["gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-11T12:00:00Z","summary":"Research a current question and return an answer with sources.","description":"Uses the centrally managed Perplexity Sonar capability. This complements structured DataForSEO results with a sourced narrative answer.","keywords":["citations","perplexity","research","sources","web"],"risk_level":"medium","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["integrations:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"external_passthrough","preflight":"estimate","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Perplexity usage is settled from the active platform rate card and organization multiplier.","charge_mode":"upstream_authoritative"},"execution":{"mode":"sync","timeout_seconds":120},"component_schemas":{"input":"#/components/schemas/integrations_research_answer_v1_0_0Input","output":"#/components/schemas/integrations_research_answer_v1_0_0Output"}},{"id":"integrations.research.serp_search","domain":"integrations","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Plattformweite SERP-Recherche mit serverseitigem Vault-Credential, organisationsbezogenem Fallback, provider-gemeldeten Einkaufskosten, Multiplikator und idempotenter Wallet-Abrechnung.","live_verified":true,"live_verified_at":"2026-08-06","superseded_by":[],"surfaces":["Gateway Contract integrations.research.serp_search v1.0.0","POST /agent/integrations/dataforseo/serp with principal JWT","Core API & Produktion provider registry"],"sources":["core","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Research structured organic search results through the platform provider.","description":"Calls the centrally managed research provider through webr-api. Provider credentials remain server-side. The API records provider cost, applies the configured customer multiplier and debits the organization wallet exactly once per request id.","keywords":["integrations","research","search","seo","serp","sources"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["integrations:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Provider-reported cost is settled by the webr-api integration executor with the configured customer multiplier; the gateway must not debit the wallet a second time.","charge_mode":"upstream_authoritative"},"execution":{"mode":"sync","timeout_seconds":15},"component_schemas":{"input":"#/components/schemas/integrations_research_serp_search_v1_0_0Input","output":"#/components/schemas/integrations_research_serp_search_v1_0_0Output"}},{"id":"integrations.video.image_generate","domain":"integrations","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Animiert ein bereitgestelltes Ausgangsbild ueber das serverseitig festgelegte Wan-2.7-Modell.","live_verified":true,"live_verified_at":"2026-08-06","superseded_by":[],"surfaces":["Gateway Contract integrations.video.image_generate v1.0.0"],"sources":["gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-11T12:00:00Z","summary":"Animate an existing image into a video.","description":"Submits a bounded Wan 2.7 image-to-video job through the centrally managed KIE.ai credential. The source image remains explicit while provider, model and watermark policy are fixed server-side.","keywords":["animate","image-to-video","kie","video","wan"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"external_passthrough","preflight":"estimate","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"KIE.ai image-to-video generation is settled from the active Wan rate card and organization multiplier.","charge_mode":"upstream_authoritative"},"execution":{"mode":"sync","timeout_seconds":180},"component_schemas":{"input":"#/components/schemas/integrations_video_image_generate_v1_0_0Input","output":"#/components/schemas/integrations_video_image_generate_v1_0_0Output"}},{"id":"integrations.video.status","domain":"integrations","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Liest den Status und die Ergebnis-URLs der plattformweit erzeugten KIE-Videos.","live_verified":true,"live_verified_at":"2026-08-06","superseded_by":[],"surfaces":["Gateway Contract integrations.video.status v1.0.0"],"sources":["gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-11T12:00:00Z","summary":"Read the status of a kie media job.","description":"Reads only the provider job created through the corresponding platform capability.","keywords":["kie","media","status"],"risk_level":"medium","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Reading KIE.ai video job status is free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":120},"component_schemas":{"input":"#/components/schemas/integrations_video_status_v1_0_0Input","output":"#/components/schemas/integrations_video_status_v1_0_0Output"}},{"id":"integrations.video.text_generate","domain":"integrations","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Erzeugt Video aus Text ueber das serverseitig festgelegte Wan-2.7-Modell; Provider und Modell sind nicht durch den Agenten waehlbar.","live_verified":true,"live_verified_at":"2026-08-06","superseded_by":[],"surfaces":["Gateway Contract integrations.video.text_generate v1.0.0"],"sources":["gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-11T12:00:00Z","summary":"Generate a video from a written scene description.","description":"Submits a bounded Wan 2.7 text-to-video job through the centrally managed KIE.ai credential. The provider and model are fixed server-side; callers cannot select arbitrary models.","keywords":["generation","kie","text-to-video","video","wan"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"external_passthrough","preflight":"estimate","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"KIE.ai text-to-video generation is settled from the active Wan rate card and organization multiplier.","charge_mode":"upstream_authoritative"},"execution":{"mode":"sync","timeout_seconds":180},"component_schemas":{"input":"#/components/schemas/integrations_video_text_generate_v1_0_0Input","output":"#/components/schemas/integrations_video_text_generate_v1_0_0Output"}},{"id":"integrations.web.crawl","domain":"integrations","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Begrenzter Apify Website Content Crawl mit HTTPS- und Seitenlimits.","live_verified":true,"live_verified_at":"2026-08-06","superseded_by":[],"surfaces":["Gateway Contract integrations.web.crawl v1.0.0"],"sources":["gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-11T12:00:00Z","summary":"Crawl a bounded set of web pages and return readable content.","description":"Runs the managed Apify Website Content Crawler with strict page and URL limits.","keywords":["apify","crawl","markdown","scrape","website"],"risk_level":"medium","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["integrations:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"external_passthrough","preflight":"estimate","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Apify crawl usage is settled per returned page from the active platform rate card.","charge_mode":"upstream_authoritative"},"execution":{"mode":"sync","timeout_seconds":300},"component_schemas":{"input":"#/components/schemas/integrations_web_crawl_v1_0_0Input","output":"#/components/schemas/integrations_web_crawl_v1_0_0Output"}},{"id":"loop.item.act","domain":"loop","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 C9: approve/reject/complete/archive/reopen als idempotenter Gateway-Contract ueber bestehenden Core-API-Endpunkt.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract loop.item.act v1.0.0","POST /core/inbox/items/action"],"sources":["core","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Approve, reject, complete, archive or reopen one Loop item.","description":"Calls the existing technical POST /core/inbox/items/action backend path with the principal JWT. The endpoint performs the Loop item status transition and creates the existing execution record.","keywords":["approve","archive","complete","item","loop","reject","reopen"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.loop.item.act.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Inbox action price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/loop_item_act_v1_0_0Input","output":"#/components/schemas/loop_item_act_v1_0_0Output"}},{"id":"loop.item.read","domain":"loop","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 C9; Live-Konformanzlauf live-konformanz-20260808205817-e07b58c9 in TEST-AGENTREADY-LAUF2: markiertes Loop-Item ueber den deployten Gateway-Contract gelesen und danach entfernt.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract loop.item.read v1.0.0","supabase ud_inbox_items/events/rules/executions.select under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read one Loop item with hydrated context.","description":"Loads one Loop item from ud_inbox_items and hydrates its linked event, rule and execution rows through the principal JWT.","keywords":["approval","detail","freigabe","item","loop","read"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.loop.item.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/loop_item_read_v1_0_0Input","output":"#/components/schemas/loop_item_read_v1_0_0Output"}},{"id":"loop.item.search","domain":"loop","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 C9; Live-Konformanzlauf live-konformanz-20260808205817-e07b58c9 in TEST-AGENTREADY-LAUF2: markiertes Loop-Item ueber Query gefunden und danach entfernt.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract loop.item.search v1.0.0","supabase ud_inbox_items/events/rules/executions.select under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Search Loop items with event, rule and execution context.","description":"Lists Loop items for the current organization from ud_inbox_items, optionally filtered by status and search text, and hydrates linked events, rules and executions through RLS.","keywords":["approval","freigabe","item","loop","review","search"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.loop.item.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/loop_item_search_v1_0_0Input","output":"#/components/schemas/loop_item_search_v1_0_0Output"}},{"id":"mdm.app.delete","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Approval always: Katalog-App inkl. APK aus Storage löschen.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["Gateway Contract mdm.app.delete v1.0.0","POST /core/mdm/apps/delete"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"Delete an app from the MDM catalog including its APK.","description":"Deletes one catalog app and removes the stored APK from storage. Existing installations on devices are not touched.","keywords":["apk","app","delete","mdm"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.app.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Device management write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/mdm_app_delete_v1_0_0Input","output":"#/components/schemas/mdm_app_delete_v1_0_0Output"}},{"id":"mdm.app.search","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"App-Katalog (ohne selbstverwalteten DPC-Agenten); nur user/internal_agent.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract mdm.app.search v1.0.0","POST /core/mdm/apps/list"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"List the organization's MDM app catalog.","description":"Returns uploaded APKs (label, package, version, size, checksum) that can be assigned to managed devices. The self-managed DPC agent app is excluded.","keywords":["apk","app","catalog","mdm"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.app.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/mdm_app_search_v1_0_0Input","output":"#/components/schemas/mdm_app_search_v1_0_0Output"}},{"id":"mdm.device.delete","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Approval always: verbliebenen Datensatz inkl. Events/Installs nur nach angenommenem Werksreset und ausdrücklicher physischer Reset-Bestätigung löschen.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["Gateway Contract mdm.device.delete v1.0.0","POST /core/mdm/devices/delete"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"Permanently delete a device and its history.","description":"Physically deletes one device record including its events and install jobs. The device must already have accepted a factory reset through mdm.device.wipe. This cannot be undone.","keywords":["delete","device","mdm"],"risk_level":"critical","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.device.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Device management write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/mdm_device_delete_v1_0_0Input","output":"#/components/schemas/mdm_device_delete_v1_0_0Output"}},{"id":"mdm.device.get","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Gerätedetail mit Ereignishistorie sowie gewünschtem und tatsächlichem App-Deployment-Status; Scope mdm:read.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract mdm.device.get v1.0.0","POST /core/mdm/devices/detail"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"Read one device with events and managed-app rollout status.","description":"Returns one device of the organization including the latest 50 device events and the effective managed-app state. Each app reports the desired and installed versions plus installation, update or removal progress, so an agent can verify a group rollout without guessing from install jobs.","keywords":["akku","akkustand","battery","detail","device","events","geraet","gerät","mdm","status"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.device.get.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/mdm_device_get_v1_0_0Input","output":"#/components/schemas/mdm_device_get_v1_0_0Output"}},{"id":"mdm.device.search","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Statusabfrage der verwalteten Geräte; nur user/internal_agent (Sebastian 2026-07-14: Reads frei, Operationen approval-only, extern gesperrt).","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract mdm.device.search v1.0.0","POST /core/mdm/devices/list"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"List managed Android devices with their live status.","description":"Returns the organization's managed devices including status, model, OS/DPC version, battery, storage, security patch level, group binding and last check-in time.","keywords":["akku","akkustand","android","battery","device","fleet","geraet","geraete","gerät","geräte","handy","ladestand","mdm","smartphone","status","tablet"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.device.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/mdm_device_search_v1_0_0Input","output":"#/components/schemas/mdm_device_search_v1_0_0Output"}},{"id":"mdm.device.update","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Approval always: Umbenennen/Gruppenwechsel wendet Gruppenrichtlinie sofort an.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["Gateway Contract mdm.device.update v1.0.0","POST /core/mdm/devices/update"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"Rename a device or change its group binding.","description":"Updates one managed device: rename it and/or move it into another device group (group_id null removes the binding; the new group policy is applied immediately).","keywords":["device","group","mdm","rename"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.device.update.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Device management write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/mdm_device_update_v1_0_0Input","output":"#/components/schemas/mdm_device_update_v1_0_0Output"}},{"id":"mdm.device.wipe","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Approval always: unwiderruflichen Werksreset beauftragen; danach kann der verbliebene Datensatz gelöscht werden.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["Gateway Contract mdm.device.wipe v1.0.0","POST /core/mdm/commands/create"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"Factory-reset a managed device before removing it from MDM.","description":"Queues an irreversible factory reset on one actively managed device. After the device accepts the wipe command it is marked retired; only then may mdm.device.delete remove its remaining server record.","keywords":["decommission","device","factory reset","mdm","wipe"],"risk_level":"critical","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.device.wipe.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Device management write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/mdm_device_wipe_v1_0_0Input","output":"#/components/schemas/mdm_device_wipe_v1_0_0Output"}},{"id":"mdm.enrollment_token.create","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Approval always: erzeugt Secret-Token + QR-Provisioning-Payload.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["Gateway Contract mdm.enrollment_token.create v1.0.0","POST /core/mdm/enrollment-tokens/create"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"Create an enrollment token with QR provisioning payload.","description":"Creates one enrollment token for adding devices to the fleet. The response contains the secret token and the Android provisioning QR payload exactly once.","keywords":["enrollment","mdm","provisioning","qr","token"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.enrollment_token.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Device management write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/mdm_enrollment_token_create_v1_0_0Input","output":"#/components/schemas/mdm_enrollment_token_create_v1_0_0Output"}},{"id":"mdm.enrollment_token.revoke","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Approval always: Token sperren.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["Gateway Contract mdm.enrollment_token.revoke v1.0.0","POST /core/mdm/enrollment-tokens/revoke"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"Revoke an enrollment token.","description":"Marks one enrollment token as revoked so it can no longer be used to enroll devices.","keywords":["enrollment","mdm","revoke","token"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.enrollment_token.revoke.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Device management write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/mdm_enrollment_token_revoke_v1_0_0Input","output":"#/components/schemas/mdm_enrollment_token_revoke_v1_0_0Output"}},{"id":"mdm.enrollment_token.search","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Tokenliste ohne Secret-Werte; nur user/internal_agent.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract mdm.enrollment_token.search v1.0.0","POST /core/mdm/enrollment-tokens/list"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"List enrollment tokens without their secret values.","description":"Returns the organization's enrollment tokens with label, expiry, usage counters and revocation state. The token secret is only returned once at creation time.","keywords":["enrollment","mdm","provisioning","token"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.enrollment_token.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/mdm_enrollment_token_search_v1_0_0Input","output":"#/components/schemas/mdm_enrollment_token_search_v1_0_0Output"}},{"id":"mdm.group.apps.set","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Approval always: ersetzt den vollständigen App-Sollzustand der Gruppe; ausgelassene gruppenverwaltete Pakete werden auf kompatiblen Geräten automatisch entfernt, manuelle und System-Apps bleiben unberührt. Scope mdm:write.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract mdm.group.apps.set v1.0.0","POST /core/mdm/groups/apps/set"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"Replace the managed-app set of one device group.","description":"Sets the complete desired catalog-app set for one device group. The API normalizes every selected app to the newest catalog release of its Android package. Group-managed packages omitted from app_ids are removed automatically after compatible devices check in; manually installed and system packages remain untouched. An empty list removes all group-managed apps. IDs not returned by mdm.app.search for the current organization are rejected before the desired state changes.","keywords":["apps","deployment","desired state","group","mdm","remove","rollout"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.group.apps.set.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Device-group desired-state write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/mdm_group_apps_set_v1_0_0Input","output":"#/components/schemas/mdm_group_apps_set_v1_0_0Output"}},{"id":"mdm.group.create","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Approval always: leere Gerätegruppe anlegen.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["Gateway Contract mdm.group.create v1.0.0","POST /core/mdm/groups/create"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"Create a device group.","description":"Creates one empty device group with its own (initially empty) group policy.","keywords":["create","group","mdm"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.group.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Device management write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/mdm_group_create_v1_0_0Input","output":"#/components/schemas/mdm_group_create_v1_0_0Output"}},{"id":"mdm.group.delete","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Approval always: Gruppe löschen, Geräte fallen auf Org-Richtlinie zurück.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["Gateway Contract mdm.group.delete v1.0.0","POST /core/mdm/groups/delete"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"Delete a device group.","description":"Deletes one device group. Member devices lose the group binding and fall back to the organization policy immediately.","keywords":["delete","group","mdm"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.group.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Device management write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/mdm_group_delete_v1_0_0Input","output":"#/components/schemas/mdm_group_delete_v1_0_0Output"}},{"id":"mdm.group.get","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Gruppendetail mit Richtlinie, vollständigem App-/PWA-Sollzustand und Mitgliedsgeräten; Scope mdm:read.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract mdm.group.get v1.0.0","POST /core/mdm/groups/detail"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"Read one group with desired apps, PWAs and member devices.","description":"Returns one device group including its group policy, policy version and member devices. group.app_ids and group.pwa_ids are the complete desired sets currently assigned to the group; use mdm.device.get for each member's applied managed-app rollout state.","keywords":["detail","group","mdm","policy"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.group.get.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/mdm_group_get_v1_0_0Input","output":"#/components/schemas/mdm_group_get_v1_0_0Output"}},{"id":"mdm.group.policy.set","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Approval always: ersetzt Gruppenrichtlinie vollständig, Mitglieder wenden sofort an.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["Gateway Contract mdm.group.policy.set v1.0.0","POST /core/mdm/groups/policy/set"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"Replace the policy of one device group.","description":"Sets the group policy for one device group. All member devices apply the new policy immediately. The given policy replaces the current group policy completely.","keywords":["group","kiosk","mdm","policy"],"risk_level":"critical","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.group.policy.set.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Device management write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/mdm_group_policy_set_v1_0_0Input","output":"#/components/schemas/mdm_group_policy_set_v1_0_0Output"}},{"id":"mdm.group.pwas.set","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Approval always: ersetzt den vollständigen PWA-Sollzustand der Gruppe, erhöht die Richtlinienversion und stößt die Anwendung auf Mitgliedsgeräten an. Scope mdm:write.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract mdm.group.pwas.set v1.0.0","POST /core/mdm/groups/pwas/set"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"Replace the web-app set of one device group.","description":"Sets the complete desired PWA shortcut set for one device group. The group policy version is advanced and member devices are prompted to check in. An empty list removes all group-managed PWA shortcuts. Read mdm.group.get for the accepted desired set and member policy status. IDs not returned by mdm.pwa.search are rejected before any state change.","keywords":["desired state","group","mdm","pwa","shortcut","web app"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.group.pwas.set.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Device-group desired-state write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/mdm_group_pwas_set_v1_0_0Input","output":"#/components/schemas/mdm_group_pwas_set_v1_0_0Output"}},{"id":"mdm.group.search","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Gerätegruppen mit Mitgliederzahl; nur user/internal_agent.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract mdm.group.search v1.0.0","POST /core/mdm/groups/list"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"List device groups with device counts.","description":"Returns the organization's device groups including policy version and the number of active member devices.","keywords":["devices","group","mdm"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.group.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/mdm_group_search_v1_0_0Input","output":"#/components/schemas/mdm_group_search_v1_0_0Output"}},{"id":"mdm.group.update","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Approval always: Gruppe umbenennen.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["Gateway Contract mdm.group.update v1.0.0","POST /core/mdm/groups/update"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"Rename a device group.","description":"Renames one device group of the organization.","keywords":["group","mdm","rename"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.group.update.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Device management write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/mdm_group_update_v1_0_0Input","output":"#/components/schemas/mdm_group_update_v1_0_0Output"}},{"id":"mdm.install.create","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Approval always: Silent-Install-Auftrag mit sofortigem Geräte-Push.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["Gateway Contract mdm.install.create v1.0.0","POST /core/mdm/installs/create"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"Queue a silent app install on a managed device.","description":"Creates or resets one install job that silently installs a catalog app on one device. The device is pushed to check in immediately.","keywords":["app","device","install","mdm","silent"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.install.create.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Device management write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/mdm_install_create_v1_0_0Input","output":"#/components/schemas/mdm_install_create_v1_0_0Output"}},{"id":"mdm.install.search","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Install-Aufträge eines Geräts; nur user/internal_agent.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract mdm.install.search v1.0.0","POST /core/mdm/installs/list"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"List install jobs for one managed device.","description":"Returns the install jobs of one device including status, attempts, errors and the linked app metadata.","keywords":["device","install","job","mdm"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.install.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/mdm_install_search_v1_0_0Input","output":"#/components/schemas/mdm_install_search_v1_0_0Output"}},{"id":"mdm.policy.get","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Org-weite Geräterichtlinie lesen; nur user/internal_agent.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract mdm.policy.get v1.0.0","POST /core/mdm/policy/get"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"Read the organization-wide device policy.","description":"Returns the current organization device policy (restrictions, password rules, WLAN, kiosk mode) and its version.","keywords":["kiosk","mdm","policy","restrictions"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.policy.get.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/mdm_policy_get_v1_0_0Input","output":"#/components/schemas/mdm_policy_get_v1_0_0Output"}},{"id":"mdm.policy.set","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Approval always: ersetzt Org-Richtlinie vollständig, Geräte wenden sofort an.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["Gateway Contract mdm.policy.set v1.0.0","POST /core/mdm/policy/set"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"Replace the organization-wide device policy.","description":"Sets the organization device policy (restrictions such as camera or factory reset, password rules, WLAN networks, kiosk mode, screen timeout). All active devices apply the new policy immediately. The given policy replaces the current one completely.","keywords":["kiosk","mdm","password","policy","restrictions"],"risk_level":"critical","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.policy.set.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Device management write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/mdm_policy_set_v1_0_0Input","output":"#/components/schemas/mdm_policy_set_v1_0_0Output"}},{"id":"mdm.pwa.search","domain":"mdm","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Listet die organisationsgebundenen PWA-Kacheln, die als Gruppensollzustand zugewiesen werden können. Scope mdm:read.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract mdm.pwa.search v1.0.0","POST /core/mdm/pwas/list"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-07-14T00:00:00Z","summary":"List the organization's managed web-app catalog.","description":"Returns the PWA shortcuts that can be assigned to device groups, including their IDs, labels, HTTPS URLs and creation timestamps.","keywords":["catalog","mdm","pwa","shortcut","web app"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["mdm:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.mdm.pwa.search.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/mdm_pwa_search_v1_0_0Input","output":"#/components/schemas/mdm_pwa_search_v1_0_0Output"}},{"id":"media.asset.delete","domain":"media","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Contract v1.0.0 im Gateway; Loeschen ueber bestehenden Core-Media-Endpunkt, Owner-Check bleibt serverseitig, Idempotency/Audit.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["POST /core/media/delete"],"sources":["core","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.1","published_at":"2026-07-03T12:00:00Z","summary":"Delete a photo link and optionally the underlying media asset.","description":"Runs only after durable owner approval, then calls /core/media/delete with the owner's delegated JWT and the installation-bound organization. The existing endpoint performs the server-side organization-owner check, removes the resource link and deletes the asset object only when no remaining links reference it.","keywords":["asset","delete","loeschen","media","photo","unlink"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["media:write"],"approval":"always","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.media.asset.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Media delete price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/media_asset_delete_v1_0_1Input","output":"#/components/schemas/media_asset_delete_v1_0_1Output"}},{"id":"media.asset.download","domain":"media","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Read-Contract v1.0.0 im Gateway; kurzlebige signierte Original-/Thumbnail-URL ueber bestehenden Core-Media-Endpunkt.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["POST /core/media/download-url"],"sources":["core","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create a short-lived signed URL for a media asset.","description":"Calls /core/media/download-url with the principal JWT. The existing endpoint verifies asset visibility in the effective organization and returns a signed original or thumbnail URL.","keywords":["asset","download","herunterladen","media","signed","thumbnail","url"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["media:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.media.asset.download.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Download URL price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/media_asset_download_v1_0_0Input","output":"#/components/schemas/media_asset_download_v1_0_0Output"}},{"id":"media.asset.gallery","domain":"media","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Read-Contract v1.0.0 im Gateway; Galerie/Suche inkl. vorhandener AI-Interpretationen ueber bestehenden Core-Media-Endpunkt.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["POST /core/media/gallery"],"sources":["core","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Browse and search the organization photo gallery.","description":"Calls the existing /core/media/gallery endpoint with the principal JWT. The endpoint returns gallery items including thumbnails, resource references and existing AI interpretations where present.","keywords":["asset","bild","bilder","foto","fotos","galerie","gallery","immobilie","media","objekt","photo","search"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["media:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.media.asset.gallery.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Gallery search price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/media_asset_gallery_v1_0_0Input","output":"#/components/schemas/media_asset_gallery_v1_0_0Output"}},{"id":"media.asset.interpret","domain":"media","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Mutation-Contract v1.0.0 im Gateway; Vision-LLM mit dry_run estimated_cost, Idempotency/Audit und bestehender Ergebnis-Persistenz.","live_verified":true,"live_verified_at":"2026-08-06","superseded_by":[],"surfaces":["POST /core/media/interpret"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Run or reuse Vision interpretation for one media asset.","description":"Calls /core/media/interpret with the principal JWT for explicit re-interpretation with the current organization media context. The existing endpoint reuses a current interpretation when possible, otherwise schedules and runs the Vision model, persists the interpretation, observations and AI tags, and returns the public interpretation shape.","keywords":["ai","analyse","asset","beschreibung","interpret","media","vision"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["media:interpret"],"approval":"conditional","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"core_media_vision_interpretation","price_currency":"credits","price_credits":"0.03","price_formula":null,"price_basis":"Final calibration: re-interpretation with context costs 0.03 credits.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/media_asset_interpret_v1_0_0Input","output":"#/components/schemas/media_asset_interpret_v1_0_0Output"}},{"id":"media.asset.list","domain":"media","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Read-Contract v1.0.0 im Gateway; liest verknuepfte Fotos je Core-Ressource ueber bestehenden Core-Media-Endpunkt.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["POST /core/media/list"],"sources":["core","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List photos linked to a business resource.","description":"Calls the existing /core/media/list endpoint with the principal JWT and returns the photos linked to one account, custom entry or real-estate object. The upstream endpoint verifies resource existence and organization access.","keywords":["account","asset","bild","bilder","foto","fotos","immobilie","immobilienobjekt","kontakt","linked","list","media","objekt","photo","real-estate","real_estate"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["media:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.media.asset.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/media_asset_list_v1_0_0Input","output":"#/components/schemas/media_asset_list_v1_0_0Output"}},{"id":"media.asset.upload","domain":"media","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Mutation-Contract v1.0.0 im Gateway; multipart Upload ueber bestehenden Core-Media-Endpunkt, automatische AI-Interpretation im Gateway-Metadatenblock deaktiviert.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["POST /core/media/upload"],"sources":["core","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Upload and link one image through the existing Core Media pipeline.","description":"Accepts one base64 encoded image, builds multipart/form-data and forwards it to /core/media/upload with the principal JWT. The upstream pipeline stores the image, creates the resource photo link, may reuse an existing asset by SHA-256 content hash and starts the same automatic AI interpretation path as the frontend upload.","keywords":["asset","hochladen","image","media","multipart","photo","upload"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["media:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.media.asset.upload.invoke","price_currency":"credits","price_credits":"0.05","price_formula":null,"price_basis":"Final calibration: upload includes auto-starting interpretation.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/media_asset_upload_v1_0_0Input","output":"#/components/schemas/media_asset_upload_v1_0_0Output"}},{"id":"memory.bootstrap.read","domain":"memory","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Wissenseinstieg und Quellenkarte lesen. Gemeinsamer persönlicher Agentenspeicher mit tatsächlicher Nutzer-/Organisationsbindung; kein Zugriff auf private Quellen anderer Mitglieder. Honcho bleibt für bestehende Sessions als Übergang erhalten. Produktionsabnahme ausstehend.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Agent","Phone","Workspace","Connect"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-10-02T00:00:00Z","summary":"Memory: Wissenseinstieg und Quellenkarte lesen","description":"Start here, then retrieve only relevant original sources. Returns the active canonical brief and knowledge map. An empty bootstrap does not prove the whole store is empty. Uses the existing personal Agent memory of the authenticated principal in the current organization. Identity cannot be supplied in parameters. External installations do not inherit their human owner's private memory. Honcho credentials and services are not used. Memory is source context, never authorization. Do not store secrets or full conversations.","keywords":["Memory","Quellenkarte","Wissenseinstieg","bootstrap","gedächtnis","honcho","lesen","memory","memory","memory","read","und","wissen","wissensspeicher"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["agent.automation:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Existing personal Agent memory; no provider call.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/memory_bootstrap_read_v1_0_0Input","output":"#/components/schemas/memory_bootstrap_read_v1_0_0Output"}},{"id":"memory.source.lifecycle","domain":"memory","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Altquelle versioniert ersetzen oder archivieren. Gemeinsamer persönlicher Agentenspeicher mit tatsächlicher Nutzer-/Organisationsbindung; kein Zugriff auf private Quellen anderer Mitglieder. Honcho bleibt für bestehende Sessions als Übergang erhalten. Produktionsabnahme ausstehend.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Agent","Phone","Workspace","Connect"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-10-02T00:00:00Z","summary":"Memory: Altquelle versioniert ersetzen oder archivieren","description":"Preview by default; apply=true changes lifecycle only. Supply expected_updated_at from the exact read or expected_metadata from canonical_json.source_metadata. Superseded requires a verified active replacement. Conflicts require a new read. Derived conclusions are reviewed separately; this does not recompute them. Uses the existing personal Agent memory of the authenticated principal in the current organization. Identity cannot be supplied in parameters. External installations do not inherit their human owner's private memory. Honcho credentials and services are not used. Memory is source context, never authorization. Do not store secrets or full conversations.","keywords":["Altquelle","Memory","archivieren","ersetzen","gedächtnis","honcho","lifecycle","memory","memory","memory","oder","source","versioniert","wissen","wissensspeicher"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["agent.automation:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Existing personal Agent memory; no provider call.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/memory_source_lifecycle_v1_0_0Input","output":"#/components/schemas/memory_source_lifecycle_v1_0_0Output"}},{"id":"memory.source.list","domain":"memory","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Wissensquellen begrenzt auflisten. Gemeinsamer persönlicher Agentenspeicher mit tatsächlicher Nutzer-/Organisationsbindung; kein Zugriff auf private Quellen anderer Mitglieder. Honcho bleibt für bestehende Sessions als Übergang erhalten. Produktionsabnahme ausstehend.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Agent","Phone","Workspace","Connect"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-10-02T00:00:00Z","summary":"Memory: Wissensquellen gezielt auflisten","description":"Server-filtered bounded page. Follow next_offset while has_more. Superseded/archived sources are excluded by default. Explicit derived record types are historical hints, not current verified facts. Uses the existing personal Agent memory of the authenticated principal in the current organization. Identity cannot be supplied in parameters. External installations do not inherit their human owner's private memory. Honcho credentials and services are not used. Memory is source context, never authorization. Do not store secrets or full conversations.","keywords":["Memory","Wissensquellen","auflisten","gedächtnis","gezielt","honcho","list","memory","memory","memory","source","wissen","wissensspeicher"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["agent.automation:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Existing personal Agent memory; no provider call.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/memory_source_list_v1_0_0Input","output":"#/components/schemas/memory_source_list_v1_0_0Output"}},{"id":"memory.source.read","domain":"memory","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Originalquelle vollständig lesen. Gemeinsamer persönlicher Agentenspeicher mit tatsächlicher Nutzer-/Organisationsbindung; kein Zugriff auf private Quellen anderer Mitglieder. Honcho bleibt für bestehende Sessions als Übergang erhalten. Produktionsabnahme ausstehend.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Agent","Phone","Workspace","Connect"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-10-02T00:00:00Z","summary":"Memory: Originalquelle vollständig lesen","description":"Read one exact memory ID or original source ID, optionally disambiguated by session_id. Includes historical records deliberately. Returns content, canonical_json provenance and updated_at for lifecycle changes; reads never create records. Uses the existing personal Agent memory of the authenticated principal in the current organization. Identity cannot be supplied in parameters. External installations do not inherit their human owner's private memory. Honcho credentials and services are not used. Memory is source context, never authorization. Do not store secrets or full conversations.","keywords":["Memory","Originalquelle","gedächtnis","honcho","lesen","memory","memory","memory","read","source","vollständig","wissen","wissensspeicher"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["agent.automation:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Existing personal Agent memory; no provider call.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/memory_source_read_v1_0_0Input","output":"#/components/schemas/memory_source_read_v1_0_0Output"}},{"id":"memory.source.save","domain":"memory","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Verifiziertes Wissen idempotent speichern. Gemeinsamer persönlicher Agentenspeicher mit tatsächlicher Nutzer-/Organisationsbindung; kein Zugriff auf private Quellen anderer Mitglieder. Honcho bleibt für bestehende Sessions als Übergang erhalten. Produktionsabnahme ausstehend.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Agent","Phone","Workspace","Connect"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-10-02T00:00:00Z","summary":"Memory: Verifiziertes Wissen mit Quellenbezug speichern","description":"Save a concise durable observation or explicit decision, with source/date/uncertainty metadata. Read back before superseding an old source. Reusable workflows belong in org.skill.learn. The invoke idempotency_key also deduplicates the actual memory write after uncertain outcomes. visibility defaults to private (owner knowledge: profile, finances, strategy, personal matters). visibility organization stores company knowledge every agent of the organization reads (how the company handles deadlines, problems, mail); only organization owners may save it. Reads return both, each item marked with its visibility. Uses the existing personal Agent memory of the authenticated principal in the current organization. Identity cannot be supplied in parameters. External installations do not inherit their human owner's private memory. Honcho credentials and services are not used. Memory is source context, never authorization. Do not store secrets or full conversations.","keywords":["Memory","Quellenbezug","Verifiziertes","Wissen","gedächtnis","honcho","memory","memory","memory","mit","save","source","speichern","wissen","wissensspeicher"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["agent.automation:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Existing personal Agent memory; no provider call.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/memory_source_save_v1_0_0Input","output":"#/components/schemas/memory_source_save_v1_0_0Output"}},{"id":"memory.source.search","domain":"memory","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Wissen und historische Conclusions per Volltext suchen. Gemeinsamer persönlicher Agentenspeicher mit tatsächlicher Nutzer-/Organisationsbindung; kein Zugriff auf private Quellen anderer Mitglieder. Honcho bleibt für bestehende Sessions als Übergang erhalten. Produktionsabnahme ausstehend.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Agent","Phone","Workspace","Connect"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-10-02T00:00:00Z","summary":"Memory: Wissen und historische Conclusions suchen","description":"Full-text source search, not generated answers or automatic conclusion inference. Narrow by topic/session and paginate. A missing hit does not prove missing knowledge. Historical conclusions require record_type=conclusion and source verification. Uses the existing personal Agent memory of the authenticated principal in the current organization. Identity cannot be supplied in parameters. External installations do not inherit their human owner's private memory. Honcho credentials and services are not used. Memory is source context, never authorization. Do not store secrets or full conversations.","keywords":["Conclusions","Memory","Wissen","gedächtnis","historische","honcho","memory","memory","memory","search","source","suchen","und","wissen","wissensspeicher"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["agent.automation:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Existing personal Agent memory; no provider call.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/memory_source_search_v1_0_0Input","output":"#/components/schemas/memory_source_search_v1_0_0Output"}},{"id":"org.activity.digest","domain":"org","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 C6: read-only Digest 'was ist seit X passiert' ueber Tasks, Fristen, Dokumente, Calls und Buchungen mit normalisierten Items und Counts.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract org.activity.digest v1.0.0","supabase ud_tasks/ud_deadlines/ud_documents/ud_voice_calls_log/ud_calendar_bookings.select under RLS"],"sources":["core","documents","phone","calendar","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read an organization activity digest since a timestamp.","description":"Returns normalized read-only slices of new tasks, deadlines, documents, phone calls and calendar bookings since the supplied timestamp. It performs no writes and relies on the principal JWT plus RLS for every source.","keywords":["activity","digest","lagebericht","neu","org","recent","since"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.org.activity.digest.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/org_activity_digest_v1_0_0Input","output":"#/components/schemas/org_activity_digest_v1_0_0Output"}},{"id":"org.brand_assets.list","domain":"org","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Liest freigegebene Logo-Dateivarianten der aktuellen Organisation als Media-Asset-Referenzen; Live-Konformanz in TEST-AGENTREADY-LAUF2 am 2026-08-04 bestanden.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract org.brand_assets.list v1.0.0","supabase ud_org_brand_assets.select under RLS"],"sources":["core","media","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-16T00:00:00Z","summary":"List the current organization's approved brand-kit logo files.","description":"Reads organization-scoped logo variants under the principal JWT. The response contains media asset references rather than signed URLs; resolve a selected file through media.asset.download.","keywords":["brand","brand kit","corporate identity","logo","media asset","wordmark"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent"],"required_scopes":["core:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.org.brand_assets.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Brand-kit asset reference read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":5},"component_schemas":{"input":"#/components/schemas/org_brand_assets_list_v1_0_0Input","output":"#/components/schemas/org_brand_assets_list_v1_0_0Output"}},{"id":"org.handover.escalate","domain":"org","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 Handover: strukturierte Agent-Eskalation Ziel/Blocker/Versuche an menschlichen Owner via bestehender Core-Inbox, Idempotency, Dry-Run und Audit.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract org.handover.escalate v1.0.0","supabase ud_inbox_events/items/executions insert under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-04T00:00:00Z","summary":"Escalate a structured blocker to the human owner.","description":"Creates an organization Inbox item when the agent is stuck and needs human help. The request captures goal, blocker, attempts and the kind of help needed, so the owner can continue from the exact state instead of reverse-engineering the agent run.","keywords":["blocked","blocker","escalate","handover","hilfe","human","inbox"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["org:manage"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Handover vent remains free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":15},"component_schemas":{"input":"#/components/schemas/org_handover_escalate_v1_0_0Input","output":"#/components/schemas/org_handover_escalate_v1_0_0Output"}},{"id":"org.handover.request_finalize","domain":"org","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 Handover: Agent bittet menschlichen Owner um Review/Finalisierung; erzeugt bestehendes Core-Inbox-Item mit Owner-Zuweisung, Idempotency, Dry-Run und Audit.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract org.handover.request_finalize v1.0.0","supabase ud_inbox_events/items/executions insert under RLS"],"sources":["core","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-04T00:00:00Z","summary":"Ask a human owner to review and finalize a prepared result.","description":"Creates an organization Inbox item for cases where the agent has prepared work but a human must make the final move, for example finalizing a billing draft. It uses the existing core Inbox tables, assigns the item to a visible human owner when present, and stores the target object plus requested action in action_payload.","keywords":["approval","finalize","freigabe","handover","inbox","owner","rechnung"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["org:manage"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Handover vent remains free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":15},"component_schemas":{"input":"#/components/schemas/org_handover_request_finalize_v1_0_0Input","output":"#/components/schemas/org_handover_request_finalize_v1_0_0Output"}},{"id":"org.media_interpretation_context.get","domain":"org","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 C11: Foto-Interpretationskontext aus markiertem Abschnitt in ud_organizations.description lesen; dedicated DB-Spalte fehlt im Bestand.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract org.media_interpretation_context.get v1.0.0","supabase ud_organizations.select description under RLS"],"sources":["core","media","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-04T12:00:00Z","summary":"Read the organization's photo interpretation context.","description":"Reads the marked Agent-Gateway photo interpretation context from ud_organizations.description. This context tells vision interpretation what the business does and what is typically visible on uploaded photos.","keywords":["context","foto","interpretation","ki-kontext","media","org","photos"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["org:manage"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.org.media_interpretation_context.get.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/org_media_interpretation_context_get_v1_0_0Input","output":"#/components/schemas/org_media_interpretation_context_get_v1_0_0Output"}},{"id":"org.media_interpretation_context.set","domain":"org","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 C11: Geschaefts-/Foto-Kontext fuer Medieninterpretation setzen, DB-neutral als markierter Abschnitt im bestehenden Org-AI-Kontext.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract org.media_interpretation_context.set v1.0.0","supabase ud_organizations.update description under RLS"],"sources":["core","media","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-04T12:00:00Z","summary":"Set the organization's photo interpretation context.","description":"Writes or replaces a marked Agent-Gateway section in ud_organizations.description with business context and typical photo context. Existing organization AI context outside the section is preserved.","keywords":["context","foto","interpretation","ki-kontext","media","org","photos"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["org:manage"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.org.media_interpretation_context.set.invoke","price_currency":"credits","price_credits":"0.02","price_formula":null,"price_basis":"Media interpretation context write price from calibration stage 2.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/org_media_interpretation_context_set_v1_0_0Input","output":"#/components/schemas/org_media_interpretation_context_set_v1_0_0Output"}},{"id":"org.skill.learn","domain":"org","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Pflegt private und gemeinsam freigegebene Organisations-Anleitungen mit bewusster learning_decision. Vertrag v3 nutzt die vorhandenen Owner-/Owner-Agent-Rechte, gemeinsame Historie und erwarteten Versionsstand; persönliche Anleitungen bleiben möglich.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract org.skill.learn v3.0.0","POST /skills/library/learn"],"sources":["api","agent","gateway"],"gaps":["Authentifizierte externe Live-Abnahme ausstehend"],"invocable":true,"launch_ready":false,"version":"3.0.0","published_at":"2026-09-30T00:00:00Z","summary":"Arbeitsanleitung aus ausdrücklichem Nutzerfeedback versioniert pflegen","description":"Supply learning_decision from the actual user context, with outcome=learn, scope=durable, action=save for creation or update for correction, and a faithful user_instruction plus reason. Evaluate meaning without keyword or wording requirements. Learn explicit future workflow instructions or corrections in the same task, never silence or praise alone. Search before creating. To update an editable skill, first read it and preserve valid steps in the complete replacement instructions_ai; include id, expected_updated_at and change_summary. New skills also require name. Owner and owner_agent roles create organization-shared, active, published workflows by default; specify visibility=private for personal instructions. Members create private skills. Updates preserve visibility unless the creator explicitly changes it. Every save uses immutable version history; a stale timestamp returns conflict. On conflict, read again, integrate the correction and use a new idempotency key. Production recipes and platform skills use their existing maintenance paths. Owners and legitimized owner agents can edit the same published organization workflows with one shared version history. Other users' private instructions remain inaccessible. Do not store secrets or complete conversations.","keywords":["Arbeitsanleitung","Nutzerfeedback","aus","ausdrücklichem","learn","org","org","pflegen","skill","versioniert"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.org.skill.learn.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Existing skill CRUD calibration.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/org_skill_learn_v3_0_0Input","output":"#/components/schemas/org_skill_learn_v3_0_0Output"}},{"id":"org.skill.list","domain":"org","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Sucht veröffentlichte private, Organisations- und Plattform-Arbeitsanleitungen aus derselben Verwaltung wie Workspace. Identität und Mitgliedschaft bleiben maßgeblich.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract org.skill.list v1.0.0","POST /skills/library/list"],"sources":["api","agent","gateway"],"gaps":["Authentifizierte externe Live-Abnahme ausstehend"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-30T00:00:00Z","summary":"Gemeinsame Skills und Arbeitsanleitungen suchen","description":"Search the shared workflow skill library before relevant work. Returns published private skills of the acting principal, organization skills and platform skills, with editable flags. Follow next_offset until has_more is false; read matching skills with org.skill.read. Uses the same library as Workspace agents. An external installation never inherits its human owner's private skills.","keywords":["Arbeitsanleitungen","Gemeinsame","Skills","list","org","org","skill","suchen","und"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.org.skill.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing skill read calibration.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/org_skill_list_v1_0_0Input","output":"#/components/schemas/org_skill_list_v1_0_0Output"}},{"id":"org.skill.read","domain":"org","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Liest vollständige Anweisungen und updated_at; fremde private Skills bleiben unzugänglich, Plattform-Skills schreibgeschützt.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract org.skill.read v1.0.0","POST /skills/library/read"],"sources":["api","agent","gateway"],"gaps":["Authentifizierte externe Live-Abnahme ausstehend"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-09-30T00:00:00Z","summary":"Vollständige Skill-Anleitung und aktuellen Versionsstand lesen","description":"Read the full instructions_ai, tags, trigger, updated_at and editable flag of an accessible skill. Load matching instructions before work. Keep updated_at for corrections via org.skill.learn. Foreign private and unpublished organization skills are unavailable; published platform skills are read-only.","keywords":["Anleitung","Skill","Versionsstand","Vollständige","aktuellen","lesen","org","org","read","skill","und"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.org.skill.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Existing skill read calibration.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/org_skill_read_v1_0_0Input","output":"#/components/schemas/org_skill_read_v1_0_0Output"}},{"id":"org.skill.remember","domain":"org","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Speichert einen privaten, inaktiven Skill-Entwurf; Validierung und ausdrückliche Freigabe bleiben separate Schritte.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract org.skill.remember v1.0.0","POST /skills/remember"],"sources":["api","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Save a reusable procedure as an inactive skill draft.","description":"Creates or updates one private, organization-scoped skill draft. Learned procedures never become executable automatically; validation and explicit owner-controlled promotion are separate actions.","keywords":["agent","learn","procedure","remember","skill","workflow"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.org.skill.remember.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Private reusable skill write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/org_skill_remember_v1_0_0Input","output":"#/components/schemas/org_skill_remember_v1_0_0Output"}},{"id":"phone.agent_config.get","domain":"phone","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Read-Contract v1.0.0 im Gateway; kompletter Phone-Agent-Konfigurationssnapshot inkl. Verhalten, Voice-Status und Weiterleitungsregeln unter Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase ud_voice_agent_configuration.select","supabase ud_voice_agent_forwarding_configurations.select"],"sources":["phone","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read one complete Phone agent configuration snapshot.","description":"Returns the voice agent base configuration, behavior prompts, selected voice state, assigned number fields as read-only data, and forwarding rules visible to the principal under RLS.","keywords":["agent","config","phone","read","verhalten"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["phone:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.phone.agent_config.get.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/phone_agent_config_get_v1_0_0Input","output":"#/components/schemas/phone_agent_config_get_v1_0_0Output"}},{"id":"phone.agent_config.upsert","domain":"phone","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Mutation-Contract v1.0.0 im Gateway; sichere Verhalten-/Prompt-Konfiguration in TEST-AGENTREADY-Kontext, keine Rufnummern-Provisionierung, Provider-Modus stubbed.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase ud_voice_agent_configuration.upsert"],"sources":["phone","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create or update a Phone agent's safe behavior configuration.","description":"Upserts the same core fields the Phone UI writes to ud_voice_agent_configuration: name, subtype, summary language, notification email and behavior messages. Assigned phone numbers are deliberately read-only in this contract; provisioning remains a separate Phone provisioning slice.","keywords":["agent","config","phone","prompt","upsert","verhalten"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["phone:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.phone.agent_config.upsert.invoke","price_currency":"credits","price_credits":"0.02","price_formula":null,"price_basis":"Phone agent configuration price from calibration stage 2.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/phone_agent_config_upsert_v1_0_0Input","output":"#/components/schemas/phone_agent_config_upsert_v1_0_0Output"}},{"id":"phone.call_log.read","domain":"phone","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Read-Contract v1.0.0 im Gateway; liest principal-sichtbare Phone-Anrufliste unter bestehender sb_user_id-RLS, normalisiert Anrufer/Zeit/Dauer/Zusammenfassung und erkannte Anliegen.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase ud_voice_calls_log.select","supabase ud_voice_callers.select"],"sources":["agent","phone","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.1.0","published_at":"2026-07-11T20:00:00Z","summary":"Read recent Phone call logs visible to the organization principal.","description":"Reads ud_voice_calls_log and optional ud_voice_callers profiles under the installation principal JWT, explicitly filters both by the installation organization_id and returns normalized caller, time, duration, summary and detected intent signals.","keywords":["angebot","anruf","anrufliste","call","call_log","phone","zusammenfassung"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["phone:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.phone.call_log.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/phone_call_log_read_v1_1_0Input","output":"#/components/schemas/phone_call_log_read_v1_1_0Output"}},{"id":"phone.call.summary.read","domain":"phone","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Read-Contract v1.0.0 im Gateway; liest eine Anruf-Zusammenfassung per vacall_id unter Prinzipal-JWT/RLS, normalisiert Anrufer/Zeit/Dauer und markiert Expansion-Trigger wie 'Kunde will Angebot'.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["supabase ud_voice_calls_log.select","supabase ud_voice_callers.select"],"sources":["agent","phone","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.1.0","published_at":"2026-07-11T20:00:00Z","summary":"Read one normalized Phone call summary and its detected intents.","description":"Reads a single ud_voice_calls_log row by vacall_id plus the installation organization_id under Phone organization RLS, enriches it with an explicitly organization-filtered ud_voice_callers profile when available, and exposes expansion triggers such as 'Kunde will Angebot'.","keywords":["angebot","anliegen","call","phone","summary","zusammenfassung"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["phone:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.phone.call.summary.read.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/phone_call_summary_read_v1_1_0Input","output":"#/components/schemas/phone_call_summary_read_v1_1_0Output"}},{"id":"phone.forwarding_rule.delete","domain":"phone","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Mutation-Contract v1.0.0 im Gateway; Loeschen einer Weiterleitungsregel in TEST-AGENTREADY-Kontext, Provider-Sync stubbed, Idempotency-Key und Audit.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase ud_voice_agent_forwarding_configurations.delete"],"sources":["phone","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Delete one Phone forwarding rule in test context.","description":"Deletes a forwarding configuration row visible to the principal. Provider sync is stubbed; no ElevenLabs configuration call is performed by the gateway test path.","keywords":["delete","forwarding","phone","transfer","weiterleitung"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["phone:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.phone.forwarding_rule.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Phone forwarding write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/phone_forwarding_rule_delete_v1_0_0Input","output":"#/components/schemas/phone_forwarding_rule_delete_v1_0_0Output"}},{"id":"phone.forwarding_rule.list","domain":"phone","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Read-Contract v1.0.0 im Gateway; liest Weiterleitungsregeln unter Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase ud_voice_agent_forwarding_configurations.select"],"sources":["phone","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List forwarding rules configured for a Phone agent.","description":"Reads ud_voice_agent_forwarding_configurations for a Phone agent under RLS. The rules include human transfer numbers and agent-to-agent transfer targets as configuration data only.","keywords":["forwarding","list","phone","transfer","weiterleitung"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["phone:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.phone.forwarding_rule.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/phone_forwarding_rule_list_v1_0_0Input","output":"#/components/schemas/phone_forwarding_rule_list_v1_0_0Output"}},{"id":"phone.forwarding_rule.upsert","domain":"phone","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Mutation-Contract v1.0.0 im Gateway; Agent-zu-Agent-Transfer und menschliche Testnummern, echte externe Nummern in Tests geblockt, Provider-Sync stubbed.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["supabase ud_voice_agent_forwarding_configurations.upsert"],"sources":["phone","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create or update one Phone forwarding rule in test context.","description":"Upserts ud_voice_agent_forwarding_configurations using the established Phone UI fields. Human phone targets are accepted only when the request marks the number as an internal test identity; provider sync remains stubbed.","keywords":["forwarding","phone","transfer","upsert","weiterleitung"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["phone:write"],"approval":"conditional","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.phone.forwarding_rule.upsert.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Phone forwarding write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/phone_forwarding_rule_upsert_v1_0_0Input","output":"#/components/schemas/phone_forwarding_rule_upsert_v1_0_0Output"}},{"id":"phone.provisioning.forwarding_guide.generate","domain":"phone","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Rufumleitungs-Anleitungen fuer Deutsche Telekom, Vodafone und O2; generiert side-effect-free als Markdown-Artefakt","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Markdown template artifact"],"sources":["phone","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Generate a Markdown call-forwarding guide for the first supported phone providers.","description":"Renders a provider-specific Markdown artifact for forwarding a customer's number to the assigned webRichtung Phone number. The first supported providers are Deutsche Telekom, Vodafone and O2. Generation is local and side-effect free.","keywords":["anbieter","forwarding","guide","markdown","phone","rufumleitung"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent"],"required_scopes":["phone.provisioning:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.phone.provisioning.forwarding_guide.generate.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Guide generation price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/phone_provisioning_forwarding_guide_generate_v1_0_0Input","output":"#/components/schemas/phone_provisioning_forwarding_guide_generate_v1_0_0Output"}},{"id":"phone.provisioning.job.get","domain":"phone","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Read-Contract v1.0.1 im Gateway; pollt Status/Error/Result eines Phone-Provisioning-Jobs organisationsgebunden unter Prinzipal-JWT/RLS.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["supabase ud_voice_agent_jobs.select"],"sources":["phone","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.1","published_at":"2026-07-03T12:00:00Z","summary":"Read the status of a queued phone provisioning job.","description":"Polls public.ud_voice_agent_jobs for the installation organization under the principal JWT. The existing n8n workflow reports progress and completion by updating status, error_message, completed_at and result on the job row.","keywords":["job","n8n","phone","poll","provisioning","status"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent"],"required_scopes":["phone.provisioning:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.phone.provisioning.job.get.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/phone_provisioning_job_get_v1_0_1Input","output":"#/components/schemas/phone_provisioning_job_get_v1_0_1Output"}},{"id":"phone.provisioning.pool.check","domain":"phone","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Konfigurierbarer Pool-Fuellstand mit Capture/Suppression-Delivery; kein Mailversand in dieser Scheibe","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["ud_voice_phone_numbers aggregate","PoolAlertDelivery interface"],"sources":["phone","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Check the phone-number pool and trigger a captured low-stock warning.","description":"Reads aggregate pool status for the selected Reventix-backed pool and compares it with a configurable threshold. If notify is true and the available count is at or below the threshold, the handler calls a delivery interface. This slice ships only capture/suppression delivery, never mail or provider egress.","keywords":["fuellstand","phone","pool","provisioning","threshold","warning"],"risk_level":"low","mutation":true,"actor_types":["external_agent","internal_agent"],"required_scopes":["phone.provisioning:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.phone.provisioning.pool.check.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Pool check price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/phone_provisioning_pool_check_v1_0_0Input","output":"#/components/schemas/phone_provisioning_pool_check_v1_0_0Output"}},{"id":"phone.provisioning.start","domain":"phone","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Mutation-Contract v1.0.0 im Gateway; startet den vollstaendigen bestehenden n8n-Provisionierungsflow ueber die authentifizierte interne webr-api-Bruecke und ordnet den Job dem Organisations-Owner zu.","live_verified":true,"live_verified_at":"2026-08-09","superseded_by":[],"surfaces":["webr-api internal phone provisioning jobs"],"sources":["phone","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Queue the existing Reventix-backed voice-client provisioning workflow.","description":"Wraps the existing voice-client provisioning automation as an Agent-Ready contract. Invoke asks the authenticated internal webr-api bridge to revalidate the installation and insert one owner-bound create job into public.ud_voice_agent_jobs; the existing n8n workflow consumes that row and writes status, error_message, completed_at and result back to the same table. Dry-run validates and previews the job payload without inserting. Poll the returned job_id with phone.provisioning.job.get.","keywords":["job","phone","provisioning","reventix","rufnummer","start"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent"],"required_scopes":["phone.provisioning:manage"],"approval":"never","dry_run":"supported","billing":{"cost_class":"metered","preflight":"estimate","usage_event":"agent_gateway.phone.provisioning.start.invoke","price_currency":"credits","price_credits":null,"price_formula":{"type":"setup_plus_daily_recurring","setup_credits":"9.90","recurring_credits_per_day":"0.10"},"price_basis":"Final calibration: 9.90 credits once plus 0.10 credits per day in the nightly recurring collector.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/phone_provisioning_start_v1_0_0Input","output":"#/components/schemas/phone_provisioning_start_v1_0_0Output"}},{"id":"phone.voice.catalog","domain":"phone","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Read-Contract v1.0.0 im Gateway; Phone-gefilterter Voice-Catalog ohne Provider-Details und ohne ElevenLabs-Aufruf.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["GET /voice-catalog?context=phone"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List voices that are approved for Phone agents.","description":"Reads the shared voice catalog for context=phone and returns the public voice fields used by the Phone UI. Provider routing details stay hidden; ElevenLabs is never called by this read.","keywords":["catalog","elevenlabs","phone","stimme","voice"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["phone:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.phone.voice.catalog.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/phone_voice_catalog_v1_0_0Input","output":"#/components/schemas/phone_voice_catalog_v1_0_0Output"}},{"id":"phone.voice.select","domain":"phone","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Agent-Ready Mutation-Contract v1.0.0 im Gateway; bestehendes Voice-Selection-Job-Muster, Idempotency/Audit, ElevenLabs-Sync in Tests stubbed.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["POST /phone/voice-selection","supabase ud_voice_config_jobs.insert"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Select a catalog voice for a Phone agent with provider sync stubbed.","description":"Mirrors the existing /phone/voice-selection pattern: validate the Phone catalog voice, mark the configuration sync state, and create the voice selection job. In Agent-Ready tests the ElevenLabs sync is explicitly stubbed and no provider call is made.","keywords":["phone","select","stimme","sync","voice"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["phone:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.phone.voice.select.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Voice selection price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/phone_voice_select_v1_0_0Input","output":"#/components/schemas/phone_voice_select_v1_0_0Output"}},{"id":"platform.feedback.read","domain":"platform","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 Handover: Status und webRichtung-Antwort zu Agent-Feedback abrufen; fake-getestet, Live-Read erst nach Freigabe von db-wishes/platform-feedback.sql.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract platform.feedback.read v1.0.0","db-wishes/platform-feedback.sql"],"sources":["gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-04T00:00:00Z","summary":"Read status and webRichtung response for submitted feedback.","description":"Returns one central issue submitted by the same organization through platform feedback, including triage status and the latest customer-visible response. Legacy feedback rows remain readable during the transition.","keywords":["feedback","platform","read","response","status","ticket"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["platform.feedback:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Feedback vent remains free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/platform_feedback_read_v1_0_0Input","output":"#/components/schemas/platform_feedback_read_v1_0_0Output"}},{"id":"platform.feedback.submit","domain":"platform","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 Handover: Agent->webRichtung-Feedbackkanal Ziel/Blocker/Wunsch; voll spezifiziert und fake-getestet, Live-Persistenz/Scopes erst nach Sebastian-Freigabe des SQL-Wunschs.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract platform.feedback.submit v1.0.0","db-wishes/platform-feedback.sql"],"sources":["gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-04T00:00:00Z","summary":"Submit structured agent feedback to webRichtung.","description":"Creates a feedback ticket for webRichtung product/platform triage. It is the agent-to-webRichtung channel for blockers, missing capabilities, bugs and improvement requests.","keywords":["blocker","feature","feedback","platform","ticket","webRichtung"],"risk_level":"low","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["platform.feedback:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Feedback vent remains free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":15},"component_schemas":{"input":"#/components/schemas/platform_feedback_submit_v1_0_0Input","output":"#/components/schemas/platform_feedback_submit_v1_0_0Output"}},{"id":"skill.execution.start","domain":"skill","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Startet produktneutral eine unveränderliche Momentaufnahme eines veröffentlichten deklarativen Skill-Rezepts.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract skill.execution.start v1.0.0","POST /skill-executions"],"sources":["api","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Start a published declarative skill recipe.","description":"Creates a generic staged execution from an immutable snapshot of one published skill recipe. The same runtime is used for every product and media type.","keywords":["execution","recipe","skill","stage","workflow"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Starting the platform-internal recipe state machine is free; invoked provider and compute capabilities remain billable.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/skill_execution_start_v1_0_0Input","output":"#/components/schemas/skill_execution_start_v1_0_0Output"}},{"id":"skill.execution.status","domain":"skill","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Liest bereite Phasen, Nachweise und Completion-Status einer generischen Skill-Ausführung.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract skill.execution.status v1.0.0","GET /skill-executions/:id"],"sources":["api","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read generic skill stage and completion state.","description":"Returns a compact lifecycle summary with ready and completed stages, accepted artifact IDs, passed quality-gate IDs and completion state for an organization-scoped skill execution.","keywords":["quality","recipe","skill","stage","status"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Reading the platform-internal recipe state is free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/skill_execution_status_v1_0_0Input","output":"#/components/schemas/skill_execution_status_v1_0_0Output"}},{"id":"skill.stage.report","domain":"skill","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Validiert Abhängigkeiten, Artefaktverträge, Quality-Gates und Reviews einer beliebigen Rezeptphase.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract skill.stage.report v1.0.0","POST /skill-executions/:id/stage-reports"],"sources":["api","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Submit artifacts and evidence for one declarative recipe stage.","description":"Validates stage dependencies, required artifact contracts, configured quality evidence and review approval without knowing the product or media type. A required review creates a generic pending review instead of accepting the stage.","keywords":["artifact","evidence","quality","review","skill","stage"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Submitting validation evidence to the platform-internal recipe state machine is free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/skill_stage_report_v1_0_0Input","output":"#/components/schemas/skill_stage_report_v1_0_0Output"}},{"id":"studio.asset.download","domain":"studio","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Aktueller oeffentlicher Ergebnis-Downloadpfad: erzeugt eine kurzlebige organisationsgebundene Download-URL fuer das tatsaechliche finale Render-Ergebnis.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract studio.asset.download v1.0.0","POST /studio/assets/download-url"],"sources":["studio","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Get a short-lived download URL for a final Studio Asset.","description":"Returns a 15-minute signed URL for an organization-owned Studio S3 object so the agent can inspect the actual final render before registering verified media metadata. S3 credentials remain server-side.","keywords":["asset","download","inspect","quality","s3","studio"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Short-lived Studio Asset download URLs are free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/studio_asset_download_v1_0_0Input","output":"#/components/schemas/studio_asset_download_v1_0_0Output"}},{"id":"studio.price.quote","domain":"studio","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Erzeugt aus festen Produktionseinheiten einen signierten, 24 Stunden gueltigen Studio-Hoechstpreis; die Abfrage reserviert oder belastet keine Credits.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract studio.price.quote v1.0.0","POST /studio/price-quote"],"sources":["studio","api","gateway"],"gaps":[],"invocable":false,"launch_ready":false,"summary":"Erzeugt aus festen Produktionseinheiten einen signierten, 24 Stunden gueltigen Studio-Hoechstpreis; die Abfrage reserviert oder belastet keine Credits."},{"id":"studio.production.cancel","domain":"studio","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Beendet einen eigenen laufenden Studio-Produktionsauftrag idempotent ueber den aktuellen Studio-Endpunkt.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract studio.production.cancel v1.0.0","POST /studio/production-jobs/:id/cancel"],"sources":["studio","api","gateway"],"gaps":[],"invocable":false,"launch_ready":false,"summary":"Beendet einen eigenen laufenden Studio-Produktionsauftrag idempotent ueber den aktuellen Studio-Endpunkt."},{"id":"studio.production.create","domain":"studio","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Plattformweiter Einstieg in die agentenbasierte Tmux-/GLM-5.2-Produktion nach ausdruecklicher Bestaetigung eines signierten Hoechstpreises; Wallet-Pruefung und finale Abrechnung bleiben im Studio-Backend.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract studio.production.create v1.0.0","POST /studio/production-jobs"],"sources":["studio","agent","gateway"],"gaps":[],"invocable":false,"launch_ready":false,"summary":"Plattformweiter Einstieg in die agentenbasierte Tmux-/GLM-5.2-Produktion nach ausdruecklicher Bestaetigung eines signierten Hoechstpreises; Wallet-Pruefung und finale Abrechnung bleiben im Studio-B..."},{"id":"studio.production.list","domain":"studio","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Liest die aktuellen Studio-Produktionsauftraege mit Fortschritt, Review- und Ergebnisstatus fuer die aktive Organisation.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract studio.production.list v1.0.0","GET /studio/production-jobs"],"sources":["studio","api","gateway"],"gaps":[],"invocable":false,"launch_ready":false,"summary":"Liest die aktuellen Studio-Produktionsauftraege mit Fortschritt, Review- und Ergebnisstatus fuer die aktive Organisation."},{"id":"studio.render.status","domain":"studio","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Liest den organisationsgebundenen Stand der eigenen Renderqueue.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["Gateway Contract studio.render.status v1.0.0","Own Remotion/FFmpeg render service"],"sources":["studio","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read the status and output key of an own-compute render job.","description":"Reads one job from the platform-owned Remotion/FFmpeg queue. It does not call an external provider or expose the render credential.","keywords":["ffmpeg","queue","remotion","render","status","studio"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Reading the own render queue is free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/studio_render_status_v1_0_0Input","output":"#/components/schemas/studio_render_status_v1_0_0Output"}},{"id":"studio.review.list","domain":"studio","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Liest offene und entschiedene menschliche Studio-Freigaben; die Entscheidung selbst bleibt bewusst eine menschliche UI-Aktion.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract studio.review.list v1.0.0","GET /studio/reviews"],"sources":["studio","api","gateway"],"gaps":[],"invocable":false,"launch_ready":false,"summary":"Liest offene und entschiedene menschliche Studio-Freigaben; die Entscheidung selbst bleibt bewusst eine menschliche UI-Aktion."},{"id":"studio.skill.list","domain":"studio","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Liefert die aktuell veroeffentlichten Plattform-, Organisations- und privaten Studio-Produktionsskills; die Skill-ID kann direkt an studio.production.create uebergeben werden.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract studio.skill.list v1.0.0","GET /skills/studio"],"sources":["studio","api","gateway"],"gaps":[],"invocable":false,"launch_ready":false,"summary":"Liefert die aktuell veroeffentlichten Plattform-, Organisations- und privaten Studio-Produktionsskills; die Skill-ID kann direkt an studio.production.create uebergeben werden."},{"id":"studio.thumbnail.render","domain":"studio","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Erzeugt Thumbnails auf eigener Infrastruktur direkt im Studio-Speicher.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract studio.thumbnail.render v1.0.0","Own FFmpeg render service"],"sources":["studio","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Render a video thumbnail on platform-owned compute.","description":"Creates a thumbnail with the own FFmpeg renderer and stores it directly in the active organization's Studio storage.","keywords":["cover","ffmpeg","render","studio","thumbnail"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"studio_thumbnail_render_compute","price_currency":"credits","price_credits":"0.01","price_formula":null,"price_basis":"One bounded thumbnail render on platform-owned compute.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":60},"component_schemas":{"input":"#/components/schemas/studio_thumbnail_render_v1_0_0Input","output":"#/components/schemas/studio_thumbnail_render_v1_0_0Output"}},{"id":"studio.video_project.list","domain":"studio","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Gespeicherte Videoprojekte auflisten Scope studio.production:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract studio.video_project.list v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":false,"launch_ready":false,"summary":"September-Abgleich: Gespeicherte Videoprojekte auflisten Scope studio.production:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizu..."},{"id":"studio.video_project.read","domain":"studio","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Videoprojekt lesen Scope studio.production:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract studio.video_project.read v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":false,"launch_ready":false,"summary":"September-Abgleich: Videoprojekt lesen Scope studio.production:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben."},{"id":"studio.video_project.restore","domain":"studio","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Früheren Videoprojektstand wiederherstellen Scope studio.production:write; approval=always. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract studio.video_project.restore v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":false,"launch_ready":false,"summary":"September-Abgleich: Früheren Videoprojektstand wiederherstellen Scope studio.production:write; approval=always. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesonder..."},{"id":"studio.video_project.save","domain":"studio","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Videoprojekt als neuen Stand speichern Scope studio.production:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract studio.video_project.save v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":false,"launch_ready":false,"summary":"September-Abgleich: Videoprojekt als neuen Stand speichern Scope studio.production:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert frei..."},{"id":"studio.video_project.versions","domain":"studio","registry_status":"agent-ready","catalog_v1":true,"registry_note":"September-Abgleich: Gespeicherte Videoprojektstände lesen Scope studio.production:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freizugeben.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract studio.video_project.versions v1.0.0","Bestehende Produkt-API oder Principal-JWT/RLS-Adapter; siehe workplan/platform-sync-2026-09.md"],"sources":["gateway","api"],"gaps":["e2e_tested"],"invocable":false,"launch_ready":false,"summary":"September-Abgleich: Gespeicherte Videoprojektstände lesen Scope studio.production:write; approval=never. Implementierung mit lokalen Tests; Live-Lifecycle und fachliche Live-Abnahme gesondert freiz..."},{"id":"studio.video.merge","domain":"studio","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Fügt mehrere Videos in Reihenfolge mit Ton zu einem MP4 auf eigener Infrastruktur zusammen; Organisationspfade und Renderzugang werden serverseitig erzwungen. Status über studio.render.status. Studio-Neuaufsetzung Welle 1; Produktionsabnahme ausstehend.","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract studio.video.merge v1.0.0","Own FFmpeg render service"],"sources":["studio","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Join several videos in order into one MP4 on platform-owned compute.","description":"Queues one merge on the own FFmpeg render service: every video is scaled to one frame size and frame rate, its sound is kept (silence for silent clips) and the clips are joined in the given order. Inputs are Studio S3 keys of the active organization only; the output path is generated inside the same organization's Studio storage. Poll studio.render.status with the returned request_id.","keywords":["concat","ffmpeg","join","merge","studio","video"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"metered","preflight":"estimate","usage_event":"studio_video_merge_compute","price_currency":"credits","price_credits":null,"price_formula":{"type":"per_started_minute_from_array_number_field","param":"videos","field":"duration_seconds","credits_per_unit":"0.04"},"price_basis":"Platform-owned FFmpeg merge compute at 0.04 credits per started output minute.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"async","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/studio_video_merge_v1_0_0Input","output":"#/components/schemas/studio_video_merge_v1_0_0Output"}},{"id":"studio.video.render","domain":"studio","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Rendert Videos auf eigener Infrastruktur; Organisationspfade und Renderzugang werden serverseitig erzwungen.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract studio.video.render v1.0.0","Own Remotion/FFmpeg render service"],"sources":["studio","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Render a finished video on the platform-owned Remotion/FFmpeg service.","description":"Queues up to 2,000 scenes and two hours of optional audio, captions and overlays on webRichtung-owned compute. Long-form timelines are rendered in bounded segments and assembled into one final file. Remotion and FFmpeg run on the platform server; no external image or render model is used. The output path is generated inside the active organization's Studio storage.","keywords":["compose","ffmpeg","remotion","render","studio","video"],"risk_level":"high","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["studio.production:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"metered","preflight":"estimate","usage_event":"studio_video_render_compute","price_currency":"credits","price_credits":null,"price_formula":{"type":"per_started_minute_from_array_number_field","param":"scenes","field":"duration_seconds","credits_per_unit":"0.04"},"price_basis":"Platform-owned Remotion/FFmpeg compute at 0.04 credits per started output minute.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"async","timeout_seconds":30},"component_schemas":{"input":"#/components/schemas/studio_video_render_v1_0_0Input","output":"#/components/schemas/studio_video_render_v1_0_0Output"}},{"id":"wallet.agent_budget.guard.check","domain":"wallet","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 Hygiene: Budget-/Kill-Switch-Preflight in Domain wallet.*; Scope-Code bleibt billing.wallet:read.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract wallet.agent_budget.guard.check v1.0.0"],"sources":["core","agent","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Check wallet, budget caps and kill-switch before an agent invoke.","description":"Reads the installation wallet, ud_agent_cost_ledger aggregates, recent gateway audit cost and the active ud_agent_policy_profiles row for the installation's optional ud_agent_id. Invoke is deliberately blocked with budget_exceeded or capability_disabled before returning a success payload when the estimated operation cost would violate policy.","keywords":["billing","budget","cost","kill","ledger","policy","preflight"],"risk_level":"medium","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.wallet:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Budget guard remains free.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/wallet_agent_budget_guard_check_v1_0_0Input","output":"#/components/schemas/wallet_agent_budget_guard_check_v1_0_0Output"}},{"id":"wallet.balance.get","domain":"wallet","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 10 Hygiene: Wallet-Balance in Domain wallet.* gefuehrt; Scope-Code bleibt billing.wallet:read.","live_verified":true,"live_verified_at":"2026-08-08","superseded_by":[],"surfaces":["rpc get_wallet_balance_by_id"],"sources":["core","documents","agent"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Read the current organization wallet balance.","description":"Returns the wallet id, organization id and current credit balance for the installation organization by resolving the organization wallet through the Agent-Gateway-owned balance RPC. It does not mutate the wallet and does not expose transactions.","keywords":["balance","billing","credits","guthaben","wallet"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["billing.wallet:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.wallet.balance.get.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Wallet balance read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/wallet_balance_get_v1_0_0Input","output":"#/components/schemas/wallet_balance_get_v1_0_0Output"}},{"id":"workspace.artifact.delete","domain":"workspace","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Workspace: bestehender User-JWT-Endpoint mit Principal-JWT; Gateway-Idempotency/Audit kapselt nicht-idempotenten Delete.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract workspace.artifact.delete v1.0.0","POST /workspace/artifacts/delete"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Delete a Workspace file artifact through the existing API.","description":"Calls the existing /workspace/artifacts/delete endpoint with the principal JWT. The gateway-level idempotency key prevents repeated delete execution for retries; the existing endpoint deletes the S3 object and artifact index row within the principal's organization access.","keywords":["artifact","delete","loeschen","remove","workspace"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["workspace:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.workspace.artifact.delete.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Workspace artifact write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/workspace_artifact_delete_v1_0_0Input","output":"#/components/schemas/workspace_artifact_delete_v1_0_0Output"}},{"id":"workspace.artifact.download_url.create","domain":"workspace","registry_status":"agent-ready","catalog_v1":true,"registry_note":"alias agent.artifact.download; signierte URL ueber bestehenden User-JWT-Endpoint mit Principal-JWT.","live_verified":true,"live_verified_at":"2026-08-06","superseded_by":[],"surfaces":["Gateway Contract workspace.artifact.download_url.create v1.0.0","POST /workspace/artifacts/download-url"],"sources":["agent","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create a short-lived signed download URL for a Workspace artifact.","description":"Calls the existing /workspace/artifacts/download-url endpoint with the principal JWT. The existing endpoint checks organization access, artifact availability and S3 signing.","keywords":["artifact","download","signed","signiert","url","workspace"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["workspace:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.workspace.artifact.download_url.create.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Download URL price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/workspace_artifact_download_url_create_v1_0_0Input","output":"#/components/schemas/workspace_artifact_download_url_create_v1_0_0Output"}},{"id":"workspace.artifact.list","domain":"workspace","registry_status":"agent-ready","catalog_v1":true,"registry_note":"alias agent.artifact.list; normalisierte Artifact-Liste ueber bestehenden User-JWT-Endpoint mit Principal-JWT.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract workspace.artifact.list v1.0.0","POST /workspace/artifacts/list"],"sources":["agent","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List Workspace file artifacts visible to the principal.","description":"Calls the existing /workspace/artifacts/list endpoint with the principal JWT. The endpoint filters by the effective organization, optional workspace session and artifact direction.","keywords":["artifact","dateien","download","list","workspace"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["workspace:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.workspace.artifact.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/workspace_artifact_list_v1_0_0Input","output":"#/components/schemas/workspace_artifact_list_v1_0_0Output"}},{"id":"workspace.artifact.upload","domain":"workspace","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Workspace: 3-Schritt-Presigned-Flow create URL -> externer PUT -> complete; /workspace/artifacts/upload bleibt Bestand, aber nicht Agent-Contract-Pfad.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract workspace.artifact.upload v1.0.0","POST /workspace/artifacts/create-upload-url","POST /workspace/artifacts/complete-upload"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Create and complete a presigned Workspace artifact upload using the existing API.","description":"Wraps the existing /workspace/artifacts/create-upload-url and /workspace/artifacts/complete-upload endpoints. Step 1 creates an artifact index row and returns a short-lived S3 PUT URL; the caller uploads bytes directly to that URL; step 3 completes the artifact and optionally creates an agent-input delivery. The gateway adds schema validation, idempotency, audit and dry-run around the existing principal-JWT path.","keywords":["artifact","datei","hochladen","presigned","s3","upload","workspace"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["workspace:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.workspace.artifact.upload.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Workspace artifact write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/workspace_artifact_upload_v1_0_0Input","output":"#/components/schemas/workspace_artifact_upload_v1_0_0Output"}},{"id":"workspace.delivery.list","domain":"workspace","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Workspace: Delivery-Liste separat vom Artifact-List-Contract; kein Runtime-Token-Pfad.","live_verified":true,"live_verified_at":"2026-08-05","superseded_by":[],"surfaces":["Gateway Contract workspace.delivery.list v1.0.0","POST /workspace/artifacts/deliveries/list"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"List Workspace artifact deliveries for a workspace session.","description":"Calls the existing /workspace/artifacts/deliveries/list endpoint with the principal JWT. This is the user/agent-visible delivery list, not the runtime-token polling endpoint.","keywords":["artifact","delivery","list","runtime","workspace"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["workspace:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.workspace.delivery.list.invoke","price_currency":"credits","price_credits":"0.0005","price_formula":null,"price_basis":"Read price from calibration stage 0.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":10},"component_schemas":{"input":"#/components/schemas/workspace_delivery_list_v1_0_0Input","output":"#/components/schemas/workspace_delivery_list_v1_0_0Output"}},{"id":"workspace.delivery.update","domain":"workspace","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Welle 5 Workspace: agentenseitiges cancel/delete via Principal-JWT/RLS; Runtime-Status accepted/downloading/delivered/failed bleibt Runtime-Pfad.","live_verified":true,"live_verified_at":"2026-08-07","superseded_by":[],"surfaces":["Gateway Contract workspace.delivery.update v1.0.0","supabase UPDATE ud_workspace_file_artifact_deliveries under RLS"],"sources":["api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Cancel or delete a Workspace artifact delivery through the principal RLS path.","description":"Updates ud_workspace_file_artifact_deliveries directly with the principal JWT under the live RLS policy. The contract intentionally exposes only agent-side terminal states, cancelled and deleted; runtime progress states such as accepted, downloading, delivered and failed remain owned by /workspace/artifacts/runtime-deliveries/update and are not called by this gateway.","keywords":["cancel","delete","delivery","rls","update","workspace"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["workspace:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.workspace.delivery.update.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Workspace delivery write price from calibration stage 1.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":20},"component_schemas":{"input":"#/components/schemas/workspace_delivery_update_v1_0_0Input","output":"#/components/schemas/workspace_delivery_update_v1_0_0Output"}},{"id":"workspace.document.render","domain":"workspace","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Universeller, reproduzierbarer Renderpfad: Quelle unveraendert; PDF, begrenzte PNG-Seitenvorschauen und technischer Qualitaetsbericht. Visuelle Pruefung erfolgt anschliessend ueber vision.analyze.","live_verified":true,"live_verified_at":"2026-08-06","superseded_by":[],"surfaces":["Gateway Contract workspace.document.render v1.0.0","POST /workspace/documents/render","POST /workspace/documents/runtime-render","Workspace Runtime Tool document.render"],"sources":["agent","api","gateway"],"gaps":[],"invocable":true,"launch_ready":true,"version":"1.0.0","published_at":"2026-07-03T12:00:00Z","summary":"Render one Workspace PDF, self-contained HTML or Office artifact into reviewed production assets.","description":"Calls the central /workspace/documents/render endpoint with the principal JWT. The source artifact remains unchanged. The renderer creates a PDF, bounded PNG page previews and a canonical technical quality report as new Workspace download artifacts. HTML must be self-contained; scripts and external resources are rejected. Office macros stay disabled by the central renderer.","keywords":["document","html","layout","office","pdf","preview","quality","render","workspace"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["workspace:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"flat","preflight":"estimate","usage_event":"agent_gateway.workspace.document.render.invoke","price_currency":"credits","price_credits":"0.002","price_formula":null,"price_basis":"Bounded central document render and Workspace artifact write price.","charge_mode":"gateway_wallet_debit"},"execution":{"mode":"sync","timeout_seconds":120},"component_schemas":{"input":"#/components/schemas/workspace_document_render_v1_0_0Input","output":"#/components/schemas/workspace_document_render_v1_0_0Output"}},{"id":"workspace.runtime.list","domain":"workspace","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Oktober: Rechner der eigenen Workspace-Sessions mit ihren Harnesses lesen; Scope workspace:read; approval=never (webr-agent-gateway, webr-api).","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract workspace.runtime.list v1.0.0","GET /agent/workspace/runtimes"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-10-12T00:00:00Z","summary":"Workspace: Rechner (Runtimes) und ihre Harnesses für neue Sessions lesen","description":"Lists the runtimes the user may start sessions on: id (e.g. srg-hd01 for \"hd01\"), online and harnesses (claude = Claude Code, codex, pi). Use it to map a machine the user names to runtime_id for workspace.session.create. Identity cannot be supplied in parameters.","keywords":["Harnesses","Rechner","Runtimes","Sessions","Workspace","antwort","arbeitsstand","fortschritt","frage","fragen","für","harness","ihre","lesen","list","maschine","neue","rechner","runtime","runtime","rückfrage","rückfragen","session","sessions","stand","und","workspace","workspace","ziel"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["workspace:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Existing Workspace runtime state; no provider call.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/workspace_runtime_list_v1_0_0Input","output":"#/components/schemas/workspace_runtime_list_v1_0_0Output"}},{"id":"workspace.session_input.send","domain":"workspace","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Oktober: Nachricht des Nutzers in eine laufende eigene Workspace-Session schreiben, ohne offene Rückfrage; Scope workspace:write; approval=never (webr-agent-gateway, webr-api).","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract workspace.session_input.send v1.0.0","POST /agent/workspace/input"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-10-12T00:00:00Z","summary":"Workspace: Nachricht in eine laufende Session schreiben (ohne offene Rückfrage)","description":"Types text into a running session as normal input, like the user at the keyboard; no open question is needed. Only on the user's explicit request and with the user's content: a new instruction, a correction, additional material. data.delivery=confirmed means typed in. data.delivery=uncertain means it may have arrived: do not send again, read the session output first. For an open question use workspace.session_question.answer instead. Identity cannot be supplied in parameters.","keywords":["Nachricht","Rückfrage","Session","Workspace","antwort","arbeitsstand","eine","eingabe","fortschritt","frage","fragen","in","laufende","nachricht","offene","ohne","rückfrage","rückfragen","schreiben","schreiben","send","session","session_input","sessions","stand","workspace","workspace","ziel"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["workspace:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Existing Workspace session input; no provider call.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/workspace_session_input_send_v1_0_0Input","output":"#/components/schemas/workspace_session_input_send_v1_0_0Output"}},{"id":"workspace.session_output.read","domain":"workspace","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Oktober: aktuelle Ausgabe (Stream) einer eigenen Workspace-Session lesen; Scope workspace:read; approval=never (webr-agent-gateway, webr-api).","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract workspace.session_output.read v1.0.0","GET /agent/workspace/output"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-10-12T00:00:00Z","summary":"Workspace: aktuellen Stream (letzte Ausgabe) einer Session lesen","description":"Reads what a session shows right now: title, status, agent_type, runtime_id and its latest terminal output as plain text, newest part kept (max_chars, default 6000). Answers \"Was macht die Session gerade?\" and \"Lies mir den Stream vor\". Works for any session the user may view, without an open question. Identity cannot be supplied in parameters.","keywords":["Ausgabe","Session","Stream","Workspace","aktuellen","antwort","arbeitsstand","ausgabe","einer","fortschritt","frage","fragen","gerade","lesen","lesen","letzte","read","rückfrage","rückfragen","session","session_output","sessions","stand","stream","workspace","workspace","ziel"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["workspace:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Existing Workspace session state; no provider call.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/workspace_session_output_read_v1_0_0Input","output":"#/components/schemas/workspace_session_output_read_v1_0_0Output"}},{"id":"workspace.session_question.answer","domain":"workspace","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Oktober: Rückfrage einer eigenen Workspace-Session mit der Antwort des Nutzers beantworten; Scope workspace:write; approval=never (webr-agent-gateway#108, webr-api#696).","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract workspace.session_question.answer v1.0.0","POST /agent/workspace/questions/answer"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-10-11T00:00:00Z","summary":"Workspace: Rückfrage einer Session mit der Antwort des Nutzers beantworten","description":"Types the user's answer verbatim into the asking session as normal input and closes the question once the session confirmed it. Pass the user's words without rephrasing, summarizing or adding anything; one call per question (session_id and question_id from workspace.session_question.list). data.delivery=confirmed means delivered. data.delivery=uncertain means the answer may have arrived although the question still looks open: do not send it again, tell the user so. Error question_not_open: the question is already closed, list again. Covers only the authenticated principal's own Workspace sessions that report to the user. A session started by another session asks that session instead; its questions never appear here. Identity cannot be supplied in parameters.","keywords":["Antwort","Nutzers","Rückfrage","Session","Workspace","answer","antwort","arbeitsstand","beantworten","der","des","einer","fortschritt","frage","fragen","mit","rückfrage","rückfragen","session","session_question","sessions","stand","workspace","workspace","ziel"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["workspace:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Existing Workspace session input; no provider call.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/workspace_session_question_answer_v1_0_0Input","output":"#/components/schemas/workspace_session_question_answer_v1_0_0Output"}},{"id":"workspace.session_question.list","domain":"workspace","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Oktober: offene Rückfragen der eigenen Workspace-Sessions lesen; Scope workspace:read; approval=never (webr-agent-gateway#108, webr-api#696).","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract workspace.session_question.list v1.0.0","GET /agent/workspace/questions"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-10-11T00:00:00Z","summary":"Workspace: offene Rückfragen der Sessions an den Nutzer lesen","description":"Answers \"Welche Sessions brauchen Antworten von mir?\". Lists every open question with session_id, session_title, question id, text, blocking and asked_at. Read each question to the user with its session title, then pass each answer with workspace.session_question.answer. Covers only the authenticated principal's own Workspace sessions that report to the user. A session started by another session asks that session instead; its questions never appear here. Identity cannot be supplied in parameters.","keywords":["Nutzer","Rückfragen","Sessions","Workspace","an","antwort","arbeitsstand","den","der","fortschritt","frage","fragen","lesen","list","offene","rückfrage","rückfragen","session","session_question","sessions","stand","workspace","workspace","ziel"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["workspace:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Existing Workspace session state; no provider call.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/workspace_session_question_list_v1_0_0Input","output":"#/components/schemas/workspace_session_question_list_v1_0_0Output"}},{"id":"workspace.session_work.list","domain":"workspace","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Oktober: Arbeitsstand der eigenen Workspace-Sessions lesen (Ziel, Qualität, Stand, Rückfragen); Scope workspace:read; approval=never (webr-agent-gateway#108, webr-api#696).","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract workspace.session_work.list v1.0.0","GET /agent/workspace/work"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-10-11T00:00:00Z","summary":"Workspace: Arbeitsstand der Sessions lesen (Ziel, Qualität, Stand, Rückfragen)","description":"Answers \"Woran arbeitet meine Session?\" and \"Wie weit ist ...?\". Without session_id: the user's own sessions, newest activity first, with shortened objective (definition of done) and progress plus question_count. With session_id: that session in full: objective, quality (definition of good), working_style, progress and open questions. The fields are maintained by the session agent itself. Covers only the authenticated principal's own Workspace sessions that report to the user. A session started by another session asks that session instead; its questions never appear here. Identity cannot be supplied in parameters.","keywords":["Arbeitsstand","Qualität","Rückfragen","Sessions","Stand","Workspace","Ziel","antwort","arbeitsstand","der","fortschritt","frage","fragen","lesen","list","rückfrage","rückfragen","session","session_work","sessions","stand","workspace","workspace","ziel"],"risk_level":"low","mutation":false,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["workspace:read"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Existing Workspace session state; no provider call.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":45},"component_schemas":{"input":"#/components/schemas/workspace_session_work_list_v1_0_0Input","output":"#/components/schemas/workspace_session_work_list_v1_0_0Output"}},{"id":"workspace.session.create","domain":"workspace","registry_status":"agent-ready","catalog_v1":true,"registry_note":"Oktober: neue eigene Workspace-Session mit Claude Code, Codex oder Pi auf wählbarem Rechner starten; Scope workspace:write; approval=never (webr-agent-gateway, webr-api).","live_verified":false,"live_verified_at":null,"superseded_by":[],"surfaces":["Gateway Contract workspace.session.create v1.0.0","POST /agent/workspace/sessions"],"sources":["api","gateway"],"gaps":["e2e_tested"],"invocable":true,"launch_ready":false,"version":"1.0.0","published_at":"2026-10-12T00:00:00Z","summary":"Workspace: neue Session starten (Claude Code, Codex oder Pi, Rechner wählbar)","description":"Starts a new Workspace session of the user, as the Workspace start dialog does. agent_type: claude (Claude Code, default), codex or pi. runtime_id only when the user names a machine (see workspace.runtime.list, e.g. hd01 = srg-hd01); without it Claude Code runs on srg-hd01 and the others on a fitting runtime. goal is the start instruction the session works on, title an optional name. callback_on only when the user wants a call (\"ruf mich an, wenn eine Rückfrage kommt / wenn du fertig bist\"): question, done or both; the call follows the user's call window, and data.callback says whether it is set. callback_explicit=true only when the user has just expressly agreed to be called also outside their call window (e.g. \"Ja\" to \"Soll ich dich anrufen?\"); default false, accepted only with a user message of the last ten minutes, valid for 24 hours. Returns session_id, title, status, agent_type and runtime_id. data.delivery=uncertain means the start may have happened: do not start again, list the sessions with workspace.session_work.list first. Identity cannot be supplied in parameters.","keywords":["Claude","Code","Codex","Pi","Rechner","Session","Workspace","antwort","arbeitsstand","claude","codex","create","fortschritt","frage","fragen","harness","neue","neue","oder","pi","rückfrage","rückfragen","session","session","sessions","stand","starten","starten","workspace","workspace","wählbar","ziel"],"risk_level":"medium","mutation":true,"actor_types":["external_agent","internal_agent","user"],"required_scopes":["workspace:write"],"approval":"never","dry_run":"supported","billing":{"cost_class":"free","preflight":"none","usage_event":null,"price_currency":"credits","price_credits":"0","price_formula":null,"price_basis":"Workspace session start; the session's own model use is billed there.","charge_mode":"free"},"execution":{"mode":"sync","timeout_seconds":70},"component_schemas":{"input":"#/components/schemas/workspace_session_create_v1_0_0Input","output":"#/components/schemas/workspace_session_create_v1_0_0Output"}}]}