Skip to main content
POST
Create service account
Requires the IAM action iam:CreateServiceAccount. See IAM permissions for the full list, what each one covers, and an example policy.

Authorizations

Authorization
string
header
required

An OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. This is the recommended way to authenticate.

Get one by exchanging a service account's access key pair at POST /v1/oauth/token with grant_type=client_credentials. It is the standard client-credentials grant, so any OAuth-aware library will obtain and refresh it for you.

Tokens last an hour by default. The same access key pair is separately your AWS SigV4 credential for the S3-compatible object endpoint, which speaks nothing else.

Headers

Idempotency-Key
string

Optional client-generated key that makes a create replay-safe. Retrying a request with the same key returns the original outcome verbatim instead of creating a duplicate resource. Reusing a key with a different request body is rejected (422); a request whose key is still being processed returns 409. Records are honored for 24 hours. Use a UUID or similarly unique token.

Maximum string length: 255

Body

application/json
name
string
required

Immutable account-scoped name. The Linux login is sa_. Resource names must not start with the literal crn: prefix or be UUIDs.

Required string length: 2 - 29
Pattern: ^[a-z][a-z0-9-]*[a-z0-9]$
Example:

"ci-cd-pipeline"

description
string
Maximum string length: 1000
Example:

"Service account for automated deployments"

tags
object
Example:

Response

Service account created

service_account
object

An API-only identity for programmatic access, bound to an account