Chilkat Online Tools

Perl / Salesforce Platform APIs / Limits

Back to Collection Items

use chilkat();

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

$http = chilkat::CkHttp->new();

# Adds the "Authorization: Bearer <access_token>" header.
$http->put_AuthToken("<access_token>");

$sbResponseBody = chilkat::CkStringBuilder->new();
$success = $http->QuickGetSb("https://domain.com/services/data/v{{version}}/limits",$sbResponseBody);
if ($success == 0) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

$jResp = chilkat::CkJsonObject->new();
$jResp->LoadSb($sbResponseBody);
$jResp->put_EmitCompact(0);

print "Response Body:" . "\r\n";
print $jResp->emit() . "\r\n";

$respStatusCode = $http->get_LastStatus();
print "Response Status Code = " . $respStatusCode . "\r\n";
if ($respStatusCode >= 400) {
    print "Response Header:" . "\r\n";
    print $http->lastHeader() . "\r\n";
    print "Failed." . "\r\n";
    exit;
}

# Sample JSON response:
# (Sample code for parsing the JSON response is shown below)

# {
#   "ActiveScratchOrgs": {
#     "Max": 3,
#     "Remaining": 3
#   },
#   "AnalyticsExternalDataSizeMB": {
#     "Max": 40960,
#     "Remaining": 40960
#   },
#   "ConcurrentAsyncGetReportInstances": {
#     "Max": 200,
#     "Remaining": 200
#   },
#   "ConcurrentEinsteinDataInsightsStoryCreation": {
#     "Max": 5,
#     "Remaining": 5
#   },
#   "ConcurrentEinsteinDiscoveryStoryCreation": {
#     "Max": 2,
#     "Remaining": 2
#   },
#   "ConcurrentSyncReportRuns": {
#     "Max": 20,
#     "Remaining": 20
#   },
#   "DailyAnalyticsDataflowJobExecutions": {
#     "Max": 60,
#     "Remaining": 60
#   },
#   "DailyAnalyticsUploadedFilesSizeMB": {
#     "Max": 51200,
#     "Remaining": 51200
#   },
#   "DailyApiRequests": {
#     "Max": 15000,
#     "Remaining": 14999
#   },
#   "DailyAsyncApexExecutions": {
#     "Max": 250000,
#     "Remaining": 250000
#   },
#   "DailyAsyncApexTests": {
#     "Max": 540,
#     "Remaining": 540
#   },
#   "DailyBulkApiBatches": {
#     "Max": 15000,
#     "Remaining": 15000
#   },
#   "DailyBulkV2QueryFileStorageMB": {
#     "Max": 976562,
#     "Remaining": 976562
#   },
#   "DailyBulkV2QueryJobs": {
#     "Max": 10000,
#     "Remaining": 10000
#   },
#   "DailyDeliveredPlatformEvents": {
#     "Max": 10000,
#     "Remaining": 10000
#   },
#   "DailyDurableGenericStreamingApiEvents": {
#     "Max": 10000,
#     "Remaining": 10000
#   },
#   "DailyDurableStreamingApiEvents": {
#     "Max": 10000,
#     "Remaining": 10000
#   },
#   "DailyEinsteinDataInsightsStoryCreation": {
#     "Max": 1000,
#     "Remaining": 1000
#   },
#   "DailyEinsteinDiscoveryOptimizationJobRuns": {
#     "Max": 25,
#     "Remaining": 25
#   },
#   "DailyEinsteinDiscoveryPredictAPICalls": {
#     "Max": 50000,
#     "Remaining": 50000
#   },
#   "DailyEinsteinDiscoveryPredictionsByCDC": {
#     "Max": 500000,
#     "Remaining": 500000
#   },
#   "DailyEinsteinDiscoveryStoryCreation": {
#     "Max": 100,
#     "Remaining": 100
#   },
#   "DailyFunctionsApiCallLimit": {
#     "Max": 50000,
#     "Remaining": 50000
#   },
#   "DailyGenericStreamingApiEvents": {
#     "Max": 10000,
#     "Remaining": 10000
#   },
#   "DailyScratchOrgs": {
#     "Max": 6,
#     "Remaining": 6
#   },
#   "DailyStandardVolumePlatformEvents": {
#     "Max": 10000,
#     "Remaining": 10000
#   },
#   "DailyStreamingApiEvents": {
#     "Max": 10000,
#     "Remaining": 10000
#   },
#   "DailyWorkflowEmails": {
#     "Max": 405,
#     "Remaining": 405
#   },
#   "DataStorageMB": {
#     "Max": 5,
#     "Remaining": 5
#   },
#   "DurableStreamingApiConcurrentClients": {
#     "Max": 20,
#     "Remaining": 20
#   },
#   "FileStorageMB": {
#     "Max": 20,
#     "Remaining": 20
#   },
#   "HourlyAsyncReportRuns": {
#     "Max": 1200,
#     "Remaining": 1200
#   },
#   "HourlyDashboardRefreshes": {
#     "Max": 200,
#     "Remaining": 200
#   },
#   "HourlyDashboardResults": {
#     "Max": 5000,
#     "Remaining": 5000
#   },
#   "HourlyDashboardStatuses": {
#     "Max": 999999999,
#     "Remaining": 999999999
#   },
#   "HourlyLongTermIdMapping": {
#     "Max": 100000,
#     "Remaining": 100000
#   },
#   "HourlyManagedContentPublicRequests": {
#     "Max": 50000,
#     "Remaining": 50000
#   },
#   "HourlyODataCallout": {
#     "Max": 1000,
#     "Remaining": 1000
#   },
#   "HourlyPublishedPlatformEvents": {
#     "Max": 50000,
#     "Remaining": 50000
#   },
#   "HourlyPublishedStandardVolumePlatformEvents": {
#     "Max": 1000,
#     "Remaining": 1000
#   },
#   "HourlyShortTermIdMapping": {
#     "Max": 100000,
#     "Remaining": 100000
#   },
#   "HourlySyncReportRuns": {
#     "Max": 500,
#     "Remaining": 500
#   },
#   "HourlyTimeBasedWorkflow": {
#     "Max": 50,
#     "Remaining": 50
#   },
#   "MassEmail": {
#     "Max": 10,
#     "Remaining": 10
#   },
#   "MonthlyEinsteinDiscoveryStoryCreation": {
#     "Max": 500,
#     "Remaining": 500
#   },
#   "Package2VersionCreates": {
#     "Max": 6,
#     "Remaining": 6
#   },
#   "Package2VersionCreatesWithoutValidation": {
#     "Max": 500,
#     "Remaining": 500
#   },
#   "PermissionSets": {
#     "Max": 1500,
#     "Remaining": 1498,
#     "CreateCustom": {
#       "Max": 1000,
#       "Remaining": 998
#     }
#   },
#   "PrivateConnectOutboundCalloutHourlyLimitMB": {
#     "Max": 0,
#     "Remaining": 0
#   },
#   "PublishCallbackUsageInApex": {
#     "Max": 5242880,
#     "Remaining": 5242880
#   },
#   "SingleEmail": {
#     "Max": 15,
#     "Remaining": 15
#   },
#   "StreamingApiConcurrentClients": {
#     "Max": 20,
#     "Remaining": 20
#   }
# }

