Menu
Platform
AI
App store purchases
Credits
Database
Flags
Generated Assets
Monitoring
Notifications
Organizations
Payments
- Payments
- Payments quickstart
- Checkout policies
- Checkout sessions
- Customer subscriptions
- Entitlement grants
- Exchange rates
- Licence keys
- Licence tokens
- Merchant accounts
- Portal sessions
- Price catalogs
- Revenue
- Revenue facts
- Revenue sources
- Tax threshold statuses
- Usage events
- Usage invoices
- Usage meter prices
- Usage meters
- Usage reservations
- Usage settings
- Usage tiers
Queues
Realtime
Sandboxes
Webhooks
Getting Started
Authentication
KV Store
Deploy & Infrastructure
Reference
API reference
Every service, collection, method and error code, generated from the contracts.
The Sylphx API is one HTTP API for the whole platform, at
https://api.sylphx.com/v1. Every page in this reference is generated from
the protobuf contracts in contracts/ — the same contracts the SDKs, the CLI
and the Terraform provider come from — so a method that is not here is not
served, and a field that is here is a field the API takes.
#Authentication
Every call carries one key in Authorization: Bearer: a secret key
(sylphx_sk_…) from a server, or a publishable key (sylphx_pk_…) from a
browser or a mobile app. A publishable key reaches only the methods marked
callable with a publishable key:
10 of the 701 methods in this reference.
Keys, their kinds and their scopes are in Keys and scopes; the scope a method needs is on its page.
#Names
Everything the API holds is a Resource with one canonical name (AIP-122):
orgs/{org}
orgs/{org}/projects/{project}
orgs/{org}/projects/{project}/envs/{env}
{parent}/{collection}/{id}The collection segment is a snake_case plural, unique across the whole
registry, so it identifies its service on its own. Below the environment the
caller names the id on Create (database_id), and the server assigns one when
it is omitted. - stands for any parent segment on List
(AIP-159). The registry's Resources:
| Resource type | Collection | Name pattern |
|---|---|---|
access.sylphx.com/ApiKey | api_keys | orgs/{org}/projects/{project}/envs/{env}/api_keys/{api_key} |
access.sylphx.com/Environment | envs | orgs/{org}/projects/{project}/envs/{env} |
access.sylphx.com/Org | orgs | orgs/{org} |
access.sylphx.com/Project | projects | orgs/{org}/projects/{project} |
access.sylphx.com/ServiceEnablement | service_enablements | orgs/{org}/projects/{project}/service_enablements/{service_enablement} |
agents.sylphx.com/Agent | agents | orgs/{org}/projects/{project}/envs/{env}/agents/{agent} |
agents.sylphx.com/AgentSession | agent_sessions | orgs/{org}/projects/{project}/envs/{env}/agent_sessions/{agent_session} |
agents.sylphx.com/AgentVersion | agent_versions | orgs/{org}/projects/{project}/envs/{env}/agents/{agent}/agent_versions/{agent_version} |
agents.sylphx.com/Memory | memories | orgs/{org}/projects/{project}/envs/{env}/memory_stores/{memory_store}/memories/{memory} |
agents.sylphx.com/MemoryStore | memory_stores | orgs/{org}/projects/{project}/envs/{env}/memory_stores/{memory_store} |
agents.sylphx.com/OwnerPool | owner_pools | orgs/{org}/projects/{project}/envs/{env}/owner_pools/{owner_pool} |
agents.sylphx.com/SessionEvent | session_events | orgs/{org}/projects/{project}/envs/{env}/agent_sessions/{agent_session}/session_events/{session_event} |
ai.sylphx.com/AiModel | ai_models | ai_models/{ai_model} |
artifacts.sylphx.com/Artifact | artifacts | orgs/{org}/projects/{project}/artifacts/{artifact} |
assets.sylphx.com/Asset | assets | orgs/{org}/projects/{project}/envs/{env}/assets/{asset} |
auth.sylphx.com/AuthConfig | auth_configs | orgs/{org}/projects/{project}/envs/{env}/auth_configs/{auth_config} |
auth.sylphx.com/CustomerOrganization | customer_organizations | orgs/{org}/projects/{project}/envs/{env}/customer_organizations/{customer_organization} |
auth.sylphx.com/EmailDomain | email_domains | orgs/{org}/projects/{project}/envs/{env}/customer_organizations/{customer_organization}/email_domains/{email_domain} |
auth.sylphx.com/EndUser | end_users | orgs/{org}/projects/{project}/envs/{env}/end_users/{end_user} |
auth.sylphx.com/Identity | identities | orgs/{org}/projects/{project}/envs/{env}/end_users/{end_user}/identities/{identity} |
auth.sylphx.com/Invitation | invitations | orgs/{org}/projects/{project}/envs/{env}/customer_organizations/{customer_organization}/invitations/{invitation} |
auth.sylphx.com/Membership | memberships | orgs/{org}/projects/{project}/envs/{env}/customer_organizations/{customer_organization}/memberships/{membership} |
auth.sylphx.com/OauthClient | oauth_clients | orgs/{org}/projects/{project}/envs/{env}/oauth_clients/{oauth_client} |
auth.sylphx.com/OrganizationRole | organization_roles | orgs/{org}/projects/{project}/envs/{env}/organization_roles/{organization_role} |
auth.sylphx.com/Session | sessions | orgs/{org}/projects/{project}/envs/{env}/end_users/{end_user}/sessions/{session} |
billing.sylphx.com/BillingAccount | billing_accounts | orgs/{org}/billing_accounts/{billing_account} |
billing.sylphx.com/BudgetLease | budget_leases | orgs/{org}/budget_leases/{budget_lease} |
billing.sylphx.com/Invoice | invoices | orgs/{org}/invoices/{invoice} |
billing.sylphx.com/Meter | meters | meters/{meter} |
billing.sylphx.com/Plan | plans | plans/{plan} |
billing.sylphx.com/UsageReport | usage_reports | orgs/{org}/usage_reports/{usage_report} |
broker.sylphx.com/TokenExchange | token_exchanges | orgs/{org}/trust_policies/{trust_policy}/token_exchanges/{token_exchange} |
broker.sylphx.com/TrustPolicy | trust_policies | orgs/{org}/trust_policies/{trust_policy} |
build.sylphx.com/Build | builds | orgs/{org}/projects/{project}/builds/{build} |
build.sylphx.com/BuildCache | build_caches | orgs/{org}/projects/{project}/build_caches/{build_cache} |
config.sylphx.com/ConfigChange | config_changes | orgs/{org}/projects/{project}/envs/{env}/config_changes/{config_change} |
config.sylphx.com/ConfigFlag | config_flags | orgs/{org}/projects/{project}/envs/{env}/config_flags/{config_flag} |
config.sylphx.com/ConfigSegment | config_segments | orgs/{org}/projects/{project}/envs/{env}/config_segments/{config_segment} |
connections.sylphx.com/Connection | connections | orgs/{org}/connections/{connection} |
connections.sylphx.com/ConnectionProvider | connection_providers | orgs/{org}/connection_providers/{connection_provider} |
data.sylphx.com/Bucket | buckets | orgs/{org}/projects/{project}/envs/{env}/buckets/{bucket} |
data.sylphx.com/Database | databases | orgs/{org}/projects/{project}/envs/{env}/databases/{database} |
data.sylphx.com/KvNamespace | kv_namespaces | orgs/{org}/projects/{project}/envs/{env}/kv_namespaces/{kv_namespace} |
data.sylphx.com/SearchIndex | search_indexes | orgs/{org}/projects/{project}/envs/{env}/search_indexes/{search_index} |
entitlement.sylphx.com/Entitlement | entitlements | orgs/{org}/entitlements/{entitlement} |
events.sylphx.com/Connector | connectors | orgs/{org}/projects/{project}/envs/{env}/connectors/{connector} |
events.sylphx.com/Event | events | orgs/{org}/projects/{project}/envs/{env}/events/{event} |
events.sylphx.com/InboundEndpoint | inbound_endpoints | orgs/{org}/projects/{project}/envs/{env}/inbound_endpoints/{inbound_endpoint} |
events.sylphx.com/Queue | queues | orgs/{org}/projects/{project}/envs/{env}/queues/{queue} |
events.sylphx.com/RealtimeChannel | realtime_channels | orgs/{org}/projects/{project}/envs/{env}/realtime_channels/{realtime_channel} |
events.sylphx.com/RealtimeMember | realtime_members | orgs/{org}/projects/{project}/envs/{env}/realtime_channels/{realtime_channel}/realtime_members/{realtime_member} |
events.sylphx.com/RealtimeMessage | realtime_messages | orgs/{org}/projects/{project}/envs/{env}/realtime_channels/{realtime_channel}/realtime_messages/{realtime_message} |
events.sylphx.com/Subscription | subscriptions | orgs/{org}/projects/{project}/envs/{env}/subscriptions/{subscription} |
events.sylphx.com/Topic | topics | orgs/{org}/projects/{project}/envs/{env}/topics/{topic} |
events.sylphx.com/WebhookDelivery | webhook_deliveries | orgs/{org}/projects/{project}/envs/{env}/webhook_endpoints/{webhook_endpoint}/webhook_deliveries/{webhook_delivery} |
events.sylphx.com/WebhookEndpoint | webhook_endpoints | orgs/{org}/projects/{project}/envs/{env}/webhook_endpoints/{webhook_endpoint} |
hosting.sylphx.com/Preview | previews | orgs/{org}/projects/{project}/envs/{env}/previews/{preview} |
hosting.sylphx.com/Rollout | service_rollouts | orgs/{org}/projects/{project}/envs/{env}/services/{service}/service_rollouts/{rollout} |
hosting.sylphx.com/Service | services | orgs/{org}/projects/{project}/envs/{env}/services/{service} |
hosting.sylphx.com/SourceLink | source_links | orgs/{org}/projects/{project}/source_links/{source_link} |
keys.sylphx.com/Key | keys | orgs/{org}/projects/{project}/envs/{env}/keys/{key} |
keys.sylphx.com/KeyVersion | key_versions | orgs/{org}/projects/{project}/envs/{env}/keys/{key}/key_versions/{key_version} |
knowledge.sylphx.com/Entity | entities | orgs/{org}/projects/{project}/envs/{env}/entities/{entity} |
knowledge.sylphx.com/Episode | episodes | orgs/{org}/projects/{project}/envs/{env}/spaces/{space}/episodes/{episode} |
knowledge.sylphx.com/KnowledgeSchema | knowledge_schemas | orgs/{org}/projects/{project}/envs/{env}/knowledge_schemas/{knowledge_schema} |
knowledge.sylphx.com/Relation | relations | orgs/{org}/projects/{project}/envs/{env}/spaces/{space}/relations/{relation} |
knowledge.sylphx.com/Space | spaces | orgs/{org}/projects/{project}/envs/{env}/spaces/{space} |
localization.sylphx.com/Catalog | catalogs | orgs/{org}/projects/{project}/envs/{env}/catalogs/{catalog} |
localization.sylphx.com/CatalogEntry | entries | orgs/{org}/projects/{project}/envs/{env}/catalogs/{catalog}/entries/{entry} |
localization.sylphx.com/Glossary | glossaries | orgs/{org}/projects/{project}/envs/{env}/glossaries/{glossary} |
money.sylphx.com/CheckoutPolicy | checkout_policies | orgs/{org}/projects/{project}/envs/{env}/checkout_policies/{checkout_policy} |
money.sylphx.com/CheckoutSession | checkout_sessions | orgs/{org}/projects/{project}/envs/{env}/checkout_sessions/{checkout_session} |
money.sylphx.com/CreditGrant | credit_grants | orgs/{org}/projects/{project}/envs/{env}/credit_grants/{credit_grant} |
money.sylphx.com/CustomerSubscription | customer_subscriptions | orgs/{org}/projects/{project}/envs/{env}/customer_subscriptions/{customer_subscription} |
money.sylphx.com/EntitlementGrant | entitlement_grants | orgs/{org}/projects/{project}/envs/{env}/entitlement_grants/{entitlement_grant} |
money.sylphx.com/ExchangeRate | exchange_rates | orgs/{org}/exchange_rates/{exchange_rate} |
money.sylphx.com/LicenceKey | licence_keys | orgs/{org}/projects/{project}/envs/{env}/licence_keys/{licence_key} |
money.sylphx.com/LicenceToken | licence_tokens | orgs/{org}/projects/{project}/envs/{env}/licence_tokens/{licence_token} |
money.sylphx.com/MerchantAccount | merchant_accounts | orgs/{org}/projects/{project}/envs/{env}/merchant_accounts/{merchant_account} |
money.sylphx.com/PortalSession | portal_sessions | orgs/{org}/projects/{project}/envs/{env}/portal_sessions/{portal_session} |
money.sylphx.com/PriceCatalog | price_catalogs | orgs/{org}/projects/{project}/envs/{env}/price_catalogs/{price_catalog} |
money.sylphx.com/RevenueFact | revenue_facts | orgs/{org}/revenue_facts/{revenue_fact} |
money.sylphx.com/RevenueSource | revenue_sources | orgs/{org}/revenue_sources/{revenue_source} |
money.sylphx.com/RevenueSummary | revenue | orgs/{org}/revenue |
money.sylphx.com/StoreConnection | store_connections | orgs/{org}/projects/{project}/envs/{env}/store_connections/{store_connection} |
money.sylphx.com/StorePurchase | store_purchases | orgs/{org}/projects/{project}/envs/{env}/store_purchases/{store_purchase} |
money.sylphx.com/TaxThresholdStatus | tax_threshold_statuses | orgs/{org}/projects/{project}/envs/{env}/tax_threshold_statuses/{tax_threshold_status} |
money.sylphx.com/UsageEvent | usage_events | orgs/{org}/projects/{project}/envs/{env}/usage_events/{usage_event} |
money.sylphx.com/UsageInvoice | usage_invoices | orgs/{org}/projects/{project}/envs/{env}/usage_invoices/{usage_invoice} |
money.sylphx.com/UsageMeter | usage_meters | orgs/{org}/projects/{project}/envs/{env}/usage_meters/{usage_meter} |
money.sylphx.com/UsageMeterPrice | usage_meter_prices | orgs/{org}/projects/{project}/envs/{env}/usage_meter_prices/{usage_meter_price} |
money.sylphx.com/UsageReservation | usage_reservations | orgs/{org}/projects/{project}/envs/{env}/usage_reservations/{usage_reservation} |
money.sylphx.com/UsageSettings | usage_settings | orgs/{org}/projects/{project}/envs/{env}/usage_settings/{usage_settings} |
money.sylphx.com/UsageTier | usage_tiers | orgs/{org}/projects/{project}/envs/{env}/usage_tiers/{usage_tier} |
network.sylphx.com/Certificate | certificates | orgs/{org}/projects/{project}/certificates/{certificate} |
network.sylphx.com/Domain | domains | orgs/{org}/projects/{project}/domains/{domain} |
network.sylphx.com/EgressIdentity | egress_identities | orgs/{org}/projects/{project}/egress_identities/{egress_identity} |
network.sylphx.com/PrivateLink | private_links | orgs/{org}/projects/{project}/envs/{env}/private_links/{private_link} |
network.sylphx.com/Route | routes | orgs/{org}/projects/{project}/envs/{env}/routes/{route} |
notify.sylphx.com/Broadcast | broadcasts | orgs/{org}/projects/{project}/envs/{env}/broadcasts/{broadcast} |
notify.sylphx.com/EmailDomain | mail_domains | orgs/{org}/projects/{project}/envs/{env}/mail_domains/{mail_domain} |
notify.sylphx.com/InboundEmail | inbound_emails | orgs/{org}/projects/{project}/envs/{env}/mailboxes/{mailbox}/inbound_emails/{inbound_email} |
notify.sylphx.com/InboxItem | inbox_items | orgs/{org}/projects/{project}/envs/{env}/recipients/{recipient}/inbox_items/{inbox_item} |
notify.sylphx.com/Mailbox | mailboxes | orgs/{org}/projects/{project}/envs/{env}/mailboxes/{mailbox} |
notify.sylphx.com/MailboxConnectLink | mailbox_connect_links | orgs/{org}/projects/{project}/envs/{env}/mailbox_connect_links/{mailbox_connect_link} |
notify.sylphx.com/MailboxOauthApp | mailbox_oauth_apps | orgs/{org}/projects/{project}/envs/{env}/mailbox_oauth_apps/{mailbox_oauth_app} |
notify.sylphx.com/Message | messages | orgs/{org}/projects/{project}/envs/{env}/messages/{message} |
notify.sylphx.com/Preference | preferences | orgs/{org}/projects/{project}/envs/{env}/recipients/{recipient}/preferences/{preference} |
notify.sylphx.com/Recipient | recipients | orgs/{org}/projects/{project}/envs/{env}/recipients/{recipient} |
notify.sylphx.com/Route | mail_routes | orgs/{org}/projects/{project}/envs/{env}/mail_domains/{mail_domain}/mail_routes/{mail_route} |
notify.sylphx.com/Sender | senders | orgs/{org}/projects/{project}/envs/{env}/senders/{sender} |
notify.sylphx.com/Suppression | suppressions | orgs/{org}/projects/{project}/envs/{env}/suppressions/{suppression} |
notify.sylphx.com/Template | templates | orgs/{org}/projects/{project}/envs/{env}/templates/{template} |
observability.sylphx.com/ErrorEvent | error_events | orgs/{org}/projects/{project}/envs/{env}/error_groups/{error_group}/error_events/{error_event} |
observability.sylphx.com/ErrorGroup | error_groups | orgs/{org}/projects/{project}/envs/{env}/error_groups/{error_group} |
observability.sylphx.com/Generation | generations | orgs/{org}/projects/{project}/envs/{env}/generations/{generation} |
observability.sylphx.com/LogEntry | log_entries | orgs/{org}/projects/{project}/envs/{env}/log_entries/{log_entry} |
observability.sylphx.com/ScrubbingPolicy | scrubbing_policies | orgs/{org}/projects/{project}/envs/{env}/scrubbing_policies/{scrubbing_policy} |
observability.sylphx.com/SourceMap | source_maps | orgs/{org}/projects/{project}/envs/{env}/source_maps/{source_map} |
observability.sylphx.com/Trace | traces | orgs/{org}/projects/{project}/envs/{env}/traces/{trace} |
release.sylphx.com/Release | releases | orgs/{org}/projects/{project}/envs/{env}/releases/{release} |
release.sylphx.com/Rollout | rollouts | orgs/{org}/projects/{project}/envs/{env}/rollouts/{rollout} |
runners.sylphx.com/Runner | runners | orgs/{org}/scale_sets/{scale_set}/runners/{runner} |
runners.sylphx.com/ScaleSet | scale_sets | orgs/{org}/scale_sets/{scale_set} |
sandboxes.sylphx.com/Lease | leases | orgs/{org}/projects/{project}/envs/{env}/leases/{lease} |
sandboxes.sylphx.com/LeaseEvent | lease_events | orgs/{org}/projects/{project}/envs/{env}/leases/{lease}/lease_events/{lease_event} |
sandboxes.sylphx.com/Pool | pools | orgs/{org}/projects/{project}/envs/{env}/pools/{pool} |
sandboxes.sylphx.com/Shape | sandbox_shapes | sandbox_shapes/{shape} |
sandboxes.sylphx.com/Snapshot | snapshots | orgs/{org}/projects/{project}/envs/{env}/snapshots/{snapshot} |
sandboxes.sylphx.com/Volume | volumes | orgs/{org}/projects/{project}/envs/{env}/volumes/{volume} |
secrets.sylphx.com/Profile | profiles | orgs/{org}/projects/{project}/envs/{env}/profiles/{profile} |
secrets.sylphx.com/ProfileVersion | profile_versions | orgs/{org}/projects/{project}/envs/{env}/profiles/{profile}/profile_versions/{profile_version} |
secrets.sylphx.com/Secret | secrets | orgs/{org}/projects/{project}/envs/{env}/secrets/{secret} |
secrets.sylphx.com/SecretBinding | secret_bindings | orgs/{org}/projects/{project}/envs/{env}/secret_bindings/{secret_binding} |
secrets.sylphx.com/SecretVersion | secret_versions | orgs/{org}/projects/{project}/envs/{env}/secrets/{secret}/secret_versions/{secret_version} |
workflows.sylphx.com/DistributedJob | distributed_jobs | orgs/{org}/projects/{project}/envs/{env}/distributed_jobs/{distributed_job} |
workflows.sylphx.com/DistributedRun | distributed_runs | orgs/{org}/projects/{project}/envs/{env}/distributed_jobs/{distributed_job}/distributed_runs/{distributed_run} |
workflows.sylphx.com/Job | jobs | orgs/{org}/projects/{project}/envs/{env}/jobs/{job} |
workflows.sylphx.com/JobRun | job_runs | orgs/{org}/projects/{project}/envs/{env}/jobs/{job}/job_runs/{job_run} |
workflows.sylphx.com/Run | runs | orgs/{org}/projects/{project}/envs/{env}/workflows/{workflow}/runs/{run} |
workflows.sylphx.com/Schedule | schedules | orgs/{org}/projects/{project}/envs/{env}/schedules/{schedule} |
workflows.sylphx.com/Workflow | workflows | orgs/{org}/projects/{project}/envs/{env}/workflows/{workflow} |
#Pagination
List methods take page_size (50 by default, at most 1000) and an opaque
page_token; the answer carries the items and, when there is more,
next_page_token. A token is bound to the parent, the filter, the ordering and
the caller, and reusing it otherwise is INVALID_ARGUMENT
(PAGE_TOKEN_MISMATCH). The paginated collections:
| Collection | List | Answer carries |
|---|---|---|
| orgs | list | orgs, next_page_token |
| projects | list | projects, next_page_token |
| envs | list | envs, next_page_token |
| service_enablements | list | service_enablements, next_page_token |
| api_keys | list | api_keys, next_page_token |
| agents | list | agents, next_page_token |
| agent_versions | list | agent_versions, next_page_token |
| agent_sessions | list | agent_sessions, next_page_token |
| session_events | list | session_events, next_page_token |
| memory_stores | list | memory_stores, next_page_token |
| memories | list | memories, next_page_token |
| owner_pools | list | owner_pools, next_page_token |
| ai_models | list | ai_models, next_page_token |
| artifacts | list | artifacts, next_page_token |
| assets | list | assets, next_page_token |
| end_users | list | end_users, next_page_token |
| sessions | list | sessions, next_page_token |
| identities | list | identities, next_page_token |
| customer_organizations | list | customer_organizations, next_page_token |
| memberships | list | memberships, next_page_token |
| organization_roles | list | organization_roles, next_page_token |
| invitations | list | invitations, next_page_token |
| email_domains | list | email_domains, next_page_token |
| oauth_clients | list | oauth_clients, next_page_token |
| meters | list | meters, next_page_token |
| plans | list | plans, next_page_token |
| billing_accounts | list | billing_accounts, next_page_token |
| invoices | list | invoices, next_page_token |
| usage_reports | list | usage_reports, next_page_token |
| budget_leases | list | budget_leases, next_page_token |
| trust_policies | list | trust_policies, next_page_token |
| token_exchanges | list | token_exchanges, next_page_token |
| builds | list | builds, next_page_token |
| build_caches | list | build_caches, next_page_token |
| config_flags | list | config_flags, next_page_token |
| config_segments | list | config_segments, next_page_token |
| config_changes | list | config_changes, next_page_token |
| connection_providers | list | connection_providers, next_page_token |
| connections | list | connections, next_page_token |
| databases | list | databases, next_page_token |
| kv_namespaces | list | kv_namespaces, next_page_token |
| buckets | list | buckets, next_page_token |
| search_indexes | list | search_indexes, next_page_token |
| entitlements | list | entitlements, next_page_token |
| topics | list | topics, next_page_token |
| events | list | events, next_page_token |
| connectors | list | connectors, next_page_token |
| subscriptions | list | subscriptions, next_page_token |
| queues | list | queues, next_page_token |
| webhook_endpoints | list | webhook_endpoints, next_page_token |
| webhook_deliveries | list | webhook_deliveries, next_page_token |
| inbound_endpoints | list | inbound_endpoints, next_page_token |
| realtime_channels | list | realtime_channels, next_page_token |
| realtime_messages | list | realtime_messages, next_page_token |
| realtime_members | list | realtime_members, next_page_token |
| services | list | services, next_page_token |
| service_rollouts | list | service_rollouts, next_page_token |
| previews | list | previews, next_page_token |
| source_links | list | source_links, next_page_token |
| keys | list | keys, next_page_token |
| key_versions | list | key_versions, next_page_token |
| spaces | list | spaces, next_page_token |
| knowledge_schemas | list | knowledge_schemas, next_page_token |
| episodes | list | episodes, next_page_token |
| entities | list | entities, next_page_token |
| relations | list | relations, next_page_token |
| catalogs | list | catalogs, next_page_token |
| entries | list | catalog_entries, next_page_token |
| glossaries | list | glossaries, next_page_token |
| store_connections | list | store_connections, next_page_token |
| store_purchases | list | store_purchases, next_page_token |
| customer_subscriptions | list | customer_subscriptions, next_page_token |
| entitlement_grants | list | entitlement_grants, next_page_token |
| merchant_accounts | list | merchant_accounts, next_page_token |
| tax_threshold_statuses | list | tax_threshold_statuses, next_page_token |
| licence_keys | list | licence_keys, next_page_token |
| licence_tokens | list | licence_tokens, next_page_token |
| usage_tiers | list | usage_tiers, next_page_token |
| usage_events | list | usage_events, next_page_token |
| credit_grants | list | credit_grants, next_page_token |
| usage_invoices | list | usage_invoices, next_page_token |
| usage_meters | list | usage_meters, next_page_token |
| usage_meter_prices | list | usage_meter_prices, next_page_token |
| revenue_sources | list | revenue_sources, next_page_token |
| revenue_facts | list | revenue_facts, next_page_token |
| exchange_rates | list | exchange_rates, next_page_token |
| domains | list | domains, next_page_token |
| certificates | list | certificates, next_page_token |
| routes | list | routes, next_page_token |
| egress_identities | list | egress_identities, next_page_token |
| private_links | list | private_links, next_page_token |
| mail_domains | list | email_domains, next_page_token |
| mail_routes | list | routes, next_page_token |
| senders | list | senders, next_page_token |
| recipients | list | recipients, next_page_token |
| preferences | list | preferences, next_page_token |
| suppressions | list | suppressions, next_page_token |
| templates | list | templates, next_page_token |
| messages | list | messages, next_page_token |
| mailboxes | list | mailboxes, next_page_token |
| mailbox_oauth_apps | list | mailbox_oauth_apps, next_page_token |
| mailbox_connect_links | list | mailbox_connect_links, next_page_token |
| inbound_emails | list | inbound_emails, next_page_token |
| inbox_items | list | inbox_items, next_page_token |
| broadcasts | list | broadcasts, next_page_token |
| generations | list | generations, next_page_token |
| error_groups | list | error_groups, next_page_token |
| error_events | list | error_events, next_page_token |
| source_maps | list | source_maps, next_page_token |
| releases | list | releases, next_page_token |
| rollouts | list | rollouts, next_page_token |
| scale_sets | list | scale_sets, next_page_token |
| runners | list | runners, next_page_token |
| sandbox_shapes | list | sandbox_shapes, next_page_token |
| pools | list | pools, next_page_token |
| leases | list | leases, next_page_token |
| lease_events | list | lease_events, next_page_token |
| volumes | list | volumes, next_page_token |
| snapshots | list | snapshots, next_page_token |
| secrets | list | secrets, next_page_token |
| secret_versions | list | secret_versions, next_page_token |
| secret_bindings | list | secret_bindings, next_page_token |
| profiles | list | profiles, next_page_token |
| profile_versions | list | profile_versions, next_page_token |
| workflows | list | workflows, next_page_token |
| schedules | list | schedules, next_page_token |
| runs | list | runs, next_page_token |
| jobs | list | jobs, next_page_token |
| job_runs | list | job_runs, next_page_token |
| distributed_jobs | list | distributed_jobs, next_page_token |
| distributed_runs | list | distributed_runs, next_page_token |
#Idempotency
Every mutating method accepts Idempotency-Key (1–255 printable ASCII). The
first call runs; a replay of the same request within 24 hours returns the stored
answer with Sylphx-Idempotent-Replay: true, a replay with a different body is
IDEMPOTENCY_KEY_REUSED (422), and a replay while the first call is still running
is IDEMPOTENCY_IN_PROGRESS (409), which is worth retrying.
376 of the 701 methods here have an effect other than read; 26 of them also take
validate_only=true (AIP-163), which runs every
check a write would run and then writes nothing.
Writes are also guarded by etags: Get answers with an ETag equal to
meta.etag, Update and Delete accept If-Match or etag
(AIP-154), and a mismatch is ETAG_MISMATCH
(409) with the current etag in the error's details, so a client re-reads and
retries.
#Errors
A failed call answers with one RFC 9457 problem body carrying a stable
code, whether the failure is retryable, and what it did to your data. The body
and the retry rules are in Errors; each method page here
lists the codes that method can return, and the 34 codes in the registry have a
page each in the index below.
#Versions
A request may pin the behaviour it was written against with
Sylphx-Version: YYYY-MM-DD; the response echoes the version that was applied.
The version stream is in API versions.
#Watch
Long-running work — a deploy, a database creation — is followed through the
resource API's streaming surface: a list or a detail view watches
GET /v1/{parent}/{collection}:watch as Server-Sent Events, and a reconnect
resumes from the SSE Last-Event-ID. The contracts do not declare a watch method
yet, so it is not part of this generated reference; a page here documents the
request/response surface only.
#Services
| Service | Stage | What it is | Collections |
|---|---|---|---|
| Sylphx Access | preview | Sylphx Access: orgs, projects, environments, and API keys. Access is the only writer of these types. | orgs, projects, envs, service_enablements, api_keys |
| Sylphx Agents | preview | Sylphx Agents, the platform's hosted agent runtime (ADR-01M495TCCBZGSQ68A4P4G428H2). Apps call it instead of building their own agent loop, session store, memory and credential handling. | agents, agent_versions, agent_sessions, session_events, memory_stores, memories, owner_pools |
| Sylphx AI | preview | the Resource side of Sylphx AI: the model catalog. | ai_models |
| Sylphx Artifacts | preview | Sylphx Artifacts: immutable content by digest, with its SBOM and provenance. Sylphx Build writes them; Release reads them. | artifacts |
| Sylphx Generated Assets | preview | Sylphx Generated Assets: declare images in code, generate them once, lock them, and serve them from a CDN by content hash. An Asset holds a recipe and its variants; :generate makes what is missing, and :lock returns the assets.lock text a build commits. Generation happens only in these calls, never at build or run time. | assets |
| Sylphx Auth | preview | Sylphx Auth's management surface: sign-in for a customer's own users, their sessions, customer organizations, and OAuth clients. Sylphx orgs, members, principals, and keys are Sylphx Access, never Auth. End-user ceremonies (sign-in, recovery, OAuth authorize and token) are protocol endpoints, not Resource methods. | auth_configs, end_users, sessions, identities, customer_organizations, memberships, organization_roles, invitations, email_domains, oauth_clients |
| Sylphx Billing | preview · not available yet | Sylphx Billing: the meter and plan catalog, each org's billing account and plan, its invoices, usage, and budget leases. Usage arrives through each service's spool, never through this API; no request path calls Billing. | meters, plans, billing_accounts, invoices, usage_reports, budget_leases |
| Sylphx Broker | preview | the credential service: workload identity in, short-lived scoped provider credential out. | trust_policies, token_exchanges |
| Sylphx Build | preview | Sylphx Build: one command or one image over a commit or an uploaded tree, on an offline build lease beside a warm workspace, with one cache per project. Images carry an SBOM and signed SLSA provenance, all written to Sylphx Artifacts by digest. | builds, build_caches |
| Sylphx Config | preview | Sylphx Config: dynamic configuration and feature flags evaluated in each cell from that cell's snapshot. | config_flags, config_segments, config_changes |
| Sylphx Connections | preview | Sylphx Connections: Connection Providers and their installations as Resources. | connection_providers, connections |
| Sylphx Data | preview | DataPlaneService is the data plane of Sylphx Data: object bytes, key-value entries (strings, counters, hashes, lists, and sorted sets), and search documents in an environment's buckets, KV namespaces, and search indexes. It is served by Data itself at its origin, not by the Resource API, and is called with the environment's secret key (SYLPHX_API_KEY); the key's org, project, and environment are the tenant. Every call carries a new Sylphx-Effect-Id, which the SDK sends and reuses on retries. | objects, kv, documents, search, databases, kv_namespaces, buckets, search_indexes |
| Sylphx Entitlement | preview · not available yet | the read-only view of Sylphx Entitlement. Billing writes it through the Resource store; this service has no mutation. | entitlements |
| Sylphx Events | preview | Sylphx Events: the event bus, queues, outbound and inbound webhooks, and realtime channels. Publish, lease, ack, and delivery run in each cell from that cell's snapshot. | topics, events, connectors, subscriptions, queues, webhook_endpoints, webhook_deliveries, inbound_endpoints, realtime_channels, realtime_messages, realtime_members |
| Sylphx Hosting | preview · not available yet | Sylphx Hosting: Services that build from source or run an existing Artifact, ship as Releases in waves, get a Preview per pull request, and read their source through a SourceLink. | services, service_rollouts, previews, source_links |
| Sylphx Keys | preview | Sylphx Keys: non-exportable keys on the regional signer. Callers use a key; no method returns key material. | keys, key_versions |
| Sylphx Knowledge | preview · not available yet | Sylphx Knowledge: one permission-aware knowledge graph that people, apps and agents write while they work and read through search with citations. Episodes are the sources; entities and relations (facts) are what is known, each with provenance and valid and recorded time. Every record lives in one Space, and a caller sees a record only through a space it may read, so a context pack or an answer never cites a source the caller cannot open. | spaces, knowledge_schemas, episodes, entities, relations |
| Sylphx Localization | preview | Sylphx Localization: translate an app's strings in CI with AI, a translation memory, and a glossary. A Catalog holds the source messages and their translations; :sync translates what is new or changed, and :export returns the files per locale with a QA report. Translation happens only in these calls, never at build or run time. | catalogs, entries, glossaries |
| Sylphx Money | preview | Sylphx Money's customer payments: an app sells to its own users through the stores and processors Money integrates once, and asks one question on its request path, "does this subject have this feature". | price_catalogs, checkout_policies, store_connections, store_purchases, customer_subscriptions, entitlement_grants, merchant_accounts, checkout_sessions, tax_threshold_statuses, portal_sessions, licence_keys, licence_tokens, usage_settings, usage_tiers, usage_reservations, usage_events, credit_grants, usage_invoices, usage_meters, usage_meter_prices, revenue_sources, revenue, revenue_facts, exchange_rates |
| Sylphx Network | preview · not available yet | Sylphx Network: verified domains, exact routes served by each cell's edge from its snapshot, certificates Sylphx terminates, declared egress addresses, and private links. | domains, certificates, routes, egress_identities, private_links |
| Sylphx Notify | preview | Sylphx Notify: messages to people over email, SMS, push, and in-app inbox, with preferences, suppression, templates, and broadcasts. Notify is built on Sylphx Events as an ordinary customer. | mail_domains, mail_routes, senders, recipients, preferences, suppressions, templates, messages, mailboxes, mailbox_oauth_apps, mailbox_connect_links, inbound_emails, inbox_items, broadcasts |
| Sylphx Observability | preview | Sylphx Observability's log, trace, and error surface: ingest through the emitter-side buffer, tenant-fenced bounded queries, and error-group triage. Observability is only ever a soft dependency. | log_entries, traces, generations, error_groups, error_events, source_maps, scrubbing_policies |
| Sylphx Realtime | preview · not available yet | ChannelService is the Channel API of Sylphx Realtime: the server side that configures namespaces, publishes, reads history, lists presence, and mints the tokens clients connect with. It is served by the Events service at the Realtime origin, not by the Resource API, and is called with the environment's secret key (SYLPHX_API_KEY); the key's org, project and environment are the tenant. Clients connect with a token over the Sylphx channel protocol v1 (protocol.proto). | namespaces, channels, tokens, bindings |
| Sylphx Release | preview · not available yet | Sylphx Release: the only deployable unit and the progress of its rollouts. Releases are immutable; there is no Update or Delete. | releases, rollouts |
| Sylphx Runners | preview · not available yet | Sylphx Runners: CI runners of a class sylphx-<os>-<size>, one clean Sandboxes lease per job, registered as scale sets on a Sylphx Runners installation. Runners are read-only: GitHub matches jobs to runners, and Runners reports them. | scale_sets, runners |
| Sylphx Sandboxes | preview | Sylphx Sandboxes: isolated machines leased for a bounded time, granted immediately or refused with a typed reason, and destroyed before anyone else can touch them. Every agent-computer surface is here: exec and files, computer actions that map one-to-one onto the Anthropic computer tool and OpenAI computer-use actions and return the post-action screenshot in the same call, CDP, live streams, and human takeover. The streaming guest protocol (E2B envd) is served at status.endpoints.guest_uri. | sandbox_shapes, pools, leases, lease_events, volumes, snapshots |
| Sylphx Secrets | preview | Sylphx Secrets: write-only, versioned values and the bindings that deliver them. Reading a value back is the separate break-glass permission secrets:access. | secrets, secret_versions, secret_bindings, profiles, profile_versions |
| Sylphx Workflows | preview | Sylphx Workflows: durable execution, schedules, timers, and runs. Workflows is the one writer of these types. | workflows, schedules, runs, jobs, job_runs, distributed_jobs, distributed_runs |
#Service-level methods
A few calls belong to a service rather than to one of its collections, and have a page each:
| Method | HTTP | Scope | What it does |
|---|---|---|---|
access.whoami | GET | access:whoami | Returns the caller: the principal and the scope of the key or token that authenticated this request. Clients fill their org, project, and env defaults from it; every valid key may call it, whatever its scopes. |
#Error codes
Every code the platform declares, with the HTTP status a caller sees and the gRPC status the SDKs report.
| Code | HTTP | gRPC | What it means |
|---|---|---|---|
UNKNOWN_FIELD | 400 | INVALID_ARGUMENT | The request has a field the schema does not know. |
INVALID_FIELD | 400 | INVALID_ARGUMENT | A field failed validation. |
PAGE_TOKEN_MISMATCH | 400 | INVALID_ARGUMENT | A page token was reused with different parameters. |
IDEMPOTENCY_KEY_REUSED | 422 | INVALID_ARGUMENT | An Idempotency-Key was reused with another body. |
IDEMPOTENCY_IN_PROGRESS | 409 | ABORTED | The first call with this Idempotency-Key is still running. |
ETAG_MISMATCH | 409 | ABORTED | The etag sent does not match the Resource's current etag. |
RESOURCE_NOT_FOUND | 404 | NOT_FOUND | The named Resource does not exist or is not visible. |
RESOURCE_ALREADY_EXISTS | 409 | ALREADY_EXISTS | A Resource with this name exists. |
UNAUTHENTICATED | 401 | UNAUTHENTICATED | No valid key or token was presented. |
PERMISSION_DENIED | 403 | PERMISSION_DENIED | The key lacks the method's permission. |
DELETION_PROTECTED | 400 | FAILED_PRECONDITION | spec.deletion_protection blocks the delete. |
RECONCILE_FAILED | 400 | FAILED_PRECONDITION | The controller reported Stalled or Ready=FALSE. |
PLAN_LIMIT_REACHED | 402 | FAILED_PRECONDITION | The plan's limit is reached. |
SPEND_LIMIT_REACHED | 402 | FAILED_PRECONDITION | The org's spend limit is reached. |
RATE_LIMITED | 429 | RESOURCE_EXHAUSTED | The rate limit is reached; see Retry-After. |
INVALID_STATE | 400 | FAILED_PRECONDITION | The Resource is in a state that forbids the call. |
INTERNAL | 500 | INTERNAL | An internal fault; the cause is in Observability by request id. |
UNAVAILABLE | 503 | UNAVAILABLE | The Resource store, the owning service's backend, or the key verifier's snapshot is unavailable; retry after Retry-After. |
UNIMPLEMENTED | 501 | UNIMPLEMENTED | The path or method is not served (yet) at this version. |
NOT_YET_PROPAGATED | 401 | UNAUTHENTICATED | A key created seconds ago has not reached the cell serving this request yet; retry within active_after_ms. |
DEADLINE_EXCEEDED | 504 | DEADLINE_EXCEEDED | The client deadline passed before the work committed. |
NOT_FOUND | 404 | NOT_FOUND | No method is served at this path. |
CONTRACT_SKEW | 503 | UNAVAILABLE | The backend serves another contract image than the API endpoint for this service; the Release rolls them in order. |
NO_CAPACITY | 503 | UNAVAILABLE | No machine can be granted now (immediate-or-fail); retry after Retry-After. |
SHAPE_NOT_OFFERED | 422 | FAILED_PRECONDITION | The requested shape or kind is not sold. |
STALE_GENERATION | 409 | ABORTED | The call named a lease generation or control epoch that is no longer current. |
RESOURCE_IN_USE | 409 | FAILED_PRECONDITION | The Resource is attached to or held by another Resource, for example a volume attached to a running lease. |
CONTROL_HELD | 409 | FAILED_PRECONDITION | Another holder has input control of the display. |
CONTROL_HELD_BY_HUMAN | 409 | FAILED_PRECONDITION | A human has taken over the display; agent input and screenshots are refused until control is released or expires. |
INVALID_ID | 400 | INVALID_ARGUMENT | A name segment is not a current id, and no id map row moves it. |
ETAG_CONFLICT | 400 | INVALID_ARGUMENT | The If-Match header and the request's etag name different etags; send one, or the same. |
VALIDATE_ONLY_NOT_SUPPORTED | 400 | INVALID_ARGUMENT | The method has no dry run; a request with validate_only is refused before anything is written. |
ID_MOVED | 500 | 308 on GET/HEAD | 308 on GET/HEAD: the id in the name moved in the identifiers cut; Location and Sylphx-Moved-To carry the new one, and the body is {"error":"id_moved","old":…,"new":…}, for the 14-day window of the owning service. The Resource-API moved-id resolver answers it in front of every service. |
EXEC_OUTCOME_UNKNOWN | 409 | FAILED_PRECONDITION | A keyed command was dispatched to the guest but its outcome was lost (the dispatcher, the stream, or the lease ended before the result was recorded). The key never runs again; the command may or may not have taken effect. Not retryable with the same key. |