Skip to main content
A service account is a non-human member of an organization, assigned a role (its scopes). An OIDC trust lets an external workload (e.g. a GitHub Actions run) exchange its OIDC token for a short-lived Synthetiq token that acts as a service account — no stored credentials. This is the identity model behind BYOI CI provisioning. Node SDK: sdk.serviceAccounts.* and sdk.oidcTrusts.*. See Node SDK.

Service accounts

List service accounts

Returns the organization’s service accounts, each with its role and OIDC trusts. Authentication: Organization member + org:service-accounts scope (token: platform:orgs:service-accounts:read).

Create service account

Authentication: Organization member + org:service-accounts scope (token: platform:orgs:service-accounts:write).

Update service account

Authentication: Organization member + org:service-accounts scope.

Delete service account

Authentication: Organization member + org:service-accounts scope.

OIDC trusts

A trust binds an (issuer, subject) pair to a service account. When a request presents an OIDC token whose issuer and subject match, the platform mints a Synthetiq token for that service account.

List OIDC trusts

Authentication: Organization member + org:trusts scope (token: platform:orgs:trusts:read).

Create OIDC trust

The subject is the security boundary — keep it exact (a specific repo and ref), never a wildcard. Authentication: Organization member + org:trusts scope (token: platform:orgs:trusts:write).

Update OIDC trust

Updates issuer_url, subject, user_id, and/or description. Authentication: Organization member + org:trusts scope.

Delete OIDC trust

Authentication: Organization member + org:trusts scope.

See also