/recurring-fees/{id}
Update a recurring fee. Every account reference must belong to the tenant; active fees also require active direct and tax posting accounts, including on reactivation. Changing the default keeps distinct listing-period overrides and converts rates equal to the previous default back to inheritance. The response includes an operation when the change queues reservation journal recalculation. Archived fees recalculate only reservations already referencing them.
Required scope: recurring-fees:write
Authorization
apiKey API key provided in dashboard
In: header
Path Parameters
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidQuery Parameters
Validate this request through the real write path, then roll back all changes. See https://docs.vrplatform.app/api/dry-run-mode.
Request Body
application/json
"managementFee" | "additionalFee" | "bookingChannelFee" | "cleaningFee" | "merchantFee"Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://api.vrplatform.app/recurring-fees/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{}'{
"name": "string",
"formula": "string",
"defaultRate": -9007199254740991,
"icon": "string",
"type": "managementFee",
"taxBehavior": "excluded",
"revenueRecognition": "checkIn",
"status": "active",
"rateType": "flat",
"creditParty": "manager",
"debitParty": "manager",
"bookingChannelsFilter": [
"string"
],
"statusFilter": "canceled",
"accountTotalConditions": [
{
"accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
"operator": ">",
"centValue": -9007199254740991
}
],
"id": "string",
"uniqueRef": "string",
"lock": {
"status": "locked",
"booksClosed": {
"date": "string"
},
"ownerStatement": {
"ids": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
},
"reconciled": {
"bankRecordIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
},
"statementPeriod": {
"hits": [
{
"listingId": "8c73d933-f7ed-437e-9da1-caac95adc1ae",
"txnAt": "string",
"openFrom": "string"
}
]
}
},
"creditAccount": {
"id": "string",
"name": "string",
"uniqueRef": "string",
"status": "active"
},
"debitAccount": {
"id": "string",
"name": "string",
"uniqueRef": "string",
"status": "active"
},
"linkedAccounts": [
{
"id": "string",
"name": "string",
"uniqueRef": "string",
"status": "active"
}
],
"includedFinancials": [
{
"accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
"lineType": "string",
"name": "string",
"app": {
"id": "string",
"name": "string"
}
}
],
"taxRate": {
"id": "string",
"name": "string",
"basisPoints": 100000
},
"activeListings": 9007199254740991,
"operation": {
"operationId": "3051932a-fdd2-48fa-b330-7e7d41535969",
"type": "ach-verification",
"status": "queued",
"resource": {
"type": "bank-rule",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"role": "source"
}
}
}{
"code": "AUDIT_CURSOR_EXPIRED",
"reason": "accountClassificationLocked",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"code": "duplicateLast4",
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "AUDIT_CURSOR_EXPIRED",
"reason": "accountClassificationLocked",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"code": "duplicateLast4",
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "AUDIT_CURSOR_EXPIRED",
"reason": "accountClassificationLocked",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"code": "duplicateLast4",
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "AUDIT_CURSOR_EXPIRED",
"reason": "accountClassificationLocked",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"code": "duplicateLast4",
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "AUDIT_CURSOR_EXPIRED",
"reason": "accountClassificationLocked",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"code": "duplicateLast4",
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "AUDIT_CURSOR_EXPIRED",
"reason": "accountClassificationLocked",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"code": "duplicateLast4",
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "AUDIT_CURSOR_EXPIRED",
"reason": "accountClassificationLocked",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"code": "duplicateLast4",
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "MISDIRECTED_REQUEST",
"reason": "accountClassificationLocked",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"code": "duplicateLast4",
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": {
"teamId": "a4ede8ba-7c0a-4485-8763-cbd9b282fbec",
"dataRegion": "ap",
"apiBaseUrl": "http://example.com"
}
}{
"code": "AUDIT_CURSOR_EXPIRED",
"reason": "accountClassificationLocked",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"code": "duplicateLast4",
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "LOCKED",
"reason": "accountClassificationLocked",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"code": "duplicateLast4",
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "AUDIT_CURSOR_EXPIRED",
"reason": "accountClassificationLocked",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"code": "duplicateLast4",
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "AUDIT_CURSOR_EXPIRED",
"reason": "accountClassificationLocked",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"code": "duplicateLast4",
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}