Add a rule to the end of the set
The body is the rule document itself (see GET /api/v1/transformations/schema and https://app.webhookvault.net/llms-transformations.txt). Validated first: every error is listed in the problem's errors extension. Needs a plan with transformations (Pro and up) and a forward destination. The new rule is version 1 and runs last; reorder with PUT …/transformations/order.
Authorization
apiKey API key in the Authorization header: Authorization: Bearer wv_live_…. Keys are created on the API keys page in the app, shown once, and scoped to your workspace. X-Api-Key: wv_live_… is accepted as a fallback for tools that can't set Authorization.
In: header
Path Parameters
The endpoint id (also the capture token in its URL).
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"position": 0,
"name": "string",
"enabled": true,
"disabledReason": "string",
"condition": "string",
"rule": {
"version": 1,
"name": "strip PII, flatten invoice",
"when": {
"all": [
{
"path": "body.type",
"op": "startsWith",
"value": "invoice."
}
]
},
"steps": [
{
"op": "keep",
"paths": [
"body.id",
"body.type",
"body.data.object"
]
},
{
"op": "rename",
"from": "body.data.object.id",
"to": "body.invoiceId"
},
{
"op": "redact",
"paths": [
"body.data.object.customer_email"
],
"with": "***"
},
{
"op": "set",
"path": "headers.X-Relayed-By",
"value": "webhookvault"
},
{
"op": "template",
"path": "body.summary",
"template": "{{body.type}} {{body.invoiceId}}"
}
]
},
"version": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"code": "string",
"traceId": "string"
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"code": "string",
"traceId": "string"
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"code": "string",
"traceId": "string"
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"code": "string",
"traceId": "string"
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"code": "string",
"traceId": "string"
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"code": "string",
"traceId": "string"
}