---
title: "Dry-run delivery"
method: POST
path: "/api/v1/projects/{projectId}/transform-preview/delivery-dry-run"
tags: ["Transform Preview"]
---

# Dry-run delivery

`POST /api/v1/projects/{projectId}/transform-preview/delivery-dry-run`

## Request

- Base URL: `http://localhost:8080`
- URL: `http://localhost:8080/api/v1/projects/{projectId}/transform-preview/delivery-dry-run`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Simulate a full delivery: transform payload, compute HMAC signature, build headers — without actually sending the request

## Path parameters

- `projectId` string, uuid, required

## Request body

- DeliveryDryRunRequest: Request to dry-run a delivery: shows what the endpoint would receive without actually sending
  - `payload` string, required: The event payload JSON to transform
  - `transformationId` string, uuid: ID of a saved Transformation to apply (highest priority)
  - `payloadTemplate` string: An unsaved template or script to apply. What the Transform Studio sends while you are still editing.
  - `kind` 'TEMPLATE' | 'JAVASCRIPT': The language `payloadTemplate` is written in. Omitted means TEMPLATE. A saved transformation brings its own and ignores this.
  - `customHeaders` string: Custom headers JSON to merge
  - `endpointId` string, uuid: Endpoint ID to use for HMAC signature computation
  - `eventType` string: Event type for X-Event-Type header

## Response `200`

OK

---

[API](https://skmtc.dev/railhook/apis/railhook-api.md) · [All operations](https://skmtc.dev/railhook/apis/railhook-api/llms.txt) · [OpenAPI document](https://skmtc.dev/railhook/apis/railhook-api/revisions/4e2c76dfc33d?raw)
