---
title: "Create Email Attachment Target"
method: POST
path: "/api/v1/apps/{app_id}/email-attachments"
tags: ["apps"]
---

# Create Email Attachment Target

`POST /api/v1/apps/{app_id}/email-attachments`

Mint a one-off attachment token + a presigned POST to upload its bytes.

## Path parameters

- `app_id` string, uuid, required

## Request body

- EmailAttachmentUploadRequest — Ask for a presigned target to upload a one-off email attachment.
  - `filename` string, required
  - `content_type` string, nullable
  - `embed_host_app_id` string, uuid, nullable

## Response `200`

Successful Response

- EmailAttachmentUploadTarget — Where to PUT the bytes, and the token that names them to a workflow. ``token`` is what the app passes as an ``attachment``-typed app_invocation input — the only part of an attachment that may travel in a run payload. That input takes one token or a list of them, so several files mean several of these targets, one per file. ``filename`` is the sanitized name the recipient will actually see, which may differ from the one requested. ``max_bytes`` and ``max_files`` are the per-EMAIL budget, not a per-file one: they are reported so an app can reject an over-budget selection while the person is still looking at the picker, instead of failing the workflow after the run has started.
  - `token` string, required
  - `filename` string, required
  - `upload_url` string, required
  - `fields` object, required
  - `max_bytes` integer, required
  - `max_files` integer, required

## Other responses

- `422` — Validation Error

## Changes

> 15 revisions in range; 1 not diffed.

- **2026-09-02** `fce7f38ccba8` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/netter/apis/dmi-backend/changes/api/v1/apps/:app_id/email-attachments/post.md)

---

[API](https://skmtc.dev/netter/apis/dmi-backend.md) · [All operations](https://skmtc.dev/netter/apis/dmi-backend/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/netter/dmi-backend/revisions/307ede8c429b/schema)
