---
title: "Upload Step"
method: PUT
path: "/api/admin/drip/steps/{slug}"
tags: ["admin-drip"]
---

# Upload Step

`PUT /api/admin/drip/steps/{slug}`

## Request

- Base URL: `https://api.tintin-x.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tintin-x.com/api/admin/drip/steps/{slug}`
- Auth: HTTP bearer

Replace one step's template. Same intake contract as an EDM campaign:
the HTML is rewritten with `asset_map`, then re-scanned, and creation is
refused while anything still points off our domain (an inbox can't load
a relative path, and a third-party host can vanish mid-campaign).

## Path parameters

- `slug` string, required

## Request body

- TemplateUploadRequest
  - `html` string, required
  - `asset_map` object
  - `subject` string, nullable
  - `enabled` boolean

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tintin-x/apis/tintin-api.md) · [All operations](https://skmtc.dev/tintin-x/apis/tintin-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tintin-x/apis/tintin-api/revisions/8839a8d0a66c?raw)
