---
title: Get Cloudinary Configuration Record by ID
slug: api-documentation/get-cloudinary-configuration-record-by-id
docTags: 
createdAt: 2026-10-19T10:26:54.944Z
---

{
  "id": "LNoLorJTw9A3clQU-5BjE",
  "type": "api-oas-v2",
  "data": {
    "method": "GET",
    "url": "https://api.upstartcommerce.com/v1/tenants/cfg/cloudinary/{recordId}",
    "servers": [
      {
        "url": "https://api.upstartcommerce.com/v1/tenants/cfg/cloudinary/{recordId}"
      }
    ],
    "name": "Get Cloudinary Configuration Record by ID",
    "description": "<p>This endpoint retrieves the cfg record data for a given recordId.</p>\n<p>Authorized permissions:</p>\n<ul>\n<li><code>tenant.cfg.read</code></li>\n</ul>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [
        {
          "kind": "required",
          "name": "recordId",
          "type": "string",
          "description": "Unique identifier for a given record."
        }
      ],
      "headerParameters": [
        {
          "name": "accept",
          "type": "string",
          "kind": "optional",
          "description": "Generated from available response content types",
          "enum": [
            "application/json"
          ],
          "default": "application/json"
        },
        {
          "kind": "required",
          "name": "x-upstart-tenant",
          "type": "string",
          "description": "Tenant identifier associated with the site this call is for."
        }
      ],
      "queryParameters": [],
      "bodyDataParameters": [],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "NoChannelPortalAccess",
          "name": "NoChannelPortalAccess",
          "kind": "optional",
          "type": "http",
          "description": "<p>This authentication is required for clients to interact with any of the management APIs. Similar to 'LoggedIn', it indicates that the user has actually logged into the system, but in this case with a management role.</p>",
          "scheme": "bearer"
        },
        {
          "id": "SessionIdAuth",
          "name": "X-Upstart-Session-Id",
          "kind": "optional",
          "type": "apiKey",
          "description": "<p>Legacy auth-mgmt session credential, obtained from user-svc <code>POST /v1/user/session-login</code>.</p>\n<p>Accepted as an alternative to a bearer token: every operation that lists both schemes takes either one.\nThis is what control-center sends -- it attaches <code>X-Upstart-Session-Id</code> and never an <code>Authorization</code> header.\nDeclaring it here is what stops Tapir refusing those requests at the transport for a missing <code>Authorization</code>.</p>",
          "in": "header"
        },
        {
          "id": "ApiKeyAuth",
          "name": "X-UpStart-API-Key",
          "kind": "optional",
          "type": "apiKey",
          "description": "<p>Legacy auth-mgmt API key, for service and integration callers.</p>\n<p>Accepted as an alternative to a bearer token or session id: every operation that lists these schemes takes any one of them.\nDeclaring it here is what stops Tapir refusing API-key-only requests at the transport for a missing <code>Authorization</code>.</p>",
          "in": "header"
        }
      ],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "<p>Success-record returned.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"tenant\":\"acme001\",\"domain\":\"acme-retail\",\"recordId\":\"cloudinary-main\",\"templateId\":\"cloudinary\",\"siteIds\":[\"us-west-store\",\"us-east-store\"],\"tags\":[\"production\",\"media-storage\"],\"name\":\"Cloudinary Production Configuration\",\"data\":{\"cloudName\":\"acme-retail\",\"apiKey\":\"abc123456789\",\"apiSecret\":\"***hidden***\",\"uploadPreset\":\"product-images\",\"secureDistribution\":true},\"enabled\":true,\"version\":3,\"accessControl\":{\"read\":true,\"modify\":false},\"audit\":{\"by\":\"admin@acmeretail.com\",\"byId\":\"user-12345\",\"byAnonymous\":false,\"at\":\"2024-01-15T10:30:00Z\",\"traceId\":\"550e8400-e29b-41d4-a716-446655440000\",\"serviceName\":\"tenant-svc\",\"serviceVersion\":\"1.2.3\"}}",
            "description": "<p>A configuration record represents a concrete instance of a configuration template with actual values. Records contain the runtime configuration data used by integrations and services, and can be scoped to specific sites. For example, a record might contain API credentials for a payment gateway for a specific store site.</p>",
            "customType": "CfgRecord",
            "schema": [
              {
                "name": "tenant",
                "kind": "optional",
                "type": "string",
                "description": "<p>The unique identifier of the tenant that owns this configuration record. All records are isolated by tenant for multi-tenancy.</p>",
                "example": "acme-retail"
              },
              {
                "name": "domain",
                "kind": "required",
                "type": "string",
                "description": "<p>The domain name associated with the tenant. This is the subdomain prefix used to access the tenant's portal (e.g., 'acme' in 'acme.upstartcommerce.com').</p>",
                "example": "acme"
              },
              {
                "name": "recordId",
                "kind": "required",
                "type": "string",
                "description": "The unique identifier for this configuration record within the tenant. Used to reference and manage this specific configuration instance.",
                "example": "cfg-rec-550e8400-e29b-41d4-a716-446655440000"
              },
              {
                "name": "templateId",
                "kind": "required",
                "type": "string",
                "description": "<p>The identifier of the configuration template this record is based on. The template defines the schema and structure of the data field. Examples include 'cybersource', 'stripe', 'cloudinary'.</p>",
                "example": "cybersource-payment"
              },
              {
                "name": "siteIds",
                "kind": "optional",
                "type": "array",
                "description": "<p>The list of site identifiers this configuration applies to. When empty, the configuration applies to all sites within the tenant. Use this to create site-specific configurations (e.g., different payment credentials per store).</p>",
                "example": "[\"site-us-west\",\"site-us-east\"]",
                "itemType": "string",
                "customType": "string[]",
                "itemExample": "",
                "itemDefault": ""
              },
              {
                "name": "tags",
                "kind": "optional",
                "type": "array",
                "description": "<p>Arbitrary tags for organizing and filtering configuration records. Useful for categorizing records by environment (dev, staging, prod), purpose (payment, shipping, tax), or any custom taxonomy.</p>",
                "example": "[\"production\",\"payment-gateway\",\"us-region\"]",
                "itemType": "string",
                "customType": "string[]",
                "itemExample": "",
                "itemDefault": ""
              },
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": "<p>A human-readable name for this configuration record. Should be descriptive and unique within the tenant to make it easy to identify in lists and logs.</p>",
                "example": "Cybersource US Production Credentials"
              },
              {
                "name": "data",
                "kind": "required",
                "type": "object",
                "description": "<p>The actual configuration data as a JSON object. The structure is defined by the associated template's propertiesDescriptors. Contains integration credentials, settings, and other configuration values. Sensitive fields (like API keys) should be handled securely.</p>",
                "example": "{\"merchantId\":\"acme_us\",\"apiKey\":\"sk_live_...\",\"apiUrl\":\"https://api.cybersource.com\",\"currency\":\"USD\"}",
                "schema": []
              },
              {
                "name": "enabled",
                "kind": "required",
                "type": "boolean",
                "description": "<p>Indicates whether this configuration record is currently active and should be used by the system. When false, the record is retained but ignored by runtime processes. Useful for temporarily disabling integrations without deleting configuration data.</p>",
                "example": true
              },
              {
                "name": "version",
                "kind": "required",
                "type": "integer<int32>",
                "description": "<p>The version number of this configuration record, incremented with each update. Used for optimistic locking to prevent concurrent modification conflicts. Clients should provide this value when updating records.</p>",
                "example": 5,
                "format": "int32"
              },
              {
                "name": "accessControl",
                "kind": "required",
                "type": "object",
                "description": "<p>Access control settings that determine which operations can be performed on a configuration resource. This enables fine-grained permission management for configuration templates and records.</p>",
                "modelRef": "#/components/schemas/CfgAccessControl",
                "customType": "CfgAccessControl",
                "schema": [
                  {
                    "name": "read",
                    "kind": "required",
                    "type": "boolean",
                    "description": "<p>Whether the configuration resource can be read/viewed. When false, the resource is hidden from queries and detail views unless the user has elevated privileges. Typically used for sensitive configurations.</p>",
                    "example": true
                  },
                  {
                    "name": "modify",
                    "kind": "required",
                    "type": "boolean",
                    "description": "<p>Whether the configuration resource can be modified (updated or deleted). When false, the resource becomes read-only and cannot be changed through the API. Useful for protecting production configurations.</p>",
                    "example": false
                  }
                ]
              },
              {
                "name": "audit",
                "kind": "required",
                "type": "object",
                "description": "<p>Audit information tracking who performed an action, when, and from which system. This provides a complete audit trail for compliance and debugging purposes.</p>",
                "modelRef": "#/components/schemas/Audit",
                "customType": "Audit",
                "schema": [
                  {
                    "name": "byId",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>The unique identifier of the user or system that performed this action. This could be a user ID, service account ID, or system identifier.</p>"
                  },
                  {
                    "name": "by",
                    "kind": "required",
                    "type": "string",
                    "description": "<p>The human-readable name or email of the user/system that performed the action. Used for display purposes in audit logs and UI.</p>"
                  },
                  {
                    "name": "byAnonymous",
                    "kind": "required",
                    "type": "boolean",
                    "description": "<p>Indicates whether this action was performed by an anonymous user (true) or an authenticated user/system (false). Anonymous actions have limited audit information.</p>"
                  },
                  {
                    "name": "at",
                    "kind": "required",
                    "type": "string<date-time>",
                    "description": "<p>The exact timestamp when this action occurred, in ISO 8601 format (e.g., '2024-01-15T10:30</p><div></div>'). Always in UTC timezone.<p></p>",
                    "example": "2024-01-15T10:30:00Z",
                    "format": "date-time"
                  },
                  {
                    "name": "traceId",
                    "kind": "required",
                    "type": "string",
                    "description": "A unique identifier for tracing this request across distributed services. Used for correlating logs and debugging issues across the system. Typically a UUID.",
                    "example": "550e8400-e29b-41d4-a716-446655440000"
                  },
                  {
                    "name": "serviceName",
                    "kind": "required",
                    "type": "string",
                    "description": "<p>The name of the microservice that processed this request (e.g., 'tenant-svc', 'cart-svc'). Used for identifying which service performed the action.</p>",
                    "example": "tenant-svc"
                  },
                  {
                    "name": "serviceVersion",
                    "kind": "required",
                    "type": "string",
                    "description": "<p>The version of the service that processed this request (e.g., '1.2.3', 'v2.0.0'). Useful for tracking behavior changes across deployments.</p>",
                    "example": "1.2.3"
                  },
                  {
                    "name": "byDomain",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>The domain or tenant context from which the action was performed. Used in multi-tenant scenarios to track cross-tenant operations.</p>",
                    "example": "example-store"
                  },
                  {
                    "name": "bySubjectType",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>The type of subject that performed the action (e.g., 'USER', 'SERVICE_ACCOUNT', 'SYSTEM'). Helps categorize audit entries by actor type.</p>",
                    "example": "USER"
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/CfgRecord",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "400",
        "description": "The request contained information that the server was unable to process. Appropriate errors are provided in the response body.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"name\":\"ValidationError\",\"code\":\"INVALID_EMAIL_FORMAT\",\"detail\":\"The email field must be a valid email address. Received: \\\"invalid-email\\\"\"}",
            "description": "<p>Error response returned when request validation fails (HTTP 400). Contains details about which fields failed validation and why. Used for client-side error display and form validation feedback.</p>",
            "customType": "ValidationErrorResponse",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": "<p>The error type, typically 'ValidationError' for all validation failures. Use this to distinguish validation errors from other error types in your error handling logic.</p>",
                "example": "ValidationError"
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": "<p>A validation-specific error code indicating the validation rule that failed. Examples include 'REQUIRED_FIELD_MISSING', 'INVALID_FORMAT', 'VALUE_OUT_OF_RANGE', 'DUPLICATE_VALUE'. Use for specific handling of different validation scenarios.</p>",
                "example": "INVALID_EMAIL_FORMAT"
              },
              {
                "name": "detail",
                "kind": "optional",
                "type": "string",
                "description": "<p>Human-readable validation error message describing which field(s) failed and why. Should be specific enough for developers to fix the issue. May include field paths for nested objects (e.g., 'sites[0].url is not a valid domain').</p>",
                "example": "The email field must be a valid email address. Received: \"invalid-email\""
              }
            ],
            "modelRef": "#/components/schemas/ValidationErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "401",
        "description": "The provided credentials were not valid for this endpoint. It may be that they are expired or that the user's roles are insufficient.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"name\":\"AuthorizationError\",\"code\":\"INSUFFICIENT_PERMISSIONS\",\"detail\":\"User does not have the required tenant.create permission to perform this operation.\",\"reason\":\"Your access token does not include the necessary permissions. Contact your administrator to request access.\"}",
            "description": "<p>Returned when credentials are missing, expired or insufficient (HTTP 401).</p>",
            "customType": "UnauthorizedError",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": "<p>The high-level error category or type name.</p>"
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": "A specific error code identifying the exact error condition."
              },
              {
                "name": "detail",
                "kind": "optional",
                "type": "string",
                "description": "<p>A human-readable description of what went wrong.</p>"
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": "Optional additional context or suggested resolution."
              }
            ],
            "modelRef": "#/components/schemas/UnauthorizedError",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "404",
        "description": "The requested resource was not found in the NoChannel system.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"name\":\"ResourceNotFoundError\",\"code\":\"TENANT_NOT_FOUND\",\"detail\":\"The tenant with ID \\\"acme001\\\" was not found in the system.\",\"reason\":\"The tenant may have been deleted or you may not have permission to access it. Verify the tenant ID and your access rights.\"}",
            "description": "<p>Returned when the requested resource does not exist (HTTP 404).</p>",
            "customType": "NotFoundError",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": "<p>The high-level error category or type name.</p>"
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": "A specific error code identifying the exact error condition."
              },
              {
                "name": "detail",
                "kind": "optional",
                "type": "string",
                "description": "<p>A human-readable description of what went wrong.</p>"
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": "Optional additional context or suggested resolution."
              }
            ],
            "modelRef": "#/components/schemas/NotFoundError",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "500",
        "description": "<p>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.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"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": "<p>Returned for an unexpected server-side failure (HTTP 500).</p>",
            "customType": "InternalServerError",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": "<p>The high-level error category or type name.</p>"
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": "A specific error code identifying the exact error condition."
              },
              {
                "name": "detail",
                "kind": "optional",
                "type": "string",
                "description": "<p>A human-readable description of what went wrong.</p>"
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": "Optional additional context or suggested resolution."
              }
            ],
            "modelRef": "#/components/schemas/InternalServerError",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "503",
        "description": "<p>A downstream dependency was unavailable, so the request could not be authorized or completed. The request may be retried.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"name\":\"Service Unavailable\",\"code\":\"UNKNOWN\",\"detail\":\"Permission resolution is unavailable, please retry\",\"reason\":\"A dependency required to authorize this request is temporarily unreachable. Please retry shortly.\"}",
            "description": "<p>Returned when a downstream dependency this request needed is unavailable (HTTP 503).</p>\n<p>Distinct from 401: the caller's credentials are fine. The service could not resolve the permissions\nrequired to authorize the request, so the outcome is unknown rather than denied. The request may be retried.</p>",
            "customType": "ServiceUnavailableError",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": "<p>The high-level error category or type name.</p>"
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": "A specific error code identifying the exact error condition."
              },
              {
                "name": "detail",
                "kind": "optional",
                "type": "string",
                "description": "<p>A human-readable description of what went wrong.</p>"
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": "Optional additional context or suggested resolution."
              }
            ],
            "modelRef": "#/components/schemas/ServiceUnavailableError",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "HwCHLWEqL8yW11qSGT1Qp",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request GET \\\n     --url https://api.upstartcommerce.com/v1/tenants/cfg/cloudinary/{recordId} \\\n     --header 'accept: application/json' \\\n     --header 'x-upstart-tenant: string'"
        },
        {
          "id": "wuvDbYfNPJDnoNibc7wcR",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\nmyHeaders.append(\"x-upstart-tenant\", \"string\");\n\nvar requestOptions = {\n   method: 'GET',\n   headers: myHeaders,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.upstartcommerce.com/v1/tenants/cfg/cloudinary/{recordId}\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "uDT5m1vBgbEF796ZrCZQo",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.upstartcommerce.com/v1/tenants/cfg/cloudinary/{recordId}\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\nrequest[\"x-upstart-tenant\"] = \"string\"\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "7L0sB2Qawppr1tOFiRwyu",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.upstartcommerce.com/v1/tenants/cfg/cloudinary/{recordId}\"\n\npayload = {}\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json',\n   'x-upstart-tenant': 'string'\n}\n\nresponse = requests.request(\"GET\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "HwCHLWEqL8yW11qSGT1Qp"
    },
    "results": {
      "languages": [
        {
          "id": "RqLNaQhXfCNNXKmNlanw-",
          "language": "200",
          "code": "// Success-record returned.\n{\n  \"tenant\": \"acme-retail\",\n  \"domain\": \"acme\",\n  \"recordId\": \"cfg-rec-550e8400-e29b-41d4-a716-446655440000\",\n  \"templateId\": \"cybersource-payment\",\n  \"siteIds\": [\n    \"\"\n  ],\n  \"tags\": [\n    \"\"\n  ],\n  \"name\": \"Cybersource US Production Credentials\",\n  \"data\": {},\n  \"enabled\": true,\n  \"version\": 5,\n  \"accessControl\": {\n    \"read\": true,\n    \"modify\": false\n  },\n  \"audit\": {\n    \"byId\": \"\",\n    \"by\": \"\",\n    \"byAnonymous\": false,\n    \"at\": \"2024-01-15T10:30:00Z\",\n    \"traceId\": \"550e8400-e29b-41d4-a716-446655440000\",\n    \"serviceName\": \"tenant-svc\",\n    \"serviceVersion\": \"1.2.3\",\n    \"byDomain\": \"example-store\",\n    \"bySubjectType\": \"USER\"\n  }\n}"
        },
        {
          "id": "X7dHqSenv2t3cvpdGfI_m",
          "language": "400",
          "code": "// The request contained information that the server was unable to process. Appropriate errors are provided in the response body.\n{\n  \"name\": \"ValidationError\",\n  \"code\": \"INVALID_EMAIL_FORMAT\",\n  \"detail\": \"The email field must be a valid email address. Received: \\\"invalid-email\\\"\"\n}"
        },
        {
          "id": "QAyK3k_HdrNH87jhajjLF",
          "language": "401",
          "code": "// The provided credentials were not valid for this endpoint. It may be that they are expired or that the user's roles are insufficient.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\",\n  \"reason\": \"\"\n}"
        },
        {
          "id": "hstAo13rZNvsKJzT3BSbs",
          "language": "404",
          "code": "// The requested resource was not found in the NoChannel system.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\",\n  \"reason\": \"\"\n}"
        },
        {
          "id": "kZ1KVc1RATZM_FSjV7Ynv",
          "language": "500",
          "code": "// 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.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\",\n  \"reason\": \"\"\n}"
        },
        {
          "id": "dyVAyphkKC3Y_4XHmjKdL",
          "language": "503",
          "code": "// A downstream dependency was unavailable, so the request could not be authorized or completed. The request may be retried.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\",\n  \"reason\": \"\"\n}"
        }
      ],
      "selectedLanguageId": "RqLNaQhXfCNNXKmNlanw-"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}