For AI agents: markdown of this page — /docs-content-en/entities/pay-systems/update.md documentation index — /llms.txt

PATCH /v1/pay-systems/:id

PATCH /v1/pay-systems/:id

Bitrix24: sale.paysystem.update. Scope: pay_system.

Only permitted REST records; Bitrix24 refuses built-in records with 403. A READONLY key receives 403 before dispatch.

Parameters

id is a required positive integer from the list.

Field Type Required
name string no
personTypeId integer no
bxRestHandler string no
description string no
active string no
newWindow string no
xmlId string no
logo [filename, base64] no

logo carries a base64 file up to 2 MiB. name must not be empty; PATCH body must not be empty. Fields outside the table are refused rather than dropped. settings/config use native Bitrix24 structure; business-value entries use TYPE and VALUE.

Read personTypeId from payer types; it must belong to entityRegistryType. bxRestHandler is a code from handlers.

Examples

cURL personal key

Terminal
curl -X PATCH "https://vibecode.bitrix24.com/v1/pay-systems/10" -H "X-Api-Key: $VIBE_API_KEY" -H 'Content-Type: application/json' -d '{"name": "VIBE-PROBE updated"}'

cURL OAuth

Terminal
curl -X PATCH "https://vibecode.bitrix24.com/v1/pay-systems/10" -H "X-Api-Key: $VIBE_API_KEY" -H "Authorization: Bearer $APP_SESSION" -H 'Content-Type: application/json' -d '{"name": "VIBE-PROBE updated"}'

JavaScript personal key

javascript
const response = await fetch("https://vibecode.bitrix24.com/v1/pay-systems/10", {
  method: "PATCH",
  headers: {"X-Api-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
  body: JSON.stringify({"name": "VIBE-PROBE updated"}),
});
console.log(await response.json());

JavaScript OAuth

javascript
const response = await fetch("https://vibecode.bitrix24.com/v1/pay-systems/10", {
  method: "PATCH",
  headers: {"X-Api-Key": "YOUR_API_KEY", "Authorization": "Bearer YOUR_APP_SESSION", "Content-Type": "application/json"},
  body: JSON.stringify({"name": "VIBE-PROBE updated"}),
});
console.log(await response.json());

Response fields

success is true. data is a record or an array of fields; DELETE returns true. Delivery creation returns parent and profiles. List meta.total equals data length. This example illustrates the shape; record IDs depend on the account.

JSON
{
  "success": true,
  "data": {
    "id": 10,
    "name": "VIBE-PROBE example",
    "active": "N"
  }
}

Errors

HTTP Code Condition
400 INVALID_PARAMS Invalid ID, query or body shape
400 MISSING_REQUIRED_FIELDS Missing required write fields
400 READONLY_FIELD Unsupported write field
400 UNKNOWN_FILTER_FIELD Unknown filter field
400 UNKNOWN_SELECT_FIELD Unknown select field
400 UNKNOWN_SORT_FIELD Unknown sort field
401 TOKEN_MISSING Missing Bitrix24 credentials
403 SCOPE_DENIED Missing pay_system scope
403 WRITE_BLOCKED_READONLY_KEY Writing with a readonly key
403 BITRIX_ACCESS_DENIED Bitrix24 refuses access or service ownership
404 ENTITY_NOT_FOUND Missing service
413 PAYLOAD_TOO_LARGE Logo or body size exceeds limit
422 BITRIX_ERROR Bitrix24 business refusal; original text is preserved
502 BITRIX_RESPONSE_INVALID Malformed platform success response

422 for an unknown handler (error shape example):

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Handler not found"
  }
}

Errors

See also