Skip to content

Save the workspace's own letter (ADMIN+, dashboard user)

POST
/recovery-templates
curl --request POST \
--url https://api.invogi.com/v1/recovery-templates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "purpose": "CLAIM", "subject": "example", "body": "example" }'

A placeholder unknown for the letter’s purpose, or a stray {{/}}, is refused (400). Names are unique per workspace, ignoring case (409).

Media typeapplication/json
object
name
string
>= 1 characters <= 100 characters
purpose
string
Allowed values: CLAIM FOLLOW_UP FINAL_REMINDER STATEMENT_REQUEST
subject
string
>= 1 characters <= 300 characters
body
string
>= 10 characters <= 10000 characters

The template

Media typeapplication/json
object
id
required

Builtin: for a built-in, otherwise a uuid

string
name
required
string
purpose
required
string
Allowed values: CLAIM FOLLOW_UP FINAL_REMINDER STATEMENT_REQUEST
subject
required
string
body
required
string
builtIn
required
boolean
description
string | null
updatedAt
string | null format: date-time

Example

{
"purpose": "CLAIM"
}

Invalid request

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: NOT_FOUND UNAUTHORIZED FORBIDDEN INVALID_REQUEST CONFLICT RATE_LIMITED USAGE_LIMIT_EXCEEDED PROCESSING_FAILED
message
required
string
request_id
required
string

Example

{
"error": {
"code": "NOT_FOUND"
}
}

API key lacks required scope/role

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: NOT_FOUND UNAUTHORIZED FORBIDDEN INVALID_REQUEST CONFLICT RATE_LIMITED USAGE_LIMIT_EXCEEDED PROCESSING_FAILED
message
required
string
request_id
required
string

Example

{
"error": {
"code": "NOT_FOUND"
}
}

Conflicting idempotency key or resource processing state

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: NOT_FOUND UNAUTHORIZED FORBIDDEN INVALID_REQUEST CONFLICT RATE_LIMITED USAGE_LIMIT_EXCEEDED PROCESSING_FAILED
message
required
string
request_id
required
string

Example

{
"error": {
"code": "NOT_FOUND"
}
}