Manage the workspace's reusable email signatures. A signature's display name (signature_name) is derived automatically from the first line of signature_text.
Signatures are part of the generation configuration: a saved signature's text is passed as the email_signature option when you preview , generate for one lead , or generate a batch — it's appended to the generated emails.
Reads require the signatures:read scope; writes require signatures:write. All operations are scoped to the API key's workspace.
GET /api/v1/signatures · scope signatures:read
Parameter Type Required Description limitnumber No Max results (default 50, max 100). offsetnumber No Pagination offset (default 0).
curl -X GET "https://app.machfive.io/api/v1/signatures?limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"data" : [
{
"id" : "uuid" ,
"signature_text" : "Jane Doe \n VP Marketing, Acme Inc \n jane@acme.com" ,
"signature_name" : "Jane Doe" ,
"created_by" : "user-uuid" ,
"created_at" : "2025-01-15T12:00:00.000Z" ,
"updated_at" : "2025-01-15T12:00:00.000Z"
}
],
"has_more" : false ,
"total" : 1
}
Field Type Description data[].idstring (UUID) Signature ID. data[].signature_textstring Full signature text. data[].signature_namestring | null Auto-derived from the first line. data[].created_bystring | null User who created it (workspace owner for API-created signatures). data[].created_at / updated_atstring | null Timestamps (ISO 8601).
Status Error Description 401 UNAUTHORIZED Missing or invalid API key. 403 FORBIDDEN Key missing the signatures:read scope. 429 RATE_LIMITED Per-key rate limit exceeded; honor Retry-After. 500 INTERNAL_ERROR Server error.
POST /api/v1/signatures · scope signatures:write
signature_name is set server-side from the first line of the text.
Field Type Required Description signature_textstring Yes The signature content (1–5000 characters, trimmed).
curl -X POST "https://app.machfive.io/api/v1/signatures" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "signature_text": "Jane Doe\nVP Marketing, Acme Inc\njane@acme.com" }'
{
"id" : "uuid" ,
"signature_text" : "Jane Doe \n VP Marketing, Acme Inc \n jane@acme.com" ,
"signature_name" : "Jane Doe" ,
"created_by" : "user-uuid" ,
"created_at" : "2025-01-15T12:00:00.000Z" ,
"updated_at" : "2025-01-15T12:00:00.000Z"
}
Status Error Description 400 BAD_REQUEST Missing or invalid signature_text. 401 UNAUTHORIZED Missing or invalid API key. 403 FORBIDDEN Key missing the signatures:write scope. 429 RATE_LIMITED Per-key rate limit exceeded; honor Retry-After. 500 INTERNAL_ERROR Server error.
PUT /api/v1/signatures/:id · scope signatures:write
Replaces the signature text and re-derives signature_name.
Parameter Type Description idstring (UUID) Signature ID.
Field Type Required Description signature_textstring Yes New signature content (1–5000 characters, trimmed).
curl -X PUT "https://app.machfive.io/api/v1/signatures/SIGNATURE_ID" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "signature_text": "Jane Doe\nHead of Growth, Acme Inc\njane@acme.com" }'
{
"id" : "uuid" ,
"signature_text" : "Jane Doe \n Head of Growth, Acme Inc \n jane@acme.com" ,
"signature_name" : "Jane Doe" ,
"created_by" : "user-uuid" ,
"created_at" : "2025-01-15T12:00:00.000Z" ,
"updated_at" : "2025-01-16T09:00:00.000Z"
}
Status Error Description 400 BAD_REQUEST Missing or invalid signature_text. 401 UNAUTHORIZED Missing or invalid API key. 403 FORBIDDEN Key missing the signatures:write scope. 404 NOT_FOUND Signature not found or not in this workspace. 429 RATE_LIMITED Per-key rate limit exceeded; honor Retry-After. 500 INTERNAL_ERROR Server error.
DELETE /api/v1/signatures/:id · scope signatures:write
Parameter Type Description idstring (UUID) Signature ID.
curl -X DELETE "https://app.machfive.io/api/v1/signatures/SIGNATURE_ID" \
-H "Authorization: Bearer YOUR_API_KEY"
{ "id" : "uuid" , "deleted" : true }
Status Error Description 401 UNAUTHORIZED Missing or invalid API key. 403 FORBIDDEN Key missing the signatures:write scope. 404 NOT_FOUND Signature not found or not in this workspace. 429 RATE_LIMITED Per-key rate limit exceeded; honor Retry-After. 500 INTERNAL_ERROR Server error.