Chilkat Online Tools

Foxpro / Salesforce Platform APIs / Retrieve OpenAPI Schema

Back to Collection Items

LOCAL loHttp
LOCAL lnSuccess
LOCAL loSbResponseBody
LOCAL loJResp
LOCAL lnRespStatusCode

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

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http')
loHttp = CreateObject('Chilkat.Http')

* Adds the "Authorization: Bearer <access_token>" header.
loHttp.AuthToken = "<access_token>"

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder')
loSbResponseBody = CreateObject('Chilkat.StringBuilder')
lnSuccess = loHttp.QuickGetSb("https://domain.com/services/data/v{{version}}/async/specifications/oas3/:schemaId",loSbResponseBody)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loSbResponseBody
    CANCEL
ENDIF

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject')
loJResp = CreateObject('Chilkat.JsonObject')
loJResp.LoadSb(loSbResponseBody)
loJResp.EmitCompact = 0

? "Response Body:"
? loJResp.Emit()

lnRespStatusCode = loHttp.LastStatus
? "Response Status Code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode >= 400) THEN
    ? "Response Header:"
    ? loHttp.LastHeader
    ? "Failed."
    RELEASE loHttp
    RELEASE loSbResponseBody
    RELEASE loJResp
    CANCEL
ENDIF

RELEASE loHttp
RELEASE loSbResponseBody
RELEASE loJResp

Curl Command

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

Postman Collection Item JSON

{
  "name": "Retrieve OpenAPI Schema",
  "request": {
    "method": "GET",
    "header": [
    ],
    "url": {
      "raw": "{{_endpoint}}/services/data/v{{version}}/async/specifications/oas3/:schemaId",
      "host": [
        "{{_endpoint}}"
      ],
      "path": [
        "services",
        "data",
        "v{{version}}",
        "async",
        "specifications",
        "oas3",
        ":schemaId"
      ],
      "variable": [
        {
          "key": "schemaId",
          "value": "",
          "description": "Identifier that was returned in the original request to generate the Schema."
        }
      ]
    },
    "description": "Generate an OpenAPI 3.0 document for the sObjects REST API. This is a [Beta feature](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/openapi_beta.htm) that requires an activation step before it can be used."
  },
  "response": [
    {
      "name": "Retrieve OpenAPI Schema",
      "originalRequest": {
        "method": "GET",
        "header": [
        ],
        "url": {
          "raw": "{{_endpoint}}/services/data/v{{version}}/async/specifications/oas3/:schemaId",
          "host": [
            "{{_endpoint}}"
          ],
          "path": [
            "services",
            "data",
            "v{{version}}",
            "async",
            "specifications",
            "oas3",
            ":schemaId"
          ],
          "variable": [
            {
              "key": "schemaId",
              "value": "NTByNEgwMDAwMDAwMDAx",
              "description": "Identifier that was returned in the request to generate the Schema."
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Date",
          "value": "Mon, 26 Feb 2024 13:53:54 GMT"
        },
        {
          "key": "Strict-Transport-Security",
          "value": "max-age=63072000; includeSubDomains"
        },
        {
          "key": "X-Content-Type-Options",
          "value": "nosniff"
        },
        {
          "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=11/15000"
        },
        {
          "key": "Content-Type",
          "value": "application/json"
        },
        {
          "key": "Vary",
          "value": "Accept-Encoding"
        },
        {
          "key": "Content-Encoding",
          "value": "gzip"
        },
        {
          "key": "Transfer-Encoding",
          "value": "chunked"
        }
      ],
      "cookie": [
      ],
      "body": "{\n    \"openapi\": \"3.0.1\",\n    \"info\": {\n        \"title\": \"Lightning Platform REST API\",\n        \"description\": \"REST API provides you with programmatic access to your data in Salesforce. The flexibility and scalability of REST API make it an excellent choice for integrating Salesforce into your applications and for performing complex operations on a large scale. You can use REST API tools to create, manipulate, and search data in Salesforce by sending HTTP requests to endpoints in Salesforce. Depending on where you send requests, you access and operate on different pieces of information, called resources. Resources include records, query results, metadata, and more. \",\n        \"version\": \"60.0\"\n    },\n    \"servers\": [\n        {\n            \"url\": \"https://pozil-dev-ed.my.salesforce.com/services/data/v60.0\"\n        }\n    ],\n    \"security\": [\n        {\n            \"bearerAuth\": []\n        },\n        {\n            \"oAuth2\": []\n        },\n        {\n            \"openIDConnectDiscovery\": []\n        }\n    ],\n    \"paths\": {\n        \"/sobjects/Contact\": {\n            \"description\": \"Describes the individual metadata for the specified object. Can also be used to create a new record for a given object. For example, this can be used to retrieve the metadata for the Account object using the GET method, or create a new Account object using the POST method.\",\n            \"get\": {\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Status Code 200\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/SObjectRootInfo\"\n                                }\n                            }\n                        }\n                    },\n                    \"304\": {\n                        \"description\": \"Status Code 304\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/RestApiError\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"400\": {\n                        \"description\": \"Status Code 400\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/ErrorInfo\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"401\": {\n                        \"description\": \"Status Code 401\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/ErrorInfo\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"403\": {\n                        \"description\": \"Status Code 403\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/RestApiError\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"404\": {\n                        \"description\": \"Status Code 404\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/RestApiError\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"405\": {\n                        \"description\": \"Status Code 405\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/RestApiError\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"412\": {\n                        \"description\": \"Status Code 412\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/RestApiError\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"500\": {\n                        \"description\": \"Status Code 500\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/ErrorInfo\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"503\": {\n                        \"description\": \"Status Code 503\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/RestApiError\"\n                                    }\n                                }\n                            }\n                        }\n                    }\n                }\n            },\n            \"post\": {\n                \"parameters\": [\n                    {\n                        \"name\": \"Content-Type\",\n                        \"in\": \"header\",\n                        \"description\": \"An optional header, which can only be used with POST, specifying the format for the request and response. Possible choices are: Content-Type: application/json Content-Type: application/xml\",\n                        \"required\": true,\n                        \"schema\": {\n                            \"type\": \"string\"\n                        }\n                    }\n                ],\n                \"requestBody\": {\n                    \"content\": {\n                        \"application/json\": {\n                            \"schema\": {\n                                \"$ref\": \"#/components/schemas/ContactSObject\"\n                            }\n                        }\n                    }\n                },\n                \"responses\": {\n                    \"201\": {\n                        \"description\": \"Status Code 201\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/SaveResult\"\n                                }\n                            }\n                        }\n                    },\n                    \"400\": {\n                        \"description\": \"Status Code 400\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/ErrorInfo\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"401\": {\n                        \"description\": \"Status Code 401\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/ErrorInfo\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"403\": {\n                        \"description\": \"Status Code 403\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/RestApiError\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"404\": {\n                        \"description\": \"Status Code 404\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/RestApiError\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"405\": {\n                        \"description\": \"Status Code 405\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/RestApiError\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"415\": {\n                        \"description\": \"Status Code 415\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/ErrorInfo\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"500\": {\n                        \"description\": \"Status Code 500\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/ErrorInfo\"\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"503\": {\n                        \"description\": \"Status Code 503\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"$ref\": \"#/components/schemas/RestApiError\"\n                                    }\n                                }\n                            }\n                        }\n                    }\n                }\n            }\n        }\n    },\n    \"components\": {\n        \"schemas\": {\n            \"SObjectRootInfo\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"objectDescribe\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                            \"name\": {\n                                \"type\": \"string\"\n                            },\n                            \"label\": {\n                                \"type\": \"string\"\n                            },\n                            \"labelPlural\": {\n                                \"type\": \"string\"\n                            },\n                            \"keyPrefix\": {\n                                \"type\": \"string\"\n                            },\n                            \"custom\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"customSetting\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"activateable\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"createable\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"updateable\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"deletable\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"undeletable\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"mergeable\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"replicateable\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"triggerable\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"queryable\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"retrieveable\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"searchable\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"layoutable\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"feedEnabled\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"mruEnabled\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"hasSubtypes\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"isSubtype\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"dataTranslationEnabled\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"isInterface\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"deepCloneable\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"associateEntityType\": {\n                                \"type\": \"string\"\n                            },\n                            \"associateParentEntity\": {\n                                \"type\": \"string\"\n                            },\n                            \"deprecatedAndHidden\": {\n                                \"type\": \"boolean\"\n                            },\n                            \"urls\": {\n                                \"type\": \"object\",\n                                \"additionalProperties\": {\n                                    \"type\": \"string\"\n                                }\n                            }\n                        }\n                    },\n                    \"recentItems\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                                \"id\": {\n                                    \"type\": \"string\"\n                                }\n                            }\n                        }\n                    }\n                }\n            },\n            \"RestApiError\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"errorCode\": {\n                        \"type\": \"string\"\n                    },\n                    \"message\": {\n                        \"type\": \"string\"\n                    }\n                }\n            },\n            \"AccountSObject\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"Id\": {\n                        \"type\": \"string\"\n                    },\n                    \"IsDeleted\": {\n                        \"type\": \"boolean\",\n                        \"description\": \"Indicates whether the object has been moved to the Recycle Bin (true) or not (false). Label is Deleted.\"\n                    },\n                    \"MasterRecordId\": {\n                        \"type\": \"string\",\n                        \"description\": \"If this object was deleted as the result of a merge, this field contains the ID of the record that was kept. If this object was deleted for any other reason, or has not been deleted, the value is null.\"\n                    },\n                    \"Name\": {\n                        \"type\": \"string\",\n                        \"description\": \"Required. Label is Account Name. Name of the account. Maximum size is 255 characters. If the account has a record type of Person Account: This value is the concatenation of the FirstName, MiddleName, LastName, and Suffix of the associated person contact. You can't modify this value.\"\n                    },\n                    \"Type\": {\n                        \"type\": \"string\",\n                        \"description\": \"Type of account, for example, Customer, Competitor, or Partner.\"\n                    },\n                    \"ParentId\": {\n                        \"type\": \"string\",\n                        \"description\": \"ID of the parent object, if any.\"\n                    },\n                    \"BillingStreet\": {\n                        \"type\": \"string\",\n                        \"description\": \"Street address for the billing address of this account.\"\n                    },\n                    \"BillingCity\": {\n                        \"type\": \"string\",\n                        \"description\": \"Details for the billing address of this account. Maximum size is 40 characters.\"\n                    },\n                    \"BillingState\": {\n                        \"type\": \"string\",\n                        \"description\": \"Details for the billing address of this account. Maximum size is 80 characters.\"\n                    },\n                    \"BillingPostalCode\": {\n                        \"type\": \"string\",\n                        \"description\": \"Details for the billing address of this account. Maximum size is 20 characters.\"\n                    },\n                    \"BillingCountry\": {\n                        \"type\": \"string\",\n                        \"description\": \"Details for the billing address of this account. Maximum size is 80 characters.\"\n                    },\n                    \"BillingLatitude\": {\n                        \"type\": \"number\",\n                        \"description\": \"Used with BillingLongitude to specify the precise geolocation of a billing address. Acceptable values are numbers between –90 and 90 with up to 15 decimal places. See Compound Field Considerations and Limitations for details on geolocation compound fields.\"\n                    },\n                    \"BillingLongitude\": {\n                        \"type\": \"number\",\n                        \"description\": \"Used with BillingLatitude to specify the precise geolocation of a billing address. Acceptable values are numbers between –180 and 180 with up to 15 decimal places. See Compound Field Considerations and Limitations for details on geolocation compound fields.\"\n                    },\n                    \"BillingGeocodeAccuracy\": {\n                        \"type\": \"string\",\n                        \"description\": \"Accuracy level of the geocode for the billing address. See Compound Field Considerations and Limitations for details on geolocation compound fields.\"\n                    },\n                    \"BillingAddress\": {\n                        \"type\": \"object\",\n                        \"description\": \"The compound form of the billing address. Read-only. See Address Compound Fields for details on compound address fields.\"\n                    },\n                    \"ShippingStreet\": {\n                        \"type\": \"string\",\n                        \"description\": \"The street address of the shipping address for this account. Maximum of 255 characters.\"\n                    },\n                    \"ShippingCity\": {\n                        \"type\": \"string\",\n                        \"description\": \"Details of the shipping address for this account. City maximum size is 40 characters\"\n                    },\n                    \"ShippingState\": {\n                        \"type\": \"string\",\n                        \"description\": \"Details of the shipping address for this account. State maximum size is 80 characters.\"\n                    },\n                    \"ShippingPostalCode\": {\n                        \"type\": \"string\",\n                        \"description\": \"Details of the shipping address for this account. Postal code maximum size is 20 characters.\"\n                    },\n                    \"ShippingCountry\": {\n                        \"type\": \"string\",\n                        \"description\": \"Details of the shipping address for this account. Country maximum size is 80 characters.\"\n                    },\n                    \"ShippingLatitude\": {\n                        \"type\": \"number\",\n                        \"description\": \"Used with ShippingLongitude to specify the precise geolocation of a shipping address. Acceptable values are numbers between –90 and 90 with up to 15 decimal places. See Compound Field Considerations and Limitations for details on geolocation compound fields.\"\n                    },\n                    \"ShippingLongitude\": {\n                        \"type\": \"number\",\n                        \"description\": \"Used with ShippingLatitude to specify the precise geolocation of an address. Acceptable values are numbers between –180 and 180 with up to 15 decimal places. See Compound Field Considerations and Limitations for details on geolocation compound fields.\"\n                    },\n                    \"ShippingGeocodeAccuracy\": {\n                        \"type\": \"string\",\n                        \"description\": \"Accuracy level of the geocode for the shipping address. See Compound Field Considerations and Limitations for details on geolocation compound fields.\"\n                    },\n                    \"ShippingAddress\": {\n                        \"type\": \"object\",\n                        \"description\": \"The compound form of the shipping address. Read-only. See Address Compound Fields for details on compound address fields.\"\n                    },\n                    \"Phone\": {\n                        \"type\": \"string\",\n                        \"description\": \"Phone number for this account. Maximum size is 40 characters.\"\n                    },\n                    \"Fax\": {\n                        \"type\": \"string\",\n                        \"description\": \"Fax number for the account.\"\n                    },\n                    \"AccountNumber\": {\n                        \"type\": \"string\",\n                        \"description\": \"Account number assigned to this account (not the unique, system-generated ID assigned during creation). Maximum size is 40 characters.\"\n                    },\n                    \"Website\": {\n                        \"type\": \"string\",\n                        \"description\": \"The website of this account. Maximum of 255 characters.\"\n                    },\n                    \"PhotoUrl\": {\n                        \"type\": \"string\",\n                        \"description\": \"Path to be combined with the URL of a Salesforce instance (for example, https://yourInstance.salesforce.com/) to generate a URL to request the social network profile image associated with the account. Generated URL returns an HTTP redirect (code 302) to the social network profile image for the account. Blank if Social Accounts and Contacts isn't enabled for the org or if Social Accounts and Contacts is disabled for the requesting user.\"\n                    },\n                    \"Sic\": {\n                        \"type\": \"string\",\n                        \"description\": \"Standard Industrial Classification code of the company’s main business categorization, for example, 57340 for Electronics. Maximum of 20 characters. This field is available on business accounts, not person accounts.\"\n                    },\n                    \"Industry\": {\n                        \"type\": \"string\",\n                        \"description\": \"An industry associated with this account. Maximum size is 40 characters.\"\n                    },\n                    \"AnnualRevenue\": {\n                        \"type\": \"number\",\n                        \"description\": \"Estimated annual revenue of the account.\"\n                    },\n                    \"NumberOfEmployees\": {\n                        \"type\": \"integer\",\n                        \"description\": \"Label is Employees. Number of employees working at the company represented by this account. Maximum size is eight digits.\"\n                    },\n                    \"Ownership\": {\n                        \"type\": \"string\",\n                        \"description\": \"Ownership type for the account, for example Private, Public, or Subsidiary.\"\n                    },\n                    \"TickerSymbol\": {\n                        \"type\": \"string\",\n                        \"description\": \"The stock market symbol for this account. Maximum of 20 characters. This field is available on business accounts, not person accounts.\"\n                    },\n                    \"Description\": {\n                        \"type\": \"string\",\n                        \"description\": \"Text description of the account. Limited to 32,000 KB.\"\n                    },\n                    \"Rating\": {\n                        \"type\": \"string\",\n                        \"description\": \"The account’s prospect rating, for example Hot, Warm, or Cold.\"\n                    },\n                    \"Site\": {\n                        \"type\": \"string\",\n                        \"description\": \"Name of the account’s location, for example Headquarters or London. Label is Account Site. Maximum of 80 characters.\"\n                    },\n                    \"OwnerId\": {\n                        \"type\": \"string\",\n                        \"description\": \"The ID of the user who currently owns this account. Default value is the user logged in to the API to perform the create. If you have set up account teams in your org, updating this field has different consequences depending on your version of the API: For API version 12.0 and later, sharing records are kept, as they are for all objects. For API version before 12.0, sharing records are deleted. For API version 16.0 and later, users must have the “Transfer Record” permission in order to update (transfer) account ownership using this field.\"\n                    },\n                    \"CreatedDate\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"CreatedById\": {\n                        \"type\": \"string\"\n                    },\n                    \"LastModifiedDate\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"LastModifiedById\": {\n                        \"type\": \"string\"\n                    },\n                    \"SystemModstamp\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"LastActivityDate\": {\n                        \"type\": \"string\",\n                        \"description\": \"Value is one of the following, whichever is the most recent: Due date of the most recent event logged against the record. Due date of the most recently closed task associated with the record.\",\n                        \"format\": \"date\"\n                    },\n                    \"LastViewedDate\": {\n                        \"type\": \"string\",\n                        \"description\": \"The timestamp when the current user last viewed this record or list view. If this value is null, the user might have only accessed this record or list view (LastReferencedDate) but not viewed it.\",\n                        \"format\": \"date-time\"\n                    },\n                    \"LastReferencedDate\": {\n                        \"type\": \"string\",\n                        \"description\": \"The timestamp when the current user last accessed this record, a record related to this record, or a list view.\",\n                        \"format\": \"date-time\"\n                    },\n                    \"IsPartner\": {\n                        \"type\": \"boolean\",\n                        \"description\": \"Indicates whether the account has at least one contact enabled to use the org's partner portal (true) or not (false). This field is available if partner relationship management (partner portal) is enabled ORdigitial experiences is enabled and you have partner portal licenses. If you change this field's value from true to false, you can disable up to 15 partner portal users associated with the account and permanently delete all of the account's partner portal roles and groups. You can't restore deleted partner portal roles and groups. Disabling a partner portal user in the Salesforce user interface or the API does not change this field's value from true to false. Even if this field's value is false, you can enable a contact on an account as a partner portal user via the API. This field can be updated in API version 16.0 and later.We recommend that you update up to 50 contacts simultaneously when changing the accounts on contacts enabled for a Customer Portal or partner portal. We also recommend that you make this update after business hours.\"\n                    },\n                    \"IsCustomerPortal\": {\n                        \"type\": \"boolean\",\n                        \"description\": \"Indicates whether the account has at least one contact enabled to use the org's Customer Portal (true) or not (false). This field is available if Customer Portal is enabled OR digital experiences is enabled and you have Customer Portal licenses. If you change this field's value from true to false, you can disable up to 100 Customer Portal users associated with the account and permanently delete all of the account's Customer Portal roles and groups. You can't restore deleted Customer Portal roles and groups. This field can be updated in API version 16.0 and later.We recommend that you update up to 50 contacts simultaneously when changing the accounts on contacts enabled for a Customer Portal or partner portal. We also recommend that you make this update after business hours.\"\n                    },\n                    \"ChannelProgramName\": {\n                        \"type\": \"string\",\n                        \"description\": \"Read only. Name of the channel program the account has enrolled.If this account has enrolled more than one channel program, the oldest channel program name will be displayed. .\"\n                    },\n                    \"ChannelProgramLevelName\": {\n                        \"type\": \"string\",\n                        \"description\": \"Read only. Name of the channel program level the account has enrolled.If this account has enrolled more than one channel program level, the oldest channel program name will be displayed.\"\n                    },\n                    \"Jigsaw\": {\n                        \"type\": \"string\",\n                        \"description\": \"References the ID of a company in Data.com. If an account has a value in this field, it means that the account was imported from Data.com. If the field value is null, the account was not imported from Data.com. Maximum size is 20 characters. Available in API version 22.0 and later. Label is Data.com Key. This field is available on business accounts, not person accounts.The Jigsaw field is exposed in the API to support troubleshooting for import errors and reimporting of corrected data. Do not modify the value in the Jigsaw field.\"\n                    },\n                    \"JigsawCompanyId\": {\n                        \"type\": \"string\"\n                    },\n                    \"CleanStatus\": {\n                        \"type\": \"string\",\n                        \"description\": \"Indicates the record’s clean status as compared with Data.com. Values are: Matched, Different, Acknowledged, NotFound, Inactive, Pending, SelectMatch, or Skipped. Several values for CleanStatus display with different labels on the account record detail page. Matched displays as In Sync Acknowledged displays as Reviewed Pending displays as Not Compared\"\n                    },\n                    \"AccountSource\": {\n                        \"type\": \"string\",\n                        \"description\": \"The source of the account record. For example, Advertisement, Data.com, or Trade Show. The source is selected from a picklist of available values, which are set by an administrator. Each picklist value can have up to 40 characters.\"\n                    },\n                    \"DunsNumber\": {\n                        \"type\": \"string\",\n                        \"description\": \"The Data Universal Numbering System (D-U-N-S) number is a unique, nine-digit number assigned to every business location in the Dun & Bradstreet database that has a unique, separate, and distinct operation. D-U-N-S numbers are used by industries and organizations around the world as a global standard for business identification and tracking. Maximum size is 9 characters. This field is available on business accounts, not person accounts.This field is only available to organizations that use Data.com Prospector or Data.com Clean.\"\n                    },\n                    \"Tradestyle\": {\n                        \"type\": \"string\",\n                        \"description\": \"A name, different from its legal name, that an org may use for conducting business. Similar to “Doing business as” or “DBA”. Maximum length is 255 characters. This field is available on business accounts, not person accounts.This field is only available to organizations that use Data.com Prospector or Data.com Clean.\"\n                    },\n                    \"NaicsCode\": {\n                        \"type\": \"string\",\n                        \"description\": \"The six-digit North American Industry Classification System (NAICS) code is the standard used by business and government to classify business establishments into industries, according to their economic activity for the purpose of collecting, analyzing, and publishing statistical data related to the U.S. business economy. Maximum size is 8 characters. This field is available on business accounts, not person accounts.This field is only available to organizations that use Data.com Prospector or Data.com Clean.\"\n                    },\n                    \"NaicsDesc\": {\n                        \"type\": \"string\",\n                        \"description\": \"A brief description of an org’s line of business, based on its NAICS code. Maximum size is 120 characters. This field is available on business accounts, not person accounts.This field is only available to organizations that use Data.com Prospector or Data.com Clean.\"\n                    },\n                    \"YearStarted\": {\n                        \"type\": \"string\",\n                        \"description\": \"The date when an org was legally established. Maximum length is 4 characters. This field is available on business accounts, not person accounts.This field is only available to organizations that use Data.com Prospector or Data.com Clean.\"\n                    },\n                    \"SicDesc\": {\n                        \"type\": \"string\",\n                        \"description\": \"A brief description of an org’s line of business, based on its SIC code. Maximum length is 80 characters. This field is available on business accounts, not person accounts.\"\n                    },\n                    \"DandbCompanyId\": {\n                        \"type\": \"string\"\n                    },\n                    \"CustomerPriority__c\": {\n                        \"type\": \"string\"\n                    },\n                    \"SLA__c\": {\n                        \"type\": \"string\"\n                    },\n                    \"Active__c\": {\n                        \"type\": \"string\"\n                    },\n                    \"NumberofLocations__c\": {\n                        \"type\": \"number\"\n                    },\n                    \"UpsellOpportunity__c\": {\n                        \"type\": \"string\"\n                    },\n                    \"SLASerialNumber__c\": {\n                        \"type\": \"string\"\n                    },\n                    \"SLAExpirationDate__c\": {\n                        \"type\": \"string\",\n                        \"format\": \"date\"\n                    },\n                    \"Potential_Value__c\": {\n                        \"type\": \"number\"\n                    },\n                    \"Match_Billing_Address__c\": {\n                        \"type\": \"boolean\"\n                    },\n                    \"Number_of_Contacts__c\": {\n                        \"type\": \"number\"\n                    },\n                    \"Region__c\": {\n                        \"type\": \"string\"\n                    },\n                    \"attributes\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                            \"type\": {\n                                \"type\": \"string\"\n                            },\n                            \"url\": {\n                                \"type\": \"string\"\n                            }\n                        }\n                    }\n                },\n                \"description\": \"Represents an individual account, which is an organization or person involved with your business (such as customers, competitors, and partners).\"\n            },\n            \"ErrorInfo\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"message\": {\n                        \"type\": \"string\"\n                    },\n                    \"errorCode\": {\n                        \"type\": \"string\"\n                    },\n                    \"fields\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"type\": \"string\"\n                        }\n                    },\n                    \"extendedErrorDetails\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                                \"extendedErrorCode\": {\n                                    \"type\": \"string\"\n                                }\n                            }\n                        }\n                    }\n                }\n            },\n            \"SaveResult\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"success\": {\n                        \"type\": \"boolean\"\n                    },\n                    \"id\": {\n                        \"type\": \"string\"\n                    },\n                    \"errors\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                                \"message\": {\n                                    \"type\": \"string\"\n                                },\n                                \"fields\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"type\": \"string\"\n                                    }\n                                },\n                                \"statusCode\": {\n                                    \"type\": \"string\"\n                                },\n                                \"extendedErrorDetails\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"type\": \"object\",\n                                        \"properties\": {\n                                            \"extendedErrorCode\": {\n                                                \"type\": \"string\"\n                                            }\n                                        }\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"warnings\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                                \"message\": {\n                                    \"type\": \"string\"\n                                },\n                                \"statusCode\": {\n                                    \"type\": \"string\"\n                                },\n                                \"extendedDetails\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"type\": \"object\",\n                                        \"properties\": {\n                                            \"extendedErrorCode\": {\n                                                \"type\": \"string\"\n                                            }\n                                        }\n                                    }\n                                }\n                            }\n                        }\n                    },\n                    \"infos\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                                \"message\": {\n                                    \"type\": \"string\"\n                                },\n                                \"statusCode\": {\n                                    \"type\": \"string\"\n                                },\n                                \"extendedDetails\": {\n                                    \"type\": \"array\",\n                                    \"items\": {\n                                        \"type\": \"object\",\n                                        \"properties\": {\n                                            \"extendedErrorCode\": {\n                                                \"type\": \"string\"\n                                            }\n                                        }\n                                    }\n                                }\n                            }\n                        }\n                    }\n                }\n            },\n            \"ContactSObject\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"Id\": {\n                        \"type\": \"string\"\n                    },\n                    \"IsDeleted\": {\n                        \"type\": \"boolean\",\n                        \"description\": \"Indicates whether the object has been moved to the Recycle Bin (true) or not (false). Label is Deleted.\"\n                    },\n                    \"MasterRecordId\": {\n                        \"type\": \"string\",\n                        \"description\": \"If this record was deleted as the result of a merge, this field contains the ID of the record that remains. If this record was deleted for any other reason, or has not been deleted, the value is null.\"\n                    },\n                    \"AccountId\": {\n                        \"type\": \"string\",\n                        \"description\": \"ID of the account that’s the parent of this contact. We recommend that you update up to 50 contacts simultaneously when changing the accounts on contacts enabled for a Customer Portal or partner portal. We also recommend that you make this update after business hours.\"\n                    },\n                    \"LastName\": {\n                        \"type\": \"string\",\n                        \"description\": \"Required. Last name of the contact up to 80 characters.\"\n                    },\n                    \"FirstName\": {\n                        \"type\": \"string\",\n                        \"description\": \"The contact’s first name up to 40 characters.\"\n                    },\n                    \"Salutation\": {\n                        \"type\": \"string\",\n                        \"description\": \"Honorific abbreviation, word, or phrase to be used in front of name in greetings, such as Dr. or Mrs.\"\n                    },\n                    \"Name\": {\n                        \"type\": \"string\",\n                        \"description\": \"Concatenation of FirstName, MiddleName, LastName, and Suffix up to 203 characters, including whitespaces.\"\n                    },\n                    \"OtherStreet\": {\n                        \"type\": \"string\",\n                        \"description\": \"Street for alternate address.\"\n                    },\n                    \"OtherCity\": {\n                        \"type\": \"string\",\n                        \"description\": \"Alternate address details.\"\n                    },\n                    \"OtherState\": {\n                        \"type\": \"string\",\n                        \"description\": \"Alternate address details.\"\n                    },\n                    \"OtherPostalCode\": {\n                        \"type\": \"string\",\n                        \"description\": \"Alternate address details.\"\n                    },\n                    \"OtherCountry\": {\n                        \"type\": \"string\",\n                        \"description\": \"Alternate address details.\"\n                    },\n                    \"OtherLatitude\": {\n                        \"type\": \"number\",\n                        \"description\": \"Used with OtherLongitude to specify the precise geolocation of an alternate address. Acceptable values are numbers between –90 and 90 up to 15 decimal places. For details on geolocation compound fields, see .\"\n                    },\n                    \"OtherLongitude\": {\n                        \"type\": \"number\",\n                        \"description\": \"Used with OtherLatitude to specify the precise geolocation of an alternate address. Acceptable values are numbers between –180 and 180 up to 15 decimal places. For details on geolocation compound fields, see .\"\n                    },\n                    \"OtherGeocodeAccuracy\": {\n                        \"type\": \"string\",\n                        \"description\": \"Accuracy level of the geocode for the other address. For details on geolocation compound fields, see .\"\n                    },\n                    \"OtherAddress\": {\n                        \"type\": \"object\",\n                        \"description\": \"The compound form of the other address. Read-only. For details on compound address fields, see Address Compound Fields.\"\n                    },\n                    \"MailingStreet\": {\n                        \"type\": \"string\",\n                        \"description\": \"Street address for mailing address.\"\n                    },\n                    \"MailingCity\": {\n                        \"type\": \"string\",\n                        \"description\": \"Mailing address details.\"\n                    },\n                    \"MailingState\": {\n                        \"type\": \"string\",\n                        \"description\": \"Mailing address details.\"\n                    },\n                    \"MailingPostalCode\": {\n                        \"type\": \"string\",\n                        \"description\": \"Mailing address details.\"\n                    },\n                    \"MailingCountry\": {\n                        \"type\": \"string\",\n                        \"description\": \"Mailing address details.\"\n                    },\n                    \"MailingLatitude\": {\n                        \"type\": \"number\",\n                        \"description\": \"Used with MailingLongitude to specify the precise geolocation of a mailing address. Acceptable values are numbers between –90 and 90 up to 15 decimal places. For details on geolocation compound fields, see .\"\n                    },\n                    \"MailingLongitude\": {\n                        \"type\": \"number\",\n                        \"description\": \"Used with MailingLatitude to specify the precise geolocation of a mailing address. Acceptable values are numbers between –180 and 180 up to 15 decimal places. For details on geolocation compound fields, see .\"\n                    },\n                    \"MailingGeocodeAccuracy\": {\n                        \"type\": \"string\",\n                        \"description\": \"Accuracy level of the geocode for the mailing address. For details on geolocation compound field, see .\"\n                    },\n                    \"MailingAddress\": {\n                        \"type\": \"object\",\n                        \"description\": \"The compound form of the mailing address. Read-only. For details on compound address fields, see Address Compound Fields.\"\n                    },\n                    \"Phone\": {\n                        \"type\": \"string\",\n                        \"description\": \"Telephone number for the contact. Label is Business Phone.\"\n                    },\n                    \"Fax\": {\n                        \"type\": \"string\",\n                        \"description\": \"The contact’s fax number. Label is Business Fax.\"\n                    },\n                    \"MobilePhone\": {\n                        \"type\": \"string\",\n                        \"description\": \"Contact’s mobile phone number.\"\n                    },\n                    \"HomePhone\": {\n                        \"type\": \"string\",\n                        \"description\": \"The contact’s home telephone number.\"\n                    },\n                    \"OtherPhone\": {\n                        \"type\": \"string\",\n                        \"description\": \"Telephone for alternate address.\"\n                    },\n                    \"AssistantPhone\": {\n                        \"type\": \"string\",\n                        \"description\": \"The assistant’s telephone number.\"\n                    },\n                    \"ReportsToId\": {\n                        \"type\": \"string\",\n                        \"description\": \"This field doesn’t appear if IsPersonAccount is true.\"\n                    },\n                    \"Email\": {\n                        \"type\": \"string\",\n                        \"description\": \"The contact’s email address.\"\n                    },\n                    \"Title\": {\n                        \"type\": \"string\",\n                        \"description\": \"Title of the contact, such as CEO or Vice President.\"\n                    },\n                    \"Department\": {\n                        \"type\": \"string\",\n                        \"description\": \"The contact’s department.\"\n                    },\n                    \"AssistantName\": {\n                        \"type\": \"string\",\n                        \"description\": \"The assistant’s name.\"\n                    },\n                    \"LeadSource\": {\n                        \"type\": \"string\",\n                        \"description\": \"The lead’s source.\"\n                    },\n                    \"Birthdate\": {\n                        \"type\": \"string\",\n                        \"description\": \"The contact’s birthdate. Filter criteria for report filters, list view filters, and SOQL queries ignore the year portion of the Birthdate field. For example, this SOQL query returns contacts with birthdays later in the year than today:SELECT Name, Birthdate FROM Contact WHERE Birthdate > TODAY\",\n                        \"format\": \"date\"\n                    },\n                    \"Description\": {\n                        \"type\": \"string\",\n                        \"description\": \"A description of the contact. Label is Contact Description up to 32 KB.\"\n                    },\n                    \"OwnerId\": {\n                        \"type\": \"string\",\n                        \"description\": \"The ID of the owner of the account associated with this contact.\"\n                    },\n                    \"CreatedDate\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"CreatedById\": {\n                        \"type\": \"string\"\n                    },\n                    \"LastModifiedDate\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"LastModifiedById\": {\n                        \"type\": \"string\"\n                    },\n                    \"SystemModstamp\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"LastActivityDate\": {\n                        \"type\": \"string\",\n                        \"description\": \"Value is the most recent of either: Due date of the most recent event logged against the record. Due date of the most recently closed task associated with the record.\",\n                        \"format\": \"date\"\n                    },\n                    \"LastCURequestDate\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"LastCUUpdateDate\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\"\n                    },\n                    \"LastViewedDate\": {\n                        \"type\": \"string\",\n                        \"description\": \"The timestamp when the current user last viewed this record or list view. If this value is null, the user might have only accessed this record or list view (LastReferencedDate) but not viewed it.\",\n                        \"format\": \"date-time\"\n                    },\n                    \"LastReferencedDate\": {\n                        \"type\": \"string\",\n                        \"description\": \"The timestamp when the current user last accessed this record, a record related to this record, or a list view.\",\n                        \"format\": \"date-time\"\n                    },\n                    \"EmailBouncedReason\": {\n                        \"type\": \"string\",\n                        \"description\": \"If bounce management is activated and an email sent to the contact bounces, the reason for the bounce.\"\n                    },\n                    \"EmailBouncedDate\": {\n                        \"type\": \"string\",\n                        \"description\": \"If bounce management is activated and an email sent to the contact bounces, the date and time of the bounce.\",\n                        \"format\": \"date-time\"\n                    },\n                    \"IsEmailBounced\": {\n                        \"type\": \"boolean\",\n                        \"description\": \"If bounce management is activated and an email is sent to a contact, indicates whether the email bounced (true) or not (false).\"\n                    },\n                    \"PhotoUrl\": {\n                        \"type\": \"string\",\n                        \"description\": \"Path to be combined with the URL of a Salesforce instance (Example: https://yourInstance.salesforce.com/) to generate a URL to request the social network profile image associated with the contact. Generated URL returns an HTTP redirect (code 302) to the social network profile image for the contact. Empty if Social Accounts and Contacts isn't enabled or if Social Accounts and Contacts is disabled for the requesting user.\"\n                    },\n                    \"Jigsaw\": {\n                        \"type\": \"string\",\n                        \"description\": \"References the company’s ID in Data.com. If an account has a value in this field, it means that the account was imported from Data.com. If the field value is null, the account was not imported from Data.com. Maximum size is 20 characters. Available in API version 22.0 and later. Label is Data.com Key.The Jigsaw field is exposed in the API to support troubleshooting for import errors and reimporting of corrected data. Do not modify this value.\"\n                    },\n                    \"JigsawContactId\": {\n                        \"type\": \"string\"\n                    },\n                    \"CleanStatus\": {\n                        \"type\": \"string\",\n                        \"description\": \"Indicates the record’s clean status as compared with Data.com. Values include: Matched, Different, Acknowledged, NotFound, Inactive, Pending, SelectMatch, or Skipped. Several values for CleanStatus appear with different labels on the contact record. Matched appears as In Sync Acknowledged appears as Reviewed Pending appears as Not Compared\"\n                    },\n                    \"IndividualId\": {\n                        \"type\": \"string\",\n                        \"description\": \"ID of the data privacy record associated with this contact. This field is available if Data Protection and Privacy is enabled.\"\n                    },\n                    \"attributes\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                            \"type\": {\n                                \"type\": \"string\"\n                            },\n                            \"url\": {\n                                \"type\": \"string\"\n                            }\n                        }\n                    }\n                },\n                \"description\": \"Represents a contact, which is a person associated with an account.\"\n            }\n        },\n        \"securitySchemes\": {\n            \"openIDConnectDiscovery\": {\n                \"type\": \"openIdConnect\",\n                \"openIdConnectUrl\": \"https://login.salesforce.com/.well-known/openid-configuration\"\n            },\n            \"bearerAuth\": {\n                \"type\": \"http\",\n                \"description\": \"Use Session Id or Access Token as valid bearer token to authenticate with Salesforce. Access Token could be retrieved via any supported OAuth2 flows listed or not listed here (e.g. JWT Bearer Token Flow).To obtain a session ID, you can use the SOAP API login() call or through the Salesforce CLI.\",\n                \"scheme\": \"bearer\"\n            },\n            \"oAuth2\": {\n                \"type\": \"oauth2\",\n                \"description\": \"For more information on all supported OAuth Flows, please see 'https://help.salesforce.com/articleView?id=remoteaccess_oauth_flows.htm&type=5'. For more information on all available scope options, please see 'https://help.salesforce.com/articleView?id=remoteaccess_oauth_tokens_scopes.htm&type=5#oauth_scopes'. \",\n                \"flows\": {\n                    \"implicit\": {\n                        \"authorizationUrl\": \"https://login.salesforce.com/services/oauth2/authorize\",\n                        \"scopes\": {\n                            \"visualforce\": \"Allows access to customer-created Visualforce pages only. This scope doesn’t allow access to standard Salesforce UIs.\",\n                            \"address\": \"Allows access to the identity URL service. You can request profile, email, address, or phone individually to get the same result as using id; they are all synonymous.\",\n                            \"custom_permissions\": \"Allows access to the custom permissions in an org associated with the connected app. This scope also shows whether the current user has each permission enabled.\",\n                            \"openid\": \"Allows access to the current, logged in user’s unique identifier for OpenID Connect apps. In the OAuth 2.0 user-agent flow and the OAuth 2.0 web server flow, use the openid scope. In addition to the access token, this scope enables you to receive a signed ID token that conforms to the OpenID Connect specifications.\",\n                            \"profile\": \"Allows access to the identity URL service. You can request profile, email, address, or phone individually to get the same result as using id; they are all synonymous.\",\n                            \"refresh_token\": \"Allows a refresh token to be returned when the requesting client is eligible to receive one. With a refresh token, the app can interact with the user’s data while the user is offline. This token is synonymous with requesting offline_access.\",\n                            \"wave_api\": \"Access and manage your Wave data.\",\n                            \"web\": \"Allows use of the access_token on the web. This scope also includes visualforce, allowing access to customer-created Visualforce pages.\",\n                            \"phone\": \"Allows access to the identity URL service. You can request profile, email, address, or phone individually to get the same result as using id; they are all synonymous.\",\n                            \"offline_access\": \"Allows a refresh token to be returned when the requesting client is eligible to receive one. With a refresh token, the app can interact with the user’s data while the user is offline. This token is synonymous with requesting offline_access.\",\n                            \"chatter_api\": \"Allows access to Connect REST API resources on behalf of the user.\",\n                            \"id\": \"Allows access to the identity URL service. You can request profile, email, address, or phone individually to get the same result as using id; they are all synonymous.\",\n                            \"api\": \"Allows access to the current, logged-in user’s account using APIs, such as REST API and Bulk API. This scope also includes chatter_api, which allows access to Connect REST API resources.\",\n                            \"eclair_api\": \"Access and manage your Eclair data.\",\n                            \"email\": \"Allows access to the identity URL service. You can request profile, email, address, or phone individually to get the same result as using id; they are all synonymous.\",\n                            \"pardot_api\": \"Allows access to Pardot API services on behalf of the user. Manage the full extent of accessible services in Pardot.\",\n                            \"full\": \"Allows access to all data accessible by the logged-in user, and encompasses all other scopes. full doesn’t return a refresh token. You must explicitly request the refresh_token scope to get a refresh token.\"\n                        }\n                    },\n                    \"password\": {\n                        \"tokenUrl\": \"https://login.salesforce.com/services/oauth2/token\",\n                        \"scopes\": {\n                            \"api\": \"Allows access to the current, logged-in user’s account using APIs, such as REST API and Bulk API. This scope also includes chatter_api, which allows access to Connect REST API resources.\"\n                        }\n                    },\n                    \"authorizationCode\": {\n                        \"authorizationUrl\": \"https://login.salesforce.com/services/oauth2/authorize\",\n                        \"tokenUrl\": \"https://login.salesforce.com/services/oauth2/token\",\n                        \"scopes\": {\n                            \"visualforce\": \"Allows access to customer-created Visualforce pages only. This scope doesn’t allow access to standard Salesforce UIs.\",\n                            \"address\": \"Allows access to the identity URL service. You can request profile, email, address, or phone individually to get the same result as using id; they are all synonymous.\",\n                            \"custom_permissions\": \"Allows access to the custom permissions in an org associated with the connected app. This scope also shows whether the current user has each permission enabled.\",\n                            \"openid\": \"Allows access to the current, logged in user’s unique identifier for OpenID Connect apps. In the OAuth 2.0 user-agent flow and the OAuth 2.0 web server flow, use the openid scope. In addition to the access token, this scope enables you to receive a signed ID token that conforms to the OpenID Connect specifications.\",\n                            \"profile\": \"Allows access to the identity URL service. You can request profile, email, address, or phone individually to get the same result as using id; they are all synonymous.\",\n                            \"refresh_token\": \"Allows a refresh token to be returned when the requesting client is eligible to receive one. With a refresh token, the app can interact with the user’s data while the user is offline. This token is synonymous with requesting offline_access.\",\n                            \"wave_api\": \"Access and manage your Wave data.\",\n                            \"web\": \"Allows use of the access_token on the web. This scope also includes visualforce, allowing access to customer-created Visualforce pages.\",\n                            \"phone\": \"Allows access to the identity URL service. You can request profile, email, address, or phone individually to get the same result as using id; they are all synonymous.\",\n                            \"offline_access\": \"Allows a refresh token to be returned when the requesting client is eligible to receive one. With a refresh token, the app can interact with the user’s data while the user is offline. This token is synonymous with requesting offline_access.\",\n                            \"chatter_api\": \"Allows access to Connect REST API resources on behalf of the user.\",\n                            \"id\": \"Allows access to the identity URL service. You can request profile, email, address, or phone individually to get the same result as using id; they are all synonymous.\",\n                            \"api\": \"Allows access to the current, logged-in user’s account using APIs, such as REST API and Bulk API. This scope also includes chatter_api, which allows access to Connect REST API resources.\",\n                            \"eclair_api\": \"Access and manage your Eclair data.\",\n                            \"email\": \"Allows access to the identity URL service. You can request profile, email, address, or phone individually to get the same result as using id; they are all synonymous.\",\n                            \"pardot_api\": \"Allows access to Pardot API services on behalf of the user. Manage the full extent of accessible services in Pardot.\",\n                            \"full\": \"Allows access to all data accessible by the logged-in user, and encompasses all other scopes. full doesn’t return a refresh token. You must explicitly request the refresh_token scope to get a refresh token.\"\n                        }\n                    }\n                }\n            }\n        }\n    }\n}"
    }
  ]
}