Skip to content

Update an API client

PATCH
/auth/clients/{id}
curl --request PATCH \
--url https://apisandbox.puurk.com/auth/clients/example \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "id": "example", "name": "example", "scopes": [ { "resource": "example", "oid": "example", "public": true, "actions": [ "read" ] } ], "keys": [ "example" ], "allowed_ips": [ "example" ], "allowed_origins": [ "example" ], "cert_fingerprint": "example", "metadata": {}, "active": true, "created_at": "2026-04-15T12:00:00Z", "updated_at": "2026-04-15T12:00:00Z" }'

Update an existing API client

id
required
string

ID of the API client

Fields to update

Media typeapplication/json
object
id

Unique identifier

string
name

Client name

string
scopes

Authorized scopes

Array<object>
object
resource

Resource the scope applies to (e.g. checkout)

string
oid

Organization ID (null for all organizations)

string
public

Marks a publishable (browser) scope. Only honored on a checkout scope bound to one organization, on a client with allowed_origins.

boolean
nullable
actions

Permitted actions

Array<string>
Allowed values: read write delete admin
keys

API key IDs

Array<string>
allowed_ips

Allowed IP addresses

Array<string>
allowed_origins

Browser origins (e.g. https://shop.example.com) allowed to use this client as a publishable client. Required, and must be non-empty, for a public checkout scope to be honored.

Array<string>
nullable
cert_fingerprint

Certificate fingerprint

string
metadata

Custom metadata

object
key
additional properties
any
active

Whether the client is active

boolean
created_at

Creation date

string format: date-time
updated_at

Last update date

string format: date-time

API client updated

Media typeapplication/json
object
id

Unique identifier

string
name

Client name

string
scopes

Authorized scopes

Array<object>
object
resource

Resource the scope applies to (e.g. checkout)

string
oid

Organization ID (null for all organizations)

string
public

Marks a publishable (browser) scope. Only honored on a checkout scope bound to one organization, on a client with allowed_origins.

boolean
nullable
actions

Permitted actions

Array<string>
Allowed values: read write delete admin
keys

API key IDs

Array<string>
allowed_ips

Allowed IP addresses

Array<string>
allowed_origins

Browser origins (e.g. https://shop.example.com) allowed to use this client as a publishable client. Required, and must be non-empty, for a public checkout scope to be honored.

Array<string>
nullable
cert_fingerprint

Certificate fingerprint

string
metadata

Custom metadata

object
key
additional properties
any
active

Whether the client is active

boolean
created_at

Creation date

string format: date-time
updated_at

Last update date

string format: date-time
Example
{
"scopes": [
{
"actions": [
"read"
]
}
]
}

Invalid input

Unauthorized

API client not found