# Sample code for parsing the JSON response...
# Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

$Max = $jResp->IntOf("ActiveScratchOrgs.Max");
$Remaining = $jResp->IntOf("ActiveScratchOrgs.Remaining");
$AnalyticsExternalDataSizeMBMax = $jResp->IntOf("AnalyticsExternalDataSizeMB.Max");
$AnalyticsExternalDataSizeMBRemaining = $jResp->IntOf("AnalyticsExternalDataSizeMB.Remaining");
$ConcurrentAsyncGetReportInstancesMax = $jResp->IntOf("ConcurrentAsyncGetReportInstances.Max");
$ConcurrentAsyncGetReportInstancesRemaining = $jResp->IntOf("ConcurrentAsyncGetReportInstances.Remaining");
$ConcurrentEinsteinDataInsightsStoryCreationMax = $jResp->IntOf("ConcurrentEinsteinDataInsightsStoryCreation.Max");
$ConcurrentEinsteinDataInsightsStoryCreationRemaining = $jResp->IntOf("ConcurrentEinsteinDataInsightsStoryCreation.Remaining");
$ConcurrentEinsteinDiscoveryStoryCreationMax = $jResp->IntOf("ConcurrentEinsteinDiscoveryStoryCreation.Max");
$ConcurrentEinsteinDiscoveryStoryCreationRemaining = $jResp->IntOf("ConcurrentEinsteinDiscoveryStoryCreation.Remaining");
$ConcurrentSyncReportRunsMax = $jResp->IntOf("ConcurrentSyncReportRuns.Max");
$ConcurrentSyncReportRunsRemaining = $jResp->IntOf("ConcurrentSyncReportRuns.Remaining");
$DailyAnalyticsDataflowJobExecutionsMax = $jResp->IntOf("DailyAnalyticsDataflowJobExecutions.Max");
$DailyAnalyticsDataflowJobExecutionsRemaining = $jResp->IntOf("DailyAnalyticsDataflowJobExecutions.Remaining");
$DailyAnalyticsUploadedFilesSizeMBMax = $jResp->IntOf("DailyAnalyticsUploadedFilesSizeMB.Max");
$DailyAnalyticsUploadedFilesSizeMBRemaining = $jResp->IntOf("DailyAnalyticsUploadedFilesSizeMB.Remaining");
$DailyApiRequestsMax = $jResp->IntOf("DailyApiRequests.Max");
$DailyApiRequestsRemaining = $jResp->IntOf("DailyApiRequests.Remaining");
$DailyAsyncApexExecutionsMax = $jResp->IntOf("DailyAsyncApexExecutions.Max");
$DailyAsyncApexExecutionsRemaining = $jResp->IntOf("DailyAsyncApexExecutions.Remaining");
$DailyAsyncApexTestsMax = $jResp->IntOf("DailyAsyncApexTests.Max");
$DailyAsyncApexTestsRemaining = $jResp->IntOf("DailyAsyncApexTests.Remaining");
$DailyBulkApiBatchesMax = $jResp->IntOf("DailyBulkApiBatches.Max");
$DailyBulkApiBatchesRemaining = $jResp->IntOf("DailyBulkApiBatches.Remaining");
$DailyBulkV2QueryFileStorageMBMax = $jResp->IntOf("DailyBulkV2QueryFileStorageMB.Max");
$DailyBulkV2QueryFileStorageMBRemaining = $jResp->IntOf("DailyBulkV2QueryFileStorageMB.Remaining");
$DailyBulkV2QueryJobsMax = $jResp->IntOf("DailyBulkV2QueryJobs.Max");
$DailyBulkV2QueryJobsRemaining = $jResp->IntOf("DailyBulkV2QueryJobs.Remaining");
$DailyDeliveredPlatformEventsMax = $jResp->IntOf("DailyDeliveredPlatformEvents.Max");
$DailyDeliveredPlatformEventsRemaining = $jResp->IntOf("DailyDeliveredPlatformEvents.Remaining");
$DailyDurableGenericStreamingApiEventsMax = $jResp->IntOf("DailyDurableGenericStreamingApiEvents.Max");
$DailyDurableGenericStreamingApiEventsRemaining = $jResp->IntOf("DailyDurableGenericStreamingApiEvents.Remaining");
$DailyDurableStreamingApiEventsMax = $jResp->IntOf("DailyDurableStreamingApiEvents.Max");
$DailyDurableStreamingApiEventsRemaining = $jResp->IntOf("DailyDurableStreamingApiEvents.Remaining");
$DailyEinsteinDataInsightsStoryCreationMax = $jResp->IntOf("DailyEinsteinDataInsightsStoryCreation.Max");
$DailyEinsteinDataInsightsStoryCreationRemaining = $jResp->IntOf("DailyEinsteinDataInsightsStoryCreation.Remaining");
$DailyEinsteinDiscoveryOptimizationJobRunsMax = $jResp->IntOf("DailyEinsteinDiscoveryOptimizationJobRuns.Max");
$DailyEinsteinDiscoveryOptimizationJobRunsRemaining = $jResp->IntOf("DailyEinsteinDiscoveryOptimizationJobRuns.Remaining");
$DailyEinsteinDiscoveryPredictAPICallsMax = $jResp->IntOf("DailyEinsteinDiscoveryPredictAPICalls.Max");
$DailyEinsteinDiscoveryPredictAPICallsRemaining = $jResp->IntOf("DailyEinsteinDiscoveryPredictAPICalls.Remaining");
$DailyEinsteinDiscoveryPredictionsByCDCMax = $jResp->IntOf("DailyEinsteinDiscoveryPredictionsByCDC.Max");
$DailyEinsteinDiscoveryPredictionsByCDCRemaining = $jResp->IntOf("DailyEinsteinDiscoveryPredictionsByCDC.Remaining");
$DailyEinsteinDiscoveryStoryCreationMax = $jResp->IntOf("DailyEinsteinDiscoveryStoryCreation.Max");
$DailyEinsteinDiscoveryStoryCreationRemaining = $jResp->IntOf("DailyEinsteinDiscoveryStoryCreation.Remaining");
$DailyFunctionsApiCallLimitMax = $jResp->IntOf("DailyFunctionsApiCallLimit.Max");
$DailyFunctionsApiCallLimitRemaining = $jResp->IntOf("DailyFunctionsApiCallLimit.Remaining");
$DailyGenericStreamingApiEventsMax = $jResp->IntOf("DailyGenericStreamingApiEvents.Max");
$DailyGenericStreamingApiEventsRemaining = $jResp->IntOf("DailyGenericStreamingApiEvents.Remaining");
$DailyScratchOrgsMax = $jResp->IntOf("DailyScratchOrgs.Max");
$DailyScratchOrgsRemaining = $jResp->IntOf("DailyScratchOrgs.Remaining");
$DailyStandardVolumePlatformEventsMax = $jResp->IntOf("DailyStandardVolumePlatformEvents.Max");
$DailyStandardVolumePlatformEventsRemaining = $jResp->IntOf("DailyStandardVolumePlatformEvents.Remaining");
$DailyStreamingApiEventsMax = $jResp->IntOf("DailyStreamingApiEvents.Max");
$DailyStreamingApiEventsRemaining = $jResp->IntOf("DailyStreamingApiEvents.Remaining");
$DailyWorkflowEmailsMax = $jResp->IntOf("DailyWorkflowEmails.Max");
$DailyWorkflowEmailsRemaining = $jResp->IntOf("DailyWorkflowEmails.Remaining");
$DataStorageMBMax = $jResp->IntOf("DataStorageMB.Max");
$DataStorageMBRemaining = $jResp->IntOf("DataStorageMB.Remaining");
$DurableStreamingApiConcurrentClientsMax = $jResp->IntOf("DurableStreamingApiConcurrentClients.Max");
$DurableStreamingApiConcurrentClientsRemaining = $jResp->IntOf("DurableStreamingApiConcurrentClients.Remaining");
$FileStorageMBMax = $jResp->IntOf("FileStorageMB.Max");
$FileStorageMBRemaining = $jResp->IntOf("FileStorageMB.Remaining");
$HourlyAsyncReportRunsMax = $jResp->IntOf("HourlyAsyncReportRuns.Max");
$HourlyAsyncReportRunsRemaining = $jResp->IntOf("HourlyAsyncReportRuns.Remaining");
$HourlyDashboardRefreshesMax = $jResp->IntOf("HourlyDashboardRefreshes.Max");
$HourlyDashboardRefreshesRemaining = $jResp->IntOf("HourlyDashboardRefreshes.Remaining");
$HourlyDashboardResultsMax = $jResp->IntOf("HourlyDashboardResults.Max");
$HourlyDashboardResultsRemaining = $jResp->IntOf("HourlyDashboardResults.Remaining");
$HourlyDashboardStatusesMax = $jResp->IntOf("HourlyDashboardStatuses.Max");
$HourlyDashboardStatusesRemaining = $jResp->IntOf("HourlyDashboardStatuses.Remaining");
$HourlyLongTermIdMappingMax = $jResp->IntOf("HourlyLongTermIdMapping.Max");
$HourlyLongTermIdMappingRemaining = $jResp->IntOf("HourlyLongTermIdMapping.Remaining");
$HourlyManagedContentPublicRequestsMax = $jResp->IntOf("HourlyManagedContentPublicRequests.Max");
$HourlyManagedContentPublicRequestsRemaining = $jResp->IntOf("HourlyManagedContentPublicRequests.Remaining");
$HourlyODataCalloutMax = $jResp->IntOf("HourlyODataCallout.Max");
$HourlyODataCalloutRemaining = $jResp->IntOf("HourlyODataCallout.Remaining");
$HourlyPublishedPlatformEventsMax = $jResp->IntOf("HourlyPublishedPlatformEvents.Max");
$HourlyPublishedPlatformEventsRemaining = $jResp->IntOf("HourlyPublishedPlatformEvents.Remaining");
$HourlyPublishedStandardVolumePlatformEventsMax = $jResp->IntOf("HourlyPublishedStandardVolumePlatformEvents.Max");
$HourlyPublishedStandardVolumePlatformEventsRemaining = $jResp->IntOf("HourlyPublishedStandardVolumePlatformEvents.Remaining");
$HourlyShortTermIdMappingMax = $jResp->IntOf("HourlyShortTermIdMapping.Max");
$HourlyShortTermIdMappingRemaining = $jResp->IntOf("HourlyShortTermIdMapping.Remaining");
$HourlySyncReportRunsMax = $jResp->IntOf("HourlySyncReportRuns.Max");
$HourlySyncReportRunsRemaining = $jResp->IntOf("HourlySyncReportRuns.Remaining");
$HourlyTimeBasedWorkflowMax = $jResp->IntOf("HourlyTimeBasedWorkflow.Max");
$HourlyTimeBasedWorkflowRemaining = $jResp->IntOf("HourlyTimeBasedWorkflow.Remaining");
$MassEmailMax = $jResp->IntOf("MassEmail.Max");
$MassEmailRemaining = $jResp->IntOf("MassEmail.Remaining");
$MonthlyEinsteinDiscoveryStoryCreationMax = $jResp->IntOf("MonthlyEinsteinDiscoveryStoryCreation.Max");
$MonthlyEinsteinDiscoveryStoryCreationRemaining = $jResp->IntOf("MonthlyEinsteinDiscoveryStoryCreation.Remaining");
$Package2VersionCreatesMax = $jResp->IntOf("Package2VersionCreates.Max");
$Package2VersionCreatesRemaining = $jResp->IntOf("Package2VersionCreates.Remaining");
$Package2VersionCreatesWithoutValidationMax = $jResp->IntOf("Package2VersionCreatesWithoutValidation.Max");
$Package2VersionCreatesWithoutValidationRemaining = $jResp->IntOf("Package2VersionCreatesWithoutValidation.Remaining");
$PermissionSetsMax = $jResp->IntOf("PermissionSets.Max");
$PermissionSetsRemaining = $jResp->IntOf("PermissionSets.Remaining");
$CreateCustomMax = $jResp->IntOf("PermissionSets.CreateCustom.Max");
$CreateCustomRemaining = $jResp->IntOf("PermissionSets.CreateCustom.Remaining");
$PrivateConnectOutboundCalloutHourlyLimitMBMax = $jResp->IntOf("PrivateConnectOutboundCalloutHourlyLimitMB.Max");
$PrivateConnectOutboundCalloutHourlyLimitMBRemaining = $jResp->IntOf("PrivateConnectOutboundCalloutHourlyLimitMB.Remaining");
$PublishCallbackUsageInApexMax = $jResp->IntOf("PublishCallbackUsageInApex.Max");
$PublishCallbackUsageInApexRemaining = $jResp->IntOf("PublishCallbackUsageInApex.Remaining");
$SingleEmailMax = $jResp->IntOf("SingleEmail.Max");
$SingleEmailRemaining = $jResp->IntOf("SingleEmail.Remaining");
$StreamingApiConcurrentClientsMax = $jResp->IntOf("StreamingApiConcurrentClients.Max");
$StreamingApiConcurrentClientsRemaining = $jResp->IntOf("StreamingApiConcurrentClients.Remaining");

Curl Command

curl -X GET
	-H "Authorization: Bearer <access_token>"
https://domain.com/services/data/v{{version}}/limits

Postman Collection Item JSON

{
  "name": "Limits",
  "event": [
    {
      "listen": "test",
      "script": {
        "exec": [
          "// Visualizer that renders a Chart.js graph with the Salesforce API limits consumption",
          "const template = `<script src=\"https://cdn.jsdelivr.net/npm/chart.js@3.5.1/dist/chart.min.js\"></script>",
          "<canvas id=\"myChart\" width=\"400\" height=\"800\"></canvas>",
          "<script>",
          "pm.getData((err, chartData) => {",
          "    const getTooltipFooter = (tooltipItems) => {",
          "        const index = tooltipItems[0].dataIndex;",
          "        return 'Consumed '+ chartData.consumed[index] +' out of '+ chartData.max[index];",
          "    };",
          "",
          "    const ctx = document.getElementById('myChart').getContext('2d');",
          "    const myChart = new Chart(ctx, {",
          "        type: 'bar',",
          "        data: {",
          "            labels: chartData.labels,",
          "            datasets: [",
          "                {",
          "                    label: '% Consumed',",
          "                    data: chartData.consumedPercent,",
          "                    backgroundColor: 'rgba(255, 99, 132, 1)',",
          "                    borderColor: 'rgba(255, 99, 132, 1)',",
          "                    borderWidth: 1",
          "                }",
          "            ]",
          "        },",
          "        options: {",
          "            indexAxis: 'y',",
          "            responsive: true,",
          "            scales: {",
          "                x: {",
          "                    beginAtZero: true,",
          "                    ticks: {",
          "                        callback: (value, index, values) => value + '%'",
          "                    },",
          "                    max: 100",
          "                }",
          "            },",
          "            interaction: {",
          "                intersect: false,",
          "                mode: 'y'",
          "            },",
          "            plugins: {",
          "                tooltip: {",
          "                    callbacks: {",
          "                        footer: getTooltipFooter,",
          "                        label: (tooltipItems) => tooltipItems.raw + '%'",
          "                    }",
          "                },",
          "                title: {",
          "                    display: true,",
          "                    text: 'API Limits Consumption'",
          "                },",
          "                legend: {",
          "                    display: false",
          "                }",
          "            }",
          "        }",
          "    });",
          "});",
          "</script>`;",
          "",
          "// Format API response into chart data",
          "const responseJson = pm.response.json();",
          "const chartData = {",
          "    labels: [],",
          "    consumed: [],",
          "    consumedPercent: [],",
          "    max: []",
          "};",
          "Object.keys(responseJson).forEach((limitName) => {",
          "    const { Max, Remaining } = responseJson[limitName];",
          "    const consumed = Max - Remaining;",
          "    let percent = 0;",
          "    if (Max !== 0) {",
          "        percent = (consumed / Max) * 100;",
          "        percent = percent",
          "            .toString()",
          "            .match(/^-?\\d+(?:\\.\\d{0,2})?/)[0];",
          "    }",
          "    chartData.labels.push(limitName);",
          "    chartData.consumed.push(consumed);",
          "    chartData.consumedPercent.push(percent);",
          "    chartData.max.push(Max);",
          "});",
          "// Render vizualizer",
          "pm.visualizer.set(template, chartData);"
        ],
        "type": "text/javascript",
        "packages": {}
      }
    }
  ],
  "request": {
    "method": "GET",
    "header": [
    ],
    "url": {
      "raw": "{{_endpoint}}/services/data/v{{version}}/limits",
      "host": [
        "{{_endpoint}}"
      ],
      "path": [
        "services",
        "data",
        "v{{version}}",
        "limits"
      ]
    },
    "description": "Lists information about limits in your org. For each limit, this resource returns the maximum allocation and the remaining allocation based on usage. This resource is available in REST API version 29.0 and later for API users with the View Setup and Configuration permission"
  },
  "response": [
    {
      "name": "Limits",
      "originalRequest": {
        "method": "GET",
        "header": [
        ],
        "url": {
          "raw": "{{_endpoint}}/services/data/v{{version}}/limits",
          "host": [
            "{{_endpoint}}"
          ],
          "path": [
            "services",
            "data",
            "v{{version}}",
            "limits"
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Date",
          "value": "Tue, 26 Sep 2023 13:19:11 GMT"
        },
        {
          "key": "Strict-Transport-Security",
          "value": "max-age=63072000; includeSubDomains"
        },
        {
          "key": "X-Content-Type-Options",
          "value": "nosniff"
        },
        {
          "key": "X-XSS-Protection",
          "value": "1; mode=block"
        },
        {
          "key": "X-Robots-Tag",
          "value": "none"
        },
        {
          "key": "Cache-Control",
          "value": "no-cache,must-revalidate,max-age=0,no-store,private"
        },
        {
          "key": "Sforce-Limit-Info",
          "value": "api-usage=1/15000"
        },
        {
          "key": "Content-Type",
          "value": "application/json;charset=UTF-8"
        },
        {
          "key": "Vary",
          "value": "Accept-Encoding"
        },
        {
          "key": "Content-Encoding",
          "value": "gzip"
        },
        {
          "key": "Transfer-Encoding",
          "value": "chunked"
        }
      ],
      "cookie": [
      ],
      "body": "{\n    \"ActiveScratchOrgs\": {\n        \"Max\": 3,\n        \"Remaining\": 3\n    },\n    \"AnalyticsExternalDataSizeMB\": {\n        \"Max\": 40960,\n        \"Remaining\": 40960\n    },\n    \"ConcurrentAsyncGetReportInstances\": {\n        \"Max\": 200,\n        \"Remaining\": 200\n    },\n    \"ConcurrentEinsteinDataInsightsStoryCreation\": {\n        \"Max\": 5,\n        \"Remaining\": 5\n    },\n    \"ConcurrentEinsteinDiscoveryStoryCreation\": {\n        \"Max\": 2,\n        \"Remaining\": 2\n    },\n    \"ConcurrentSyncReportRuns\": {\n        \"Max\": 20,\n        \"Remaining\": 20\n    },\n    \"DailyAnalyticsDataflowJobExecutions\": {\n        \"Max\": 60,\n        \"Remaining\": 60\n    },\n    \"DailyAnalyticsUploadedFilesSizeMB\": {\n        \"Max\": 51200,\n        \"Remaining\": 51200\n    },\n    \"DailyApiRequests\": {\n        \"Max\": 15000,\n        \"Remaining\": 14999\n    },\n    \"DailyAsyncApexExecutions\": {\n        \"Max\": 250000,\n        \"Remaining\": 250000\n    },\n    \"DailyAsyncApexTests\": {\n        \"Max\": 540,\n        \"Remaining\": 540\n    },\n    \"DailyBulkApiBatches\": {\n        \"Max\": 15000,\n        \"Remaining\": 15000\n    },\n    \"DailyBulkV2QueryFileStorageMB\": {\n        \"Max\": 976562,\n        \"Remaining\": 976562\n    },\n    \"DailyBulkV2QueryJobs\": {\n        \"Max\": 10000,\n        \"Remaining\": 10000\n    },\n    \"DailyDeliveredPlatformEvents\": {\n        \"Max\": 10000,\n        \"Remaining\": 10000\n    },\n    \"DailyDurableGenericStreamingApiEvents\": {\n        \"Max\": 10000,\n        \"Remaining\": 10000\n    },\n    \"DailyDurableStreamingApiEvents\": {\n        \"Max\": 10000,\n        \"Remaining\": 10000\n    },\n    \"DailyEinsteinDataInsightsStoryCreation\": {\n        \"Max\": 1000,\n        \"Remaining\": 1000\n    },\n    \"DailyEinsteinDiscoveryOptimizationJobRuns\": {\n        \"Max\": 25,\n        \"Remaining\": 25\n    },\n    \"DailyEinsteinDiscoveryPredictAPICalls\": {\n        \"Max\": 50000,\n        \"Remaining\": 50000\n    },\n    \"DailyEinsteinDiscoveryPredictionsByCDC\": {\n        \"Max\": 500000,\n        \"Remaining\": 500000\n    },\n    \"DailyEinsteinDiscoveryStoryCreation\": {\n        \"Max\": 100,\n        \"Remaining\": 100\n    },\n    \"DailyFunctionsApiCallLimit\": {\n        \"Max\": 50000,\n        \"Remaining\": 50000\n    },\n    \"DailyGenericStreamingApiEvents\": {\n        \"Max\": 10000,\n        \"Remaining\": 10000\n    },\n    \"DailyScratchOrgs\": {\n        \"Max\": 6,\n        \"Remaining\": 6\n    },\n    \"DailyStandardVolumePlatformEvents\": {\n        \"Max\": 10000,\n        \"Remaining\": 10000\n    },\n    \"DailyStreamingApiEvents\": {\n        \"Max\": 10000,\n        \"Remaining\": 10000\n    },\n    \"DailyWorkflowEmails\": {\n        \"Max\": 405,\n        \"Remaining\": 405\n    },\n    \"DataStorageMB\": {\n        \"Max\": 5,\n        \"Remaining\": 5\n    },\n    \"DurableStreamingApiConcurrentClients\": {\n        \"Max\": 20,\n        \"Remaining\": 20\n    },\n    \"FileStorageMB\": {\n        \"Max\": 20,\n        \"Remaining\": 20\n    },\n    \"HourlyAsyncReportRuns\": {\n        \"Max\": 1200,\n        \"Remaining\": 1200\n    },\n    \"HourlyDashboardRefreshes\": {\n        \"Max\": 200,\n        \"Remaining\": 200\n    },\n    \"HourlyDashboardResults\": {\n        \"Max\": 5000,\n        \"Remaining\": 5000\n    },\n    \"HourlyDashboardStatuses\": {\n        \"Max\": 999999999,\n        \"Remaining\": 999999999\n    },\n    \"HourlyLongTermIdMapping\": {\n        \"Max\": 100000,\n        \"Remaining\": 100000\n    },\n    \"HourlyManagedContentPublicRequests\": {\n        \"Max\": 50000,\n        \"Remaining\": 50000\n    },\n    \"HourlyODataCallout\": {\n        \"Max\": 1000,\n        \"Remaining\": 1000\n    },\n    \"HourlyPublishedPlatformEvents\": {\n        \"Max\": 50000,\n        \"Remaining\": 50000\n    },\n    \"HourlyPublishedStandardVolumePlatformEvents\": {\n        \"Max\": 1000,\n        \"Remaining\": 1000\n    },\n    \"HourlyShortTermIdMapping\": {\n        \"Max\": 100000,\n        \"Remaining\": 100000\n    },\n    \"HourlySyncReportRuns\": {\n        \"Max\": 500,\n        \"Remaining\": 500\n    },\n    \"HourlyTimeBasedWorkflow\": {\n        \"Max\": 50,\n        \"Remaining\": 50\n    },\n    \"MassEmail\": {\n        \"Max\": 10,\n        \"Remaining\": 10\n    },\n    \"MonthlyEinsteinDiscoveryStoryCreation\": {\n        \"Max\": 500,\n        \"Remaining\": 500\n    },\n    \"Package2VersionCreates\": {\n        \"Max\": 6,\n        \"Remaining\": 6\n    },\n    \"Package2VersionCreatesWithoutValidation\": {\n        \"Max\": 500,\n        \"Remaining\": 500\n    },\n    \"PermissionSets\": {\n        \"Max\": 1500,\n        \"Remaining\": 1498,\n        \"CreateCustom\": {\n            \"Max\": 1000,\n            \"Remaining\": 998\n        }\n    },\n    \"PrivateConnectOutboundCalloutHourlyLimitMB\": {\n        \"Max\": 0,\n        \"Remaining\": 0\n    },\n    \"PublishCallbackUsageInApex\": {\n        \"Max\": 5242880,\n        \"Remaining\": 5242880\n    },\n    \"SingleEmail\": {\n        \"Max\": 15,\n        \"Remaining\": 15\n    },\n    \"StreamingApiConcurrentClients\": {\n        \"Max\": 20,\n        \"Remaining\": 20\n    }\n}"
    }
  ]
}