Skip to content
Console
Menu

Getting Started

Authentication

KV Store

Begin registration on a connection provider

Begins an expiring, one-use GitHub manifest registration ceremony.

Begins an expiring, one-use GitHub manifest registration ceremony. Open registration_url to POST the bound, prefilled manifest to GitHub. github_organization selects organization ownership. The state-authorized callback is GET /v1/connections/github-manifest:callback?state=...&code=... and returns only provider metadata and an installation URL.

  • Path POST https://api.sylphx.com/v1/orgs/acme/connection_providers:beginRegistration
  • Scope connections:admin
  • Effect write — a successful call changes state.
  • Collection connection_providers

#Request

FieldTypeWhat it is
parentstringThe organization that will own the provider and custody references. Required.
connection_provider_idstringExplicit immutable provider identity. Required.
signing_keystringUnused environment-scoped public Keys target in this organization. Required.
webhook_secretstringEnvironment-scoped Secrets custody target in this organization. Required.
github_manifestGitHubAppManifestPermissions, events and the declared platform webhook destination. Required.
expected_github_app_slugstringSlug whose literal wrapped-import path has been enrolled in custody. Renaming the App at GitHub causes the callback to refuse before import. Required.
github_organizationstringGitHub organization that will own the App; unset selects a personal account.

#GitHubAppManifest

FieldTypeWhat it is
namestringProposed GitHub display name. Required.
urlstringHTTPS homepage, not an OAuth callback or webhook destination. Required.
publicboolWhether other accounts may install the App. This is GitHub's own manifest key, which clients must read and write verbatim; the JSON, SDK, CLI and Terraform names therefore stay public too.
default_permissionsmap<string, string>GitHub read/write permissions; metadata:read is always included. Required.
default_eventsstring[]GitHub webhook events to subscribe to. Required.
hook_attributesGitHubManifestHookAttributesOnly declared receiving endpoints on the platform origin are accepted. Required.

#GitHubManifestHookAttributes

FieldTypeWhat it is
urlstringhttps://api.sylphx.com/v1/orgs/&#123;org&#125;/connection_providers/&#123;provider&#125;/github:webhook; org and provider must match this registration's parent and provider id. Required.
activeboolMust be true: deliveries verify the generated secret at the receiver. Required.

#Response

FieldTypeWhat it is
statestringCryptographic one-use capability; never log or persist client-side.
callback_urlstringActual state-authorized callback, requiring no ordinary Access bearer.
registration_urlstringOpen with GET: launches the stored manifest POST to GitHub, including state.
manifeststringJSON-encoded normalized intent, for inspecting the requested configuration.
expire_timetimestampState expires ten minutes after begin.

#Errors

Every error arrives in the body Errors describes.

#Examples

curl -X POST "https://api.sylphx.com/v1/orgs/acme/connection_providers:beginRegistration" \
  -H "Authorization: Bearer $SYLPHX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"connection_provider_id":"…","expected_github_app_slug":"…","github_manifest":{"default_events":["…"],"default_permissions":{},"hook_attributes":{"active":false,"url":"…"},"name":"…","url":"…"},"signing_key":"…","webhook_secret":"…"}'