Update Configuration Record
1 min
PUT
https://api.upstartcommerce.com/v1/tenants/cfg/records/{recordId}
Path Parameters
- recordIdstringrequiredDescription
Header Parameters
- x-upstart-tenantstringrequiredDescription
Body Parameters
- bodyUpdateCfgRecordrequiredExample
{ "templateId": "payment-cybersource", "siteIds": [ "us-west-store", "us-east-store", "us-central-store" ], "tags": [ "production", "payment-gateway", "us-region", "pci-sensitive", "verified" ], "name": "Cybersource US Production Credentials - Updated", "data": { "merchantId": "acme_us_prod", "apiKey": "sk_live_NEW_KEY_rotated_2025_Q1_abc123xyz789", "apiUrl": "https://api.cybersource.com", "currency": "USD" }, "enabled": true, "accessControl": { "read": true, "modify": false } }Description- templateIdstringrequiredExampleDescription
- siteIdsstring[]Example
[ "us-west-store", "us-east-store", "us-central-store" ]
Description - tagsstring[]Example
[ "production", "payment-gateway", "pci-sensitive", "us-region", "verified" ]
Description - namestringrequiredExampleDescription
- dataobjectrequiredExample
{ "merchantId": "acme_us_prod", "apiKey": "sk_live_NEW_KEY_xyz789", "apiUrl": "https://api.cybersource.com", "currency": "USD", "testMode": false }Description - enabledbooleanrequiredExampleDescription
- accessControlCfgAccessControlDescription
- readbooleanrequiredExampleDescription
- modifybooleanrequiredDescription
Responses
200
400
- ValidationErrorResponseExample
{ "name": "ValidationError", "code": "SCHEMA_VALIDATION_FAILED", "detail": "Configuration data validation failed: data.apiKey is required but was not provided. Expected string with minimum length 32." }Description- namestringrequiredExampleDescription
- codestringrequiredExampleDescription
- detailstringExampleDescription
401
- ErrorResponseExample
{ "name": "AuthorizationError", "code": "INSUFFICIENT_PERMISSIONS", "detail": "User does not have the required tenant.cfg.modify permission to perform this operation.", "reason": "Your access token does not include the necessary permissions. Contact your administrator to request access." }Description- namestringrequiredExampleDescription
- codestringrequiredExampleDescription
- detailstringrequiredExampleDescription
- reasonstringExampleDescription
404
- ErrorResponseExample
{ "name": "ResourceNotFoundError", "code": "TEMPLATE_NOT_FOUND", "detail": "The configuration template with ID \"payment-stripe\" was not found in the system.", "reason": "The template may have been deleted or you may not have permission to access it. Verify the template ID using GET /tenants/cfg/templates." }Description- namestringrequiredExampleDescription
- codestringrequiredExampleDescription
- detailstringrequiredExampleDescription
- reasonstringExampleDescription
422
- ErrorResponseExample
{ "name": "UnprocessableEntityError", "code": "TEMPLATE_IN_USE", "detail": "Cannot delete template \"payment-cybersource\" because 5 configuration records are still using it.", "reason": "Delete or migrate all records using this template before deleting the template itself." }Description- namestringrequiredExampleDescription
- codestringrequiredExampleDescription
- detailstringrequiredExampleDescription
- reasonstringExampleDescription
500
- ErrorResponseExample
{ "name": "InternalServerError", "code": "UNEXPECTED_ERROR", "detail": "An unexpected error occurred while processing your request.", "reason": "Our team has been notified. Please try again, and if the problem persists, contact support with trace ID: 550e8400-e29b-41d4-a716-446655440000" }Description- namestringrequiredExampleDescription
- codestringrequiredExampleDescription
- detailstringrequiredExampleDescription
- reasonstringExampleDescription
curl
curl --request PUT \
--url https://api.upstartcommerce.com/v1/tenants/cfg/records/{recordId} \
--header 'accept: text/plain' \
--header 'content-type: application/json' \
--header 'x-upstart-tenant: string' \
--data '{
"templateId": "payment-cybersource",
"name": "Cybersource US Production Credentials - Updated Q1 2025",
"data": "{\"merchantId\":\"acme_us_prod\",\"apiKey\":\"sk_live_NEW_KEY_xyz789\",\"apiUrl\":\"https://api.cybersource.com\",\"currency\":\"USD\",\"testMode\":false}",
"enabled": true,
"accessControl": {
"read": true,
"modify": false
}
}'javascript
var myHeaders = new Headers();
myHeaders.append("accept", "text/plain");
myHeaders.append("content-type", "application/json");
myHeaders.append("x-upstart-tenant", "string");
var raw = JSON.stringify({
"templateId": "payment-cybersource",
"name": "Cybersource US Production Credentials - Updated Q1 2025",
"data": "{\"merchantId\":\"acme_us_prod\",\"apiKey\":\"sk_live_NEW_KEY_xyz789\",\"apiUrl\":\"https://api.cybersource.com\",\"currency\":\"USD\",\"testMode\":false}",
"enabled": true,
"accessControl": {
"read": true,
"modify": false
}
});
var requestOptions = {
method: 'PUT',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.upstartcommerce.com/v1/tenants/cfg/records/{recordId}", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.upstartcommerce.com/v1/tenants/cfg/records/{recordId}")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Put.new(url)
request["accept"] = "text/plain"
request["content-type"] = "application/json"
request["x-upstart-tenant"] = "string"
request.body = JSON.dump({
"templateId": "payment-cybersource",
"name": "Cybersource US Production Credentials - Updated Q1 2025",
"data": "{\"merchantId\":\"acme_us_prod\",\"apiKey\":\"sk_live_NEW_KEY_xyz789\",\"apiUrl\":\"https://api.cybersource.com\",\"currency\":\"USD\",\"testMode\":false}",
"enabled": true,
"accessControl": {
"read": true,
"modify": false
}
})
response = https.request(request)
puts response.read_body
python
import requests
import json
url = "https://api.upstartcommerce.com/v1/tenants/cfg/records/{recordId}"
payload = json.dumps({
"templateId": "payment-cybersource",
"name": "Cybersource US Production Credentials - Updated Q1 2025",
"data": "{\"merchantId\":\"acme_us_prod\",\"apiKey\":\"sk_live_NEW_KEY_xyz789\",\"apiUrl\":\"https://api.cybersource.com\",\"currency\":\"USD\",\"testMode\":false}",
"enabled": True,
"accessControl": {
"read": True,
"modify": False
}
})
headers = {
'accept': 'text/plain',
'content-type': 'application/json',
'x-upstart-tenant': 'string'
}
response = requests.request("PUT", url, headers=headers, data=payload)
print(response.text)
200
// Success-record updated successfully. Version automatically incremented.
400
// The request contained information that the server was unable to process. Appropriate errors are provided in the response body.
{
"name": "ValidationError",
"code": "SCHEMA_VALIDATION_FAILED",
"detail": "Configuration data validation failed: data.apiKey is required but was not provided. Expected string with minimum length 32."
}401
// The provided credentials were not valid for this endpoint. It may be that they are expired or that the user's roles are insufficient.
{
"name": "ResourceNotFoundError",
"code": "TEMPLATE_NOT_FOUND",
"detail": "The configuration template with ID \"payment-stripe\" was not found in the system.",
"reason": "The template may have been deleted or you may not have permission to access it. Verify the template ID using GET /tenants/cfg/templates."
}404
// The requested resource was not found in the NoChannel system.
{
"name": "ResourceNotFoundError",
"code": "TEMPLATE_NOT_FOUND",
"detail": "The configuration template with ID \"payment-stripe\" was not found in the system.",
"reason": "The template may have been deleted or you may not have permission to access it. Verify the template ID using GET /tenants/cfg/templates."
}422
// The request was well-formed but contains semantic errors or violates business rules that prevent processing.
{
"name": "ResourceNotFoundError",
"code": "TEMPLATE_NOT_FOUND",
"detail": "The configuration template with ID \"payment-stripe\" was not found in the system.",
"reason": "The template may have been deleted or you may not have permission to access it. Verify the template ID using GET /tenants/cfg/templates."
}500
// An unexpected internal server error occurred. The request may be retried, and if the problem persists, contact support with the traceId from the error response.
{
"name": "ResourceNotFoundError",
"code": "TEMPLATE_NOT_FOUND",
"detail": "The configuration template with ID \"payment-stripe\" was not found in the system.",
"reason": "The template may have been deleted or you may not have permission to access it. Verify the template ID using GET /tenants/cfg/templates."
}