Recurring schedules: Updates an existing recurring invoice schedule by id.
PUT
/api/invoicing/recurring-schedules/{id}
deprecated
Requires: Invoicing.RecurringSchedules, Invoicing.RecurringSchedules.Update, merchant scope.
**Required permissions**: `Invoicing.RecurringSchedules`, `Invoicing.RecurringSchedules.Update` **Scope**: merchant
Signed in, you can send this request to your own sandbox merchant from the console and read the answer. Sign in to try it.
Example request
Every block below sends the same request. Replace {{BASE_URL}} with the address of the API you are calling and {{API_KEY}} with your own key.
The request body is a RecurringInvoiceScheduleUpdateDto. See the Request body section below for its fields.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
id
required |
path | string (uuid) | |
suppressNulls
required |
query | boolean | If true, omit properties with null values. |
Request body
application/json
, required
| Field | Type | Description |
|---|---|---|
name
required |
string | Operator-facing name for the series. nullablemax length 200 |
description
required |
string | Optional operator-facing description. Conditional: When Description is not null. Max length: 1000. nullable |
schedule
required |
all of ContractSchedule | The recurrence rule (frequency, interval, start date, optional end date). |
endAfterOccurrences
required |
integer (int32) | Optional cap on the total number of invoices the series will generate. Conditional: When EndAfterOccurrences is not null. Must be > 0. nullable |
autoSend
required |
boolean | When true, each generated invoice is auto-sent via the standard send workflow. |
paymentLinkExpiryHours
required |
integer (int32) | Optional payment-link expiry (hours) applied when auto-sending. nullable |
viewTokenExpiryDays
required |
integer (int32) | Optional view-token expiry (days) applied when auto-sending. nullable |
customMessage
required |
string | Optional custom recipient message applied when auto-sending. Conditional: When CustomMessage is not null. Max length: 2000. nullable |
recipientId
required |
string (uuid) | Who the generated invoices are billed to. |
recipientType
required |
all of InvoicePartyType | The type of recipient entity. |
currency
required |
string | ISO 4217 currency code for generated invoices. nullablemin length 3max length 3pattern ^[A-Za-z]{3}$ |
paymentTermsValue
required |
all of PaymentTerms | Payment terms applied to generated invoices. nullable |
customPaymentDays
required |
integer (int32) | Custom number of days when PaymentTerms is Custom. nullable |
allowPartialPayment
required |
boolean | Whether partial payments are allowed on generated invoices. nullable |
minimumPaymentAmount
required |
number (double) | Minimum payment amount when partial payments are enabled. nullable |
partialPaymentTolerance
required |
number (double) | Auto-mark-paid tolerance for generated invoices. nullable |
allowedPaymentMethods
required |
array of string | Subset of supported payment methods allowed on generated invoices. nullable |
vaultRestriction
required |
all of VaultRestriction | Vault restriction applied to generated invoices. nullable |
hppPageId
required |
string (uuid) | Linked HPP configuration id. nullable |
templateId
required |
string (uuid) | Invoice style/template reference (styling only). nullable |
invoiceLevelDiscount
required |
all of InvoiceDiscountDto | Optional invoice-level discount applied to generated invoices. |
reminderConfig
required |
all of InvoiceReminderConfigDto | Reminder configuration applied to generated invoices. |
billerSnapshot
required |
all of InvoicePartySnapshotDto | Biller snapshot frozen onto each generated invoice at issue time. |
recipientSnapshot
required |
all of InvoicePartySnapshotDto | Recipient snapshot frozen onto each generated invoice at issue time. |
lineItems
required |
array of InvoiceLineItemInputDto | Line items copied onto each generated invoice. nullable |
customFields
required |
array of CustomFieldValueDto | Custom field values copied onto each generated invoice. nullable |
notes
required |
array of EntityNote | Internal notes copied onto each generated invoice. nullable |
recipientNote
required |
string | Recipient-facing note copied onto each generated invoice. nullable |
footerText
required |
string | Footer / terms text copied onto each generated invoice. nullable |
concurrencyStamp
required |
string | Optimistic concurrency stamp. nullable |
This request body has no documented fields.
Responses
200 OK
Body: RecurringInvoiceScheduleDto
Each item has these fields.
| Field | Type | Description |
|---|---|---|
id
required |
string (uuid) | |
creationTime
required |
string (date-time) | The date and time when this entity was created. |
creatorId
required |
string (uuid) | The ID of the user who created this entity. nullable |
lastModificationTime
required |
string (date-time) | The date and time when this entity was last modified. nullable |
lastModifierId
required |
string (uuid) | The ID of the user who last modified this entity. nullable |
isDeleted
required |
boolean | Indicates whether this entity has been deleted. |
deleterId
required |
string (uuid) | The ID of the user who deleted this entity, if it is deleted. nullable |
deletionTime
required |
string (date-time) | The date and time when this entity was deleted, if it is deleted. nullable |
billerId
required |
string (uuid) | |
billerType
required |
InvoicePartyType | Identifies the type of entity acting as the biller or recipient on an invoice. one of: GatewayOwner, Reseller, Merchant, Customer |
name
required |
string | nullable |
description
required |
string | nullable |
status
required |
RecurringInvoiceScheduleStatus | Lifecycle status of a recurring invoice schedule (series). one of: Active, Paused, Cancelled, Completed |
schedule
required |
ContractSchedule | |
nextRunUtc
required |
string (date-time) | nullable |
lastRunUtc
required |
string (date-time) | nullable |
occurrenceCount
required |
integer (int32) | |
endAfterOccurrences
required |
integer (int32) | nullable |
autoSend
required |
boolean | |
paymentLinkExpiryHours
required |
integer (int32) | nullable |
viewTokenExpiryDays
required |
integer (int32) | nullable |
customMessage
required |
string | nullable |
recipientId
required |
string (uuid) | |
recipientType
required |
InvoicePartyType | Identifies the type of entity acting as the biller or recipient on an invoice. one of: GatewayOwner, Reseller, Merchant, Customer |
currency
required |
string | nullable |
paymentTermsValue
required |
all of PaymentTerms | nullable |
customPaymentDays
required |
integer (int32) | nullable |
allowPartialPayment
required |
boolean | nullable |
minimumPaymentAmount
required |
number (double) | nullable |
partialPaymentTolerance
required |
number (double) | nullable |
allowedPaymentMethods
required |
array of string | nullable |
vaultRestriction
required |
all of VaultRestriction | nullable |
hppPageId
required |
string (uuid) | nullable |
templateId
required |
string (uuid) | nullable |
invoiceLevelDiscount
required |
InvoiceDiscountDto | DTO for an invoice-level discount. |
reminderConfig
required |
InvoiceReminderConfigDto | DTO for invoice reminder configuration. Each member overrides the tenant's reminder default on its own; a member that is null or omitted inherits that default. |
billerSnapshot
required |
InvoicePartySnapshotDto | Read DTO for denormalized biller/recipient info frozen at invoice issuance. |
recipientSnapshot
required |
InvoicePartySnapshotDto | Read DTO for denormalized biller/recipient info frozen at invoice issuance. |
lineItems
required |
array of InvoiceLineItemDto | nullable |
customFields
required |
array of CustomFieldValueDto | nullable |
notes
required |
array of EntityNote | nullable |
recipientNote
required |
string | nullable |
footerText
required |
string | nullable |
concurrencyStamp
required |
string | nullable |
This response has no documented body fields.
403 Forbidden
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
401 Unauthorized
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
400 Bad Request
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
404 Not Found
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
501 Not Implemented
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
500 Internal Server Error
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
default The request failed. The body carries the standard error envelope: a machine-readable `error.code`, a human-readable `error.message`, and `error.validationErrors` when the failure was a validation rejection. See the error-code reference in this document's description for the values `error.code` can take.
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
429 The request was refused because a rate limit was exceeded, or because something a later retry can clear stopped it. A rate limit refusal carries an `application/problem+json` body: wait at least the interval `Retry-After` names before retrying, then back off. Limits are tuned per deployment, so read the allowance from the response headers rather than assuming a fixed ceiling. Any other refusal carries the standard error envelope as `application/json`, and its `error.code` names the cause.
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
Errors
A failed request returns the platform error envelope. The
error reference lists every value
error.code can carry and shows the four response shapes.