Skip to content

Create a webhook

POST
/webhooks
curl --request POST \
--url https://api.de.teamgrid.app/v1/webhooks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: example' \
--data '{ "actions": [ "example" ], "url": "https://example.com" }'
Idempotency-Key
required
string
>= 1 characters <= 128 characters

Unique request key retained for seven days. Within that window, reuse with different data is rejected.

Media typeapplication/json
object
actions
required
Array<string>
>= 1 items <= 100 items
url
required
string format: uri
<= 2048 characters
Examplegenerated
{
"actions": [
"example"
],
"url": "https://example.com"
}

An idempotent replay of an existing resource.

Media typeapplication/json
object
data
required
object
attributes
required
object
actions
required
Array<string>
disabled
required
boolean
failCount
required
integer
lastStatus
required
integer | null
>= 100 <= 599
signingSecret

Returned only by an idempotent webhook create response.

string
/^whsec_v2_[A-Za-z0-9_-]{43}$/
url
required
string format: uri
version
required
integer
Allowed values: 1 2
id
required
string
type
required
Allowed value: webhook
meta
required
object
requestId
required
string
Example
{
"data": {
"attributes": {
"version": 1
},
"type": "webhook"
}
}
Idempotency-Replayed
string
Allowed values: true

A newly created resource.

Media typeapplication/json
object
data
required
object
attributes
required
object
actions
required
Array<string>
disabled
required
boolean
failCount
required
integer
lastStatus
required
integer | null
>= 100 <= 599
signingSecret

Returned only by an idempotent webhook create response.

string
/^whsec_v2_[A-Za-z0-9_-]{43}$/
url
required
string format: uri
version
required
integer
Allowed values: 1 2
id
required
string
type
required
Allowed value: webhook
meta
required
object
requestId
required
string
Example
{
"data": {
"attributes": {
"version": 1
},
"type": "webhook"
}
}
Idempotency-Replayed
string
Allowed values: false

The request is invalid.

Media typeapplication/json
object
errors
required
Array<object>
object
code
required
string
detail
required
string
source
object
key
additional properties
string
status
required
string
/^[1-5][0-9]{2}$/
title
required
string
meta
required
object
requestId
required
string
Examplegenerated
{
"errors": [
{
"code": "example",
"detail": "example",
"source": {
"additionalProperty": "example"
},
"status": "example",
"title": "example"
}
],
"meta": {
"requestId": "example"
}
}

The bearer credential is missing, invalid, expired, or revoked.

Media typeapplication/json
object
errors
required
Array<object>
object
code
required
string
detail
required
string
source
object
key
additional properties
string
status
required
string
/^[1-5][0-9]{2}$/
title
required
string
meta
required
object
requestId
required
string
Examplegenerated
{
"errors": [
{
"code": "example",
"detail": "example",
"source": {
"additionalProperty": "example"
},
"status": "example",
"title": "example"
}
],
"meta": {
"requestId": "example"
}
}

The credential has insufficient scope.

Media typeapplication/json
object
errors
required
Array<object>
object
code
required
string
detail
required
string
source
object
key
additional properties
string
status
required
string
/^[1-5][0-9]{2}$/
title
required
string
meta
required
object
requestId
required
string
Examplegenerated
{
"errors": [
{
"code": "example",
"detail": "example",
"source": {
"additionalProperty": "example"
},
"status": "example",
"title": "example"
}
],
"meta": {
"requestId": "example"
}
}

The idempotency key conflicts with an earlier request.

Media typeapplication/json
object
errors
required
Array<object>
object
code
required
string
detail
required
string
source
object
key
additional properties
string
status
required
string
/^[1-5][0-9]{2}$/
title
required
string
meta
required
object
requestId
required
string
Examplegenerated
{
"errors": [
{
"code": "example",
"detail": "example",
"source": {
"additionalProperty": "example"
},
"status": "example",
"title": "example"
}
],
"meta": {
"requestId": "example"
}
}

The credential or source exceeded its rate limit.

Media typeapplication/json
object
errors
required
Array<object>
object
code
required
string
detail
required
string
source
object
key
additional properties
string
status
required
string
/^[1-5][0-9]{2}$/
title
required
string
meta
required
object
requestId
required
string
Examplegenerated
{
"errors": [
{
"code": "example",
"detail": "example",
"source": {
"additionalProperty": "example"
},
"status": "example",
"title": "example"
}
],
"meta": {
"requestId": "example"
}
}

A required cell-local dependency is unavailable.

Media typeapplication/json
object
errors
required
Array<object>
object
code
required
string
detail
required
string
source
object
key
additional properties
string
status
required
string
/^[1-5][0-9]{2}$/
title
required
string
meta
required
object
requestId
required
string
Examplegenerated
{
"errors": [
{
"code": "example",
"detail": "example",
"source": {
"additionalProperty": "example"
},
"status": "example",
"title": "example"
}
],
"meta": {
"requestId": "example"
}
}