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.

POST
/api/v1/endpoints/{endpointId}/transformations
AuthorizationBearer <token>

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

endpointId*string

The endpoint id (also the capture token in its URL).

Formatuuid

Request 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"
}

On this page