> ## Documentation Index
> Fetch the complete documentation index at: https://developers.redo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Service accounts

> Service accounts that call the API, and the API keys, public keys, and federated policies they authenticate with.

## Queries

* [`serviceUser`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/queries/service-user) **(Experimental)** — Fetch a service account by its id.
* [`serviceUsers`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/queries/service-users) **(Experimental)** — List service accounts.

## Mutations

* [`serviceUserApiKeyCreate`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/mutations/service-user-api-key-create) **(Experimental)** — Add an API key to a service account. Returns the key once. Returns null if the caller has no service account with that id.
* [`serviceUserCreate`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/mutations/service-user-create) **(Experimental)** — Create a service account. Add credentials to it afterward.
* [`serviceUserCredentialDelete`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/mutations/service-user-credential-delete) **(Experimental)** — Delete an API key, public key, or federated policy. It stops working at once. Returns false if the caller has no credential with that id.
* [`serviceUserDelete`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/mutations/service-user-delete) **(Experimental)** — Delete a service account. Its credentials stop working at once. Returns false if the caller has no service account with that id.
* [`serviceUserFederatedPolicyCreate`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/mutations/service-user-federated-policy-create) **(Experimental)** — Add a federated policy to a service account. Returns null if the caller has no service account with that id.
* [`serviceUserPublicKeyCreate`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/mutations/service-user-public-key-create) **(Experimental)** — Add a public key to a service account. Returns null if the caller has no service account with that id.
* [`serviceUserUpdate`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/mutations/service-user-update) **(Experimental)** — Update a service account. Returns null if the caller has no service account with that id.

## Objects

* [`ServiceUser`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/service-user) — A non-human principal that calls the Redo API with its own scopes. It authenticates with any number of credentials, each granting its scopes.
* [`ServiceUserApiKey`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/service-user-api-key) — A Redo-issued secret (`redo_sk_…`) sent as a bearer token. Only its last four characters are kept for display.
* [`ServiceUserClaimCondition`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/service-user-claim-condition) — A condition a federated token's claims must meet.
* [`ServiceUserFederatedPolicy`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/service-user-federated-policy) — Trusts OpenID Connect tokens from an external issuer, such as a CI provider, whose claims meet every condition.
* [`ServiceUserPublicKey`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/service-user-public-key) — A public key that verifies the JWT assertions the caller signs with its private key.

## Interfaces

* [`ServiceUserCredential`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/service-user-credential) — Something a service account authenticates with: an API key, a public key, or a federated policy. Each has the service account's scopes.

## Input objects

* [`ServiceUserClaimConditionInput`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/service-user-claim-condition-input) — A condition a federated token's claims must meet.
* [`ServiceUserCreateInput`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/service-user-create-input) — Input for creating a service account.
* [`ServiceUserCredentialCreateInput`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/service-user-credential-create-input) — What every kind of credential takes.
* [`ServiceUserFederatedPolicyCreateInput`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/service-user-federated-policy-create-input) — Input for adding a federated policy to a service account.
* [`ServiceUserPublicKeyCreateInput`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/service-user-public-key-create-input) — Input for adding a public key to a service account.
* [`ServiceUserUpdateInput`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/service-user-update-input) — Input for updating a service account. Omitted fields are left unchanged.

## Enums

* [`ApiScope`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/api-scope) — Access to one kind of resource in the Redo API.
* [`ServiceUserManager`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/service-user-manager) — Who manages a service account.
* [`ServiceUserSortKey`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/service-user-sort-key) — A field this list can be ordered by; pass to the list's `orderBy` argument and pair with `reverse` to flip direction.
* [`ServiceUserStatus`](https://developers.redo.com/docs/api-reference/v3/reference/service-users/service-user-status) — Whether a service account can authenticate.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.