2 operations. Guide: Send email with the API. Requests and responses are JSON with snake_case fields; authenticate with Authorization: Bearer <api key>. The examples assume a client built as in SDKs and the command line.

Create a presigned upload

POST /v1/uploads

Returns a presigned S3 PUT URL valid for 15 minutes. Upload the bytes, then pass the id as upload_id to POST /v1/attachments or POST /v1/contacts/import.

Operation createUpload, SDK minket.uploads.create. Keys: full access, sending access. Test keys work on test-mode data.

Request body

FieldTypeRequiredDescription
purposeone of "attachment", "import"yes
filenamestringyes1 to 255 characters.
content_typestringyesAt most 255 characters.
sizeintegeryes1 to 52428800.

Response

201 Created: object.

FieldTypeRequiredDescription
idstringyesA UUID.
object"upload"yes
purposeone of "attachment", "import"yes
upload_urlstringyes
expires_atstring (date-time)yesAn ISO 8601 timestamp with timezone, for example 2026-10-24T18:00:00.000Z.
statusone of "pending", "completed", "consumed"yes

Errors: 400, 401, 403, 404, 409, 422, 429, 500, with the error body.

Examples

curl
curl -X POST https://api.minket.com/v1/uploads \
  -H "Authorization: Bearer $MINKET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"purpose":"attachment","filename":"report.pdf","content_type":"application/pdf","size":5242880}'

Get an upload's status

GET /v1/uploads/{id}

Operation getUpload, SDK minket.uploads.get. Keys: full access, sending access. Test keys work on test-mode data.

Parameters

NameInTypeRequiredDescription
idpathstringyesA UUID.

Response

200 Success: object.

FieldTypeRequiredDescription
idstringyesA UUID.
object"upload"yes
purposeone of "attachment", "import"yes
upload_urlstringyes
expires_atstring (date-time)yesAn ISO 8601 timestamp with timezone, for example 2026-10-24T18:00:00.000Z.
statusone of "pending", "completed", "consumed"yes

Errors: 400, 401, 403, 404, 409, 422, 429, 500, with the error body.

Examples

curl
curl https://api.minket.com/v1/uploads/019a2b3c-4d5e-7f60-8a9b-0c1d2e3f4a5b \
  -H "Authorization: Bearer $MINKET_API_KEY"

Updated