/v1/gate/services to manage the Gate services owned by your organization.
These endpoints are business-authenticated:
- send
Authorization: Bearer sk_* - require
gate:services:readfor reads - require
gate:services:managefor create, update, and delete
Endpoints
GET /v1/gate/services— List the Gate services owned by the authenticated organizationGET /v1/gate/services/{serviceId}— Load one organization-owned Gate servicePOST /v1/gate/services— Create a new organization-owned Gate servicePATCH /v1/gate/services/{serviceId}— Partially update an organization-owned Gate serviceDELETE /v1/gate/services/{serviceId}— Soft-disable an organization-owned Gate service
Service IDs
service_id is the canonical public slug used everywhere, including npx signup <service>.
Rules:
- lowercase only
3-32characters- may contain
a-z,0-9,_, and- - must start and end with a letter or number
gate, registry, services, and webhook cannot be claimed by customer organizations.
Organization limits
Each organization may have at most5 Gate services total.
- disabled services still count toward the cap
- the built-in
tripwireservice is system-owned and does not count against any organization
Visibility
Managed service resources include read-only operational metadata such as:statuscreated_atupdated_at
GET /v1/gate/registry only when it is both active and discoverable.
Customer-managed Gate services are allowlist-based. Organizations can configure only:
id,name,description,website,discoverablewebhook_url,webhook_secretdashboard_login_urldocs_urlenv_varsas{ name, key, secret }sdksas ordered{ label, install, url }entriesbranding.logo_url,branding.primary_color,branding.secondary_color,branding.ascii_artconsent.terms_url,consent.privacy_url
webhook_secretis auto-generated if omitted on create, but organizations may later replace it.- customer-supplied
webhook_secretvalues must be at least32characters - Gate-owned login credentials are delivered separately from customer
env_varsand use the derived key<SERVICE_ID>_GATE_AGENT_TOKEN. - The
branding.verifiedbadge is managed internally and returned as read-only metadata. branding.primary_colorandbranding.secondary_colormust use hex formats such as#RGB,#RGBA,#RRGGBB, or#RRGGBBAA.websiteis required on every Gate service. Gate stores it explicitly rather than inferring it from docs, webhook, or dashboard URLs.