Skip to content
Browse documentation

OpenAPI operations

Update the current workspace

PATCH
/v1/project
curl --request PATCH \
--url https://api.hooks.events/v1/project \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "slug": "example", "notificationEmail": "", "notifyOnDeadLetter": true, "timezone": "UTC", "otelEndpoint": "", "otelHeaders": [ { "name": "example", "value": "example" } ] }'

Sets workspace settings. otelEndpoint is an OTLP/HTTP base URL; the server appends /v1/traces and /v1/metrics. otelHeaders may use {{secret.NAME}} references, which must already exist in the workspace. Export is best effort and never delays or fails a delivery.

Media typeapplication/json
object
name
string
>= 1 characters <= 80 characters
slug
string
>= 3 characters <= 40 characters /^[a-z0-9]+(?:-[a-z0-9]+)*$/
notificationEmail
Any of:
string format: email
/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/
notifyOnDeadLetter
boolean
timezone
string
Allowed values: UTC America/Los_Angeles America/New_York Europe/London Asia/Shanghai
otelEndpoint
Any of:
Any of:
string format: uri
otelHeaders
Array<object>
<= 20 items
object
name
required
string
>= 1 characters <= 100 characters /^[A-Za-z0-9!#$%&'*+.^_`|~-]+$/
value
required
string
>= 1 characters <= 2000 characters

Success

Media typeapplication/json
object
ok
required
boolean
key
additional properties

Example generated

{
"ok": true
}

Validation error

Media typeapplication/json
object
error
required
object
code
required

Machine-readable error code

string
message
required
string
requestId
required

Request id, also echoed in x-request-id

string
issues

Per-field validation details for VALIDATION_ERROR

Array<object>
object
path
required

Body or query field that failed validation

string
message
required
string
key
additional properties
key
additional properties

Example generated

{
"error": {
"code": "example",
"message": "example",
"requestId": "example",
"issues": [
{
"path": "example",
"message": "example"
}
]
}
}

Missing or invalid credentials

Media typeapplication/json
object
error
required
object
code
required

Machine-readable error code

string
message
required
string
requestId
required

Request id, also echoed in x-request-id

string
issues

Per-field validation details for VALIDATION_ERROR

Array<object>
object
path
required

Body or query field that failed validation

string
message
required
string
key
additional properties
key
additional properties

Example generated

{
"error": {
"code": "example",
"message": "example",
"requestId": "example",
"issues": [
{
"path": "example",
"message": "example"
}
]
}
}

The credential lacks the required scope, or the workspace is not writable

Media typeapplication/json
object
error
required
object
code
required

Machine-readable error code

string
message
required
string
requestId
required

Request id, also echoed in x-request-id

string
issues

Per-field validation details for VALIDATION_ERROR

Array<object>
object
path
required

Body or query field that failed validation

string
message
required
string
key
additional properties
key
additional properties

Example generated

{
"error": {
"code": "example",
"message": "example",
"requestId": "example",
"issues": [
{
"path": "example",
"message": "example"
}
]
}
}

Rate limited

Media typeapplication/json
object
error
required
object
code
required

Machine-readable error code

string
message
required
string
requestId
required

Request id, also echoed in x-request-id

string
issues

Per-field validation details for VALIDATION_ERROR

Array<object>
object
path
required

Body or query field that failed validation

string
message
required
string
key
additional properties
key
additional properties

Example generated

{
"error": {
"code": "example",
"message": "example",
"requestId": "example",
"issues": [
{
"path": "example",
"message": "example"
}
]
}
}
X-RateLimit-Limit
integer

Requests allowed per window

X-RateLimit-Remaining
integer
X-RateLimit-Reset
integer

Seconds until the window resets

Retry-After
integer

Seconds to wait before retrying. Absent when the rejection has no retry time (for example the Free lifetime quota).

X-Quota-Limit
integer

Request allowance for the workspace’s plan

X-Quota-Remaining
integer

Requests left in the allowance after this request