Skip to content

Update an autoresponder

PUT
/openapi/autoresponder/{id}
curl --request PUT \
--url https://open-api.replyco.com/openapi/autoresponder/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json-patch+json' \
--data '{ "name": "Out of office", "templateId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "accountIds": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "condition": { "target": "1 - Sender", "mode": "0 - Contain", "value": "invoice;receipt" }, "delay": 1, "delayHours": 1, "delayInRange": true, "delayRangeFrom": 1, "delayRangeTo": 1, "delayRangeToHours": 1, "startTime": "09:00:00", "endTime": "17:00:00", "isActiveTimeRanged": true, "weekdays": [ 1 ], "startDate": "2026-04-15T12:00:00Z", "endDate": "2026-04-15T12:00:00Z", "priority": 1, "frequency": "0 - Once", "inActive": true, "isSendOutsideWorkingHours": true }'

Replaces the autoresponder identified by id with what you send, so submit the complete autoresponder.

Need multiple conditions? Autoresponders managed through the Open API have a single condition. To build one that matches on several conditions, use the Replyco app UI instead.

The request body is identical to Create an autoresponder (POST /openApi/autoresponder); see that endpoint for the full catalog of condition targets and modes, the scheduling options, and a worked example.

Recap

  • name, templateId, and accountIds (the integrations it applies to).
  • condition: target, mode, and value (;-separated values; any match fires it).
  • schedule: frequency, the delay fields, startTime/endTime + isActiveTimeRanged, weekdays (0=Sunday … 6=Saturday), and startDate/endDate (set equal for always-active).

Constraints

  • Required: name, templateId, at least one accountId, and a condition with a non-empty value.
  • startDate must be on or before endDate.
  • Returns 404 if no autoresponder with id exists. The update is recorded in the change log.
id
required
string format: uuid

The id of the autoresponder to update.

The complete autoresponder definition.

Create or replace an autoresponder. The same shape is used for create and update; update replaces the autoresponder’s conditions and integration links wholesale.

object
name
required

Human-readable name. Required.

string
>= 1 characters

Example

Out of office
templateId
required

Id of the template to send as the reply. Required.

string format: uuid
accountIds
required

Ids of the integrations (accounts) this autoresponder applies to. At least one is required.

Array<string>
>= 1 items
condition
required

A trigger condition for an autoresponder.

object
target
integer format: int32
Allowed values: 1 - Sender 2 - Subject 4 - Body 8 - Language 16 - ClientName
mode
integer format: int32
Allowed values: 0 - Contain 1 - NotContain 2 - StartWith 3 - EndWith 4 - Equals 5 - Between
value
required

Value to match. Multiple values may be separated by semicolons (any match fires the autoresponder). Required.

string
>= 1 characters

Example

invoice;receipt
delay

Fixed delay in minutes before sending (used when delayInRange is false).

integer format: int32
nullable
delayHours

Hours component added to delay.

integer format: int32
nullable
delayInRange

When true, use a random delay between delayRangeFrom and delayRangeTo.

boolean
delayRangeFrom

Minimum delay (minutes) when delayInRange is true.

integer format: int32
nullable
delayRangeTo

Maximum delay (minutes) when delayInRange is true.

integer format: int32
nullable
delayRangeToHours

Hours component added to delayRangeTo.

integer format: int32
nullable
startTime

Start of the active time-of-day window (HH:MM:SS).

string format: date-span

Example

09:00:00
endTime

End of the active time-of-day window (HH:MM:SS).

string format: date-span

Example

17:00:00
isActiveTimeRanged

When true, only send within the StartTime–EndTime window. Defaults to true.

boolean
weekdays

Days of week the autoresponder is active: 0=Sunday … 6=Saturday. e.g. [1,2,3,4,5] for Mon–Fri.

Array<integer>
nullable
startDate

First active date. Set equal to endDate to make the autoresponder always active (no date restriction). Must be ≤ EndDate.

string format: date-time
endDate

Last active date. Must be ≥ StartDate.

string format: date-time
priority

Execution priority when multiple autoresponders match; lower runs first.

integer format: int32
frequency
integer format: int32
Allowed values: 0 - Once 1 - Continuous
inActive

Set true to create/keep the autoresponder disabled.

boolean
isSendOutsideWorkingHours

When true, only send when the message arrives outside the company’s working hours.

boolean

The autoresponder was updated and is returned.

Media typeapplication/json

An autoresponder: when an incoming message on a linked integration matches the trigger conditions (and the schedule allows), the linked template is sent back automatically.

object
id

Unique identifier of the autoresponder.

string format: uuid
name

Human-readable name.

string
nullable
templateId

Id of the template sent as the reply.

string format: uuid
accountIds

Ids of the integrations (accounts) this autoresponder applies to.

Array<string>
nullable
condition

A trigger condition for an autoresponder.

object
id

Unique identifier of the condition.

string format: uuid
target
integer format: int32
Allowed values: 1 - Sender 2 - Subject 4 - Body 8 - Language 16 - ClientName
mode
integer format: int32
Allowed values: 0 - Contain 1 - NotContain 2 - StartWith 3 - EndWith 4 - Equals 5 - Between
value

Value(s) to match. Multiple values may be separated by semicolons and any match fires the autoresponder.

string
nullable
delay

Fixed delay (minutes) before sending; used when delayInRange is false.

integer format: int32
nullable
delayHours

Hours component added to delay.

integer format: int32
nullable
delayInRange

When true, a random delay between delayRangeFrom and delayRangeTo is used.

boolean
delayRangeFrom

Minimum delay (minutes) when delayInRange is true.

integer format: int32
nullable
delayRangeTo

Maximum delay (minutes) when delayInRange is true.

integer format: int32
nullable
delayRangeToHours

Hours component added to delayRangeTo.

integer format: int32
nullable
startTime

Start of the active time-of-day window (HH:MM:SS).

string format: date-span
endTime

End of the active time-of-day window (HH:MM:SS).

string format: date-span
isActiveTimeRanged

When true, only send within the StartTime–EndTime window.

boolean
weekdays

Days of week the autoresponder is active: 0=Sunday … 6=Saturday.

Array<integer>
nullable
startDate

First active date. If equal to endDate, the autoresponder is always active (no date restriction).

string format: date-time
endDate

Last active date.

string format: date-time
priority

Execution priority when multiple autoresponders match; lower runs first.

integer format: int32
frequency
integer format: int32
Allowed values: 0 - Once 1 - Continuous
inActive

When true the autoresponder is disabled.

boolean
isSendOutsideWorkingHours

When true, only send when the message arrives outside the company’s working hours.

boolean

Example

{
"condition": {
"target": "1 - Sender",
"mode": "0 - Contain"
},
"frequency": "0 - Once"
}

The request is invalid.

User is not authenticated or authorized.

No autoresponder with the given id exists.