API Reference
Update a writing style
Updates a writing style template.
/v1/accounts/{accountGroupId}/writing-styles/{writingStyleId}Template mode
When updating template styles, keep signal, basic, and fallback samples aligned with the workflow paths that consume them.
Signal variables
{{ Signal }} uses a direct reference to the selected signal. {{ Signal_anonym }} softens the same signal without naming the explicit event or source.
Variable validation
Template variable syntax is not validated through the API. Use the exact variable names and double-brace syntax shown in the docs.
Integration notes
Required API permission
templates:write.
Idempotency
not supported; check the current resource state before retrying this request.
Parameters
accountGroupIdPathType: string
Account group ID that scopes the request.
Required
writingStyleIdPathType: string
Writing style ID used for generated or templated content.
Required
Request body
Required
Optional
Content types
application/json
Schema
object
Fields
nameType: string
Human-readable name for this resource.
Optional
descriptionType: string
Human-readable description for this resource.
Optional
contentTypeType: direct_message | inmail | direct_message_inmail | email | comment | connection_request
Request field for content type.
Optional
samplesType: array<object>
Request field for samples.
Optional
valuePropositionIdType: string
Value proposition ID used for campaign messaging.
Optional
includeRulesType: array<string>
Request field for include rules.
Optional
excludeRulesType: array<string>
Request field for exclude rules.
Optional
useStrictTemplateType: boolean
Whether the writing style uses template fill-in instead of AI free text.
Optional
Responses
Writing style updated
Schema: WritingStyleSuccessResponse
Request validation failed
Schema: ValidationErrorResponse
Invalid or missing API key
Schema: ErrorResponse
Missing required permission
Schema: ErrorResponse
Resource not found
Schema: ErrorResponse
Rate limit exceeded
Schema: ErrorResponse
Internal server error
Schema: ErrorResponse
Response examples
200 Example JSONWritingStyleSuccessResponse
{
"success": true,
"data": {
"id": "507f1f77bcf86cd799439011",
"name": "Avery Stone",
"description": "string",
"contentType": "direct_message",
"samples": [
{
"type": "signal",
"message": "Thanks for the context. I can send over details this afternoon.",
"subject": "Quick follow-up",
"signalTag": "string"
}
],
"includeRules": [
"string"
],
"excludeRules": [
"string"
],
"useStrictTemplate": true,
"createdAt": "2026-04-28T15:30:00.000Z"
},
"error": null,
"traceId": "507f1f77bcf86cd799439011"
}400 Example JSONValidationErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}401 Example JSONErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "string",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}403 Example JSONErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "string",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}404 Example JSONErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "string",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}429 Example JSONErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "string",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}500 Example JSONErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "string",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}