Skip to content

Update an existing custom integration

PUT
/openapi/account/updatecustomintegration
curl --request PUT \
--url https://open-api.replyco.com/openapi/account/updatecustomintegration \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json-patch+json' \
--data '{ "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "name": "example", "isBlocked": "example", "icon": { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "marketFileId": "example", "mimeType": "example", "fileSize": 1, "fileName": "example", "filePath": "example", "fileUrl": "example", "base64": "example" } }'

Updates all fields of a custom integration. This is a full update (PUT), not a partial update (PATCH).

Important:

  • All fields must be provided, even if unchanged
  • The ID field is required to identify which integration to update
  • Only custom integrations can be updated via this endpoint

Updatable fields:

  • Name
  • ApiKey
  • ApiSecret
  • WebhookUrl
  • IsActive

Sample request:

PUT /account/updateCustomIntegration
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": "Updated Store Name",
  "marketplace": "CustomIntegration",
  "apiKey": "new-api-key",
  "isActive": true
}

Complete integration object with all fields (including unchanged ones)

object
id
string format: uuid
name

The display name of the custom integration (e.g., “My Store”, “Legacy System”)

string
nullable
isBlocked

Indicates whether this integration is blocked/disabled. Set to “true” to disable, “false” or null to enable

string
nullable
icon
object
id
string format: uuid
marketFileId

External marketplace-specific file identifier (if applicable)

string
nullable
mimeType

MIME type of the file (e.g., “image/png”, “application/pdf”)

string
nullable
fileSize

Size of the file in bytes

integer format: int32
fileName

Name of the file including extension (e.g., “logo.png”, “document.pdf”)

string
nullable
filePath

Server-side path where the file is stored (internal use)

string
nullable
fileUrl

Publicly accessible URL to download/view the file

string
nullable
base64

Base64-encoded file content for inline upload/download

string
nullable

Example generated

{
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"name": "example",
"isBlocked": "example",
"icon": {
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"marketFileId": "example",
"mimeType": "example",
"fileSize": 1,
"fileName": "example",
"filePath": "example",
"fileUrl": "example",
"base64": "example"
}
}

Integration was successfully updated

Media typeapplication/json
object
id
string format: uuid
name

The display name of the custom integration (e.g., “My Store”, “Legacy System”)

string
nullable
isBlocked

Indicates whether this integration is blocked/disabled. Set to “true” to disable, “false” or null to enable

string
nullable
icon
object
id
string format: uuid
marketFileId

External marketplace-specific file identifier (if applicable)

string
nullable
mimeType

MIME type of the file (e.g., “image/png”, “application/pdf”)

string
nullable
fileSize

Size of the file in bytes

integer format: int32
fileName

Name of the file including extension (e.g., “logo.png”, “document.pdf”)

string
nullable
filePath

Server-side path where the file is stored (internal use)

string
nullable
fileUrl

Publicly accessible URL to download/view the file

string
nullable
base64

Base64-encoded file content for inline upload/download

string
nullable

Example generated

{
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"name": "example",
"isBlocked": "example",
"icon": {
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"marketFileId": "example",
"mimeType": "example",
"fileSize": 1,
"fileName": "example",
"filePath": "example",
"fileUrl": "example",
"base64": "example"
}
}

Invalid request data or attempting to update non-custom integration

User is not authenticated or authorized

User does not have permission to update integrations

Integration with the specified ID was not found