adoptai-mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/README.md +70 -0
  2. package/bin/adoptai-mcp.js +2 -0
  3. package/dist/apps/canva.js +1 -0
  4. package/dist/apps/figma.js +1 -0
  5. package/dist/apps/github.js +2 -0
  6. package/dist/apps/notion.js +1 -0
  7. package/dist/apps/registry.js +20 -0
  8. package/dist/apps/salesforce.js +1 -0
  9. package/dist/cli/add.js +532 -0
  10. package/dist/cli/index.js +39 -0
  11. package/dist/cli/list.js +19 -0
  12. package/dist/cli/remove.js +37 -0
  13. package/dist/cli/serve.js +27 -0
  14. package/dist/cli/status.js +24 -0
  15. package/dist/config/clients.js +118 -0
  16. package/dist/config/credentials.js +34 -0
  17. package/dist/core/auth-manager.js +237 -0
  18. package/dist/core/config-writer.js +161 -0
  19. package/dist/core/doctor.js +199 -0
  20. package/dist/core/package.json +3 -0
  21. package/dist/core/server-base.js +81 -0
  22. package/dist/integrations/canva/.env +3 -0
  23. package/dist/integrations/canva/auth.js +287 -0
  24. package/dist/integrations/canva/env.js +9 -0
  25. package/dist/integrations/canva/index.js +12 -0
  26. package/dist/integrations/canva/package.json +31 -0
  27. package/dist/integrations/canva/publish-to-adoptai.js +365 -0
  28. package/dist/integrations/canva/setup.js +90 -0
  29. package/dist/integrations/canva/tools.js +1315 -0
  30. package/dist/integrations/canva/tools.original.js +1315 -0
  31. package/dist/integrations/figma/auth.js +48 -0
  32. package/dist/integrations/figma/index.js +11 -0
  33. package/dist/integrations/figma/package.json +27 -0
  34. package/dist/integrations/figma/publish-to-adoptai.js +384 -0
  35. package/dist/integrations/figma/setup.js +90 -0
  36. package/dist/integrations/figma/tools.js +1137 -0
  37. package/dist/integrations/github/auth.js +53 -0
  38. package/dist/integrations/github/index.js +11 -0
  39. package/dist/integrations/github/package.json +28 -0
  40. package/dist/integrations/github/publish-to-adoptai.js +240 -0
  41. package/dist/integrations/github/setup.js +103 -0
  42. package/dist/integrations/github/tools.js +78 -0
  43. package/dist/integrations/github-actions/auth.js +53 -0
  44. package/dist/integrations/github-actions/index.js +11 -0
  45. package/dist/integrations/github-actions/package.json +27 -0
  46. package/dist/integrations/github-actions/setup.js +103 -0
  47. package/dist/integrations/github-actions/tools.js +5642 -0
  48. package/dist/integrations/github-activity/auth.js +53 -0
  49. package/dist/integrations/github-activity/index.js +11 -0
  50. package/dist/integrations/github-activity/package.json +27 -0
  51. package/dist/integrations/github-activity/setup.js +103 -0
  52. package/dist/integrations/github-activity/tools.js +925 -0
  53. package/dist/integrations/github-apps/auth.js +53 -0
  54. package/dist/integrations/github-apps/index.js +11 -0
  55. package/dist/integrations/github-apps/package.json +27 -0
  56. package/dist/integrations/github-apps/setup.js +103 -0
  57. package/dist/integrations/github-apps/tools.js +791 -0
  58. package/dist/integrations/github-billing/auth.js +53 -0
  59. package/dist/integrations/github-billing/index.js +11 -0
  60. package/dist/integrations/github-billing/package.json +27 -0
  61. package/dist/integrations/github-billing/setup.js +103 -0
  62. package/dist/integrations/github-billing/tools.js +438 -0
  63. package/dist/integrations/github-checks/auth.js +53 -0
  64. package/dist/integrations/github-checks/index.js +11 -0
  65. package/dist/integrations/github-checks/package.json +27 -0
  66. package/dist/integrations/github-checks/setup.js +103 -0
  67. package/dist/integrations/github-checks/tools.js +607 -0
  68. package/dist/integrations/github-code-scanning/auth.js +53 -0
  69. package/dist/integrations/github-code-scanning/index.js +11 -0
  70. package/dist/integrations/github-code-scanning/package.json +27 -0
  71. package/dist/integrations/github-code-scanning/setup.js +103 -0
  72. package/dist/integrations/github-code-scanning/tools.js +987 -0
  73. package/dist/integrations/github-dependabot/auth.js +53 -0
  74. package/dist/integrations/github-dependabot/index.js +11 -0
  75. package/dist/integrations/github-dependabot/package.json +27 -0
  76. package/dist/integrations/github-dependabot/setup.js +103 -0
  77. package/dist/integrations/github-dependabot/tools.js +915 -0
  78. package/dist/integrations/github-gists/auth.js +53 -0
  79. package/dist/integrations/github-gists/index.js +11 -0
  80. package/dist/integrations/github-gists/package.json +27 -0
  81. package/dist/integrations/github-gists/setup.js +103 -0
  82. package/dist/integrations/github-gists/tools.js +545 -0
  83. package/dist/integrations/github-git/auth.js +53 -0
  84. package/dist/integrations/github-git/index.js +11 -0
  85. package/dist/integrations/github-git/package.json +27 -0
  86. package/dist/integrations/github-git/setup.js +103 -0
  87. package/dist/integrations/github-git/tools.js +513 -0
  88. package/dist/integrations/github-issues/auth.js +53 -0
  89. package/dist/integrations/github-issues/index.js +11 -0
  90. package/dist/integrations/github-issues/package.json +27 -0
  91. package/dist/integrations/github-issues/setup.js +103 -0
  92. package/dist/integrations/github-issues/tools.js +2232 -0
  93. package/dist/integrations/github-orgs/auth.js +53 -0
  94. package/dist/integrations/github-orgs/index.js +11 -0
  95. package/dist/integrations/github-orgs/package.json +27 -0
  96. package/dist/integrations/github-orgs/setup.js +103 -0
  97. package/dist/integrations/github-orgs/tools.js +3512 -0
  98. package/dist/integrations/github-packages/auth.js +53 -0
  99. package/dist/integrations/github-packages/index.js +11 -0
  100. package/dist/integrations/github-packages/package.json +27 -0
  101. package/dist/integrations/github-packages/setup.js +103 -0
  102. package/dist/integrations/github-packages/tools.js +1088 -0
  103. package/dist/integrations/github-pulls/auth.js +53 -0
  104. package/dist/integrations/github-pulls/index.js +11 -0
  105. package/dist/integrations/github-pulls/package.json +27 -0
  106. package/dist/integrations/github-pulls/setup.js +103 -0
  107. package/dist/integrations/github-pulls/tools.js +1252 -0
  108. package/dist/integrations/github-reactions/auth.js +53 -0
  109. package/dist/integrations/github-reactions/index.js +11 -0
  110. package/dist/integrations/github-reactions/package.json +27 -0
  111. package/dist/integrations/github-reactions/setup.js +103 -0
  112. package/dist/integrations/github-reactions/tools.js +706 -0
  113. package/dist/integrations/github-repos/auth.js +53 -0
  114. package/dist/integrations/github-repos/index.js +11 -0
  115. package/dist/integrations/github-repos/package.json +27 -0
  116. package/dist/integrations/github-repos/setup.js +103 -0
  117. package/dist/integrations/github-repos/tools.js +7286 -0
  118. package/dist/integrations/github-search/auth.js +53 -0
  119. package/dist/integrations/github-search/index.js +11 -0
  120. package/dist/integrations/github-search/package.json +27 -0
  121. package/dist/integrations/github-search/setup.js +103 -0
  122. package/dist/integrations/github-search/tools.js +370 -0
  123. package/dist/integrations/github-teams/auth.js +53 -0
  124. package/dist/integrations/github-teams/index.js +11 -0
  125. package/dist/integrations/github-teams/package.json +27 -0
  126. package/dist/integrations/github-teams/setup.js +103 -0
  127. package/dist/integrations/github-teams/tools.js +633 -0
  128. package/dist/integrations/github-users/auth.js +53 -0
  129. package/dist/integrations/github-users/index.js +11 -0
  130. package/dist/integrations/github-users/package.json +27 -0
  131. package/dist/integrations/github-users/setup.js +103 -0
  132. package/dist/integrations/github-users/tools.js +1118 -0
  133. package/dist/integrations/notion/api.js +108 -0
  134. package/dist/integrations/notion/auth.js +59 -0
  135. package/dist/integrations/notion/endpoints.json +630 -0
  136. package/dist/integrations/notion/index.js +11 -0
  137. package/dist/integrations/notion/package.json +33 -0
  138. package/dist/integrations/notion/publish-to-adoptai.js +271 -0
  139. package/dist/integrations/notion/scripts/generate-endpoints.mjs +306 -0
  140. package/dist/integrations/notion/setup.js +89 -0
  141. package/dist/integrations/notion/tools.js +586 -0
  142. package/dist/integrations/notion/tools.original.js +568 -0
  143. package/dist/integrations/salesforce/.env +8 -0
  144. package/dist/integrations/salesforce/.env.example +15 -0
  145. package/dist/integrations/salesforce/auth.js +311 -0
  146. package/dist/integrations/salesforce/endpoints.json +1359 -0
  147. package/dist/integrations/salesforce/env.js +9 -0
  148. package/dist/integrations/salesforce/index.js +12 -0
  149. package/dist/integrations/salesforce/package.json +42 -0
  150. package/dist/integrations/salesforce/publish-smart-specs.js +890 -0
  151. package/dist/integrations/salesforce/publish-to-adoptai.js +386 -0
  152. package/dist/integrations/salesforce/scripts/extract-postman.mjs +222 -0
  153. package/dist/integrations/salesforce/setup.js +112 -0
  154. package/dist/integrations/salesforce/tools.js +4544 -0
  155. package/dist/integrations/salesforce/tools.original.js +4487 -0
  156. package/dist/server/mcp-server.js +50 -0
  157. package/dist/server/tool-loader.js +47 -0
  158. package/dist/specs/figma-api.json +13621 -0
  159. package/dist/specs/split/salesforce-auth.json +3931 -0
  160. package/dist/specs/split/salesforce-bulk-v1.json +1489 -0
  161. package/dist/specs/split/salesforce-bulk-v2.json +1951 -0
  162. package/dist/specs/split/salesforce-composite.json +1246 -0
  163. package/dist/specs/split/salesforce-connect.json +11639 -0
  164. package/dist/specs/split/salesforce-einstein-prediction-service.json +576 -0
  165. package/dist/specs/split/salesforce-event-platform.json +2682 -0
  166. package/dist/specs/split/salesforce-graphql.json +1754 -0
  167. package/dist/specs/split/salesforce-industries.json +4115 -0
  168. package/dist/specs/split/salesforce-metadata.json +555 -0
  169. package/dist/specs/split/salesforce-rest.json +4798 -0
  170. package/dist/specs/split/salesforce-soap.json +210 -0
  171. package/dist/specs/split/salesforce-subscription-management.json +1299 -0
  172. package/dist/specs/split/salesforce-tooling.json +2026 -0
  173. package/dist/specs/split/salesforce-ui.json +7426 -0
  174. package/package.json +47 -0
@@ -0,0 +1,3931 @@
1
+ {
2
+ "info": {
3
+ "_postman_id": "67cb9baa-e0da-4986-957e-88d8734647e2",
4
+ "name": "Salesforce Platform APIs - auth",
5
+ "description": "The Salesforce Platform APIs collection contains 250+ requests and example responses for the following APIs:\n\n<table><tbody><tr><td><div>Auth<br>Bulk (v1 &amp; v2)<br>Composite<br>Connect<br>CPQ<br>Einstein Prediction Service<br>Event Platform</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>GraphQL<br>Loyalty Management<br>Metadata<br>REST<br>Subscription Management<br>Tooling<br>UI</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n**⚠️ Disclaimer:** this collection is not covered by Salesforce support and SLAs.\n\n## Get Started\n\nClick the button below and follow the instructions from the following sections: \n[<img src=\"https://run.pstmn.io/button.svg\" alt=\"Run In Postman\">](https://god.gw.postman.com/run-collection/12721794-67cb9baa-e0da-4986-957e-88d8734647e2?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D12721794-67cb9baa-e0da-4986-957e-88d8734647e2%26entityType%3Dcollection%26workspaceId%3D34382471-0c97-40e5-a206-f947271665c4)\n\n### New Salesforce Users\n\nIf you are new to Salesforce, start by obtaining a free [Developer Edition Org](https://developer.salesforce.com/signup) then, follow the rest of the instructions from this documentation.\n\nYou can also watch our [Beginner's Mind YouTube series](https://www.youtube.com/playlist?list=PLgIMQe2PKPSKJ33M6CX-VLvgax7Xptcmz) for a tour of the Salesforce Platform (the last episode focuses on APIs).\n\n### New Postman Users\n\n<table><tbody><tr><td><div><p>If you are new to Postman, complete this Trailhead project to setup the collection: <a rel=\"noreferrer noopener nofollow\" href=\"https://trailhead.salesforce.com/content/learn/projects/quick-start-connect-postman-to-salesforce\" target=\"_blank\" url=\"https://trailhead.salesforce.com/content/learn/projects/quick-start-connect-postman-to-salesforce\">Quick Start: Connect Postman to Salesforce</a>.<br></p><figure editor=\"[object Object]\"><div contenteditable=\"false\"><div><img src=\"https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/projects/quick-start-connect-postman-to-salesforce/d281185a04fbccaf4f1d37e51a3b0049_badge.png\" alt=\"\"><div><div></div><div><div></div></div><div></div><div><div></div></div><div></div><div></div><div></div><div></div></div></div></div></figure></div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div><p>If you want to learn more about Postman in general, you can also complete this optional Trailhead badge: <a rel=\"noreferrer noopener nofollow\" href=\"https://trailhead.salesforce.com/content/learn/modules/postman-api-client\" target=\"_blank\" url=\"https://trailhead.salesforce.com/content/learn/modules/postman-api-client\">Postman API Client</a>.<br></p><figure editor=\"[object Object]\"><div contenteditable=\"false\"><div><img src=\"https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/postman-api-client/c4f5ce5df16040d22df5f1cfb77af5a6_badge.png\" alt=\"\"><div><div></div><div><div></div></div><div></div><div><div></div></div><div></div><div></div><div></div><div></div></div></div></div></figure></div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n### Regular Postman Users\n\nIf you are already familiar with Postman, here are the minimal getting started steps:\n\n1. If using Postman Web UI, follow these [steps to set up CORS](https://github.com/forcedotcom/postman-salesforce-apis/blob/master/install-with-web.md#enable-cors-in-salesforce) in your Salesforce Org. This is not required when working with the Postman Desktop app.\n \n2. Assign the following value to the `clientId` collection variable (this is a temporary step due to a Postman bug):\n\n```\n{{vault:salesforce-consumer-key}}\n```\n \n3. Assign a value to the `url` collection variable based on your Salesforce Org type:\n \n | URL | Org Type |\n | --- | --- |\n | `https://test.salesforce.com` | Sandboxes or Scratch orgs. |\n | `https://login.salesforce.com` | Production, Trailhead Playground and Developer Edition orgs. |\n | Custom My Domain base URL | Org with a custom domain. |\n \n4. Click **Get New Access Token** from the collection's **Authorization** tab.\n \n5. When prompted to do so, log in to your Salesforce org and allow access to \"Salesforce APIs Collection for Postman\".\n \n6. Copy the value of the `instance_url` field from the token details view.\n \n7. Click **Use Token**.\n \n8. Save the value that you copied in the `_endpoint` variable.\n \n9. Click **Save** and you're good to go!\n \n\n## Resources\n\nCheck out [the documentation](https://github.com/forcedotcom/postman-salesforce-apis) for videos and extra information on how to install, update and contribute to the collection.\n\nWe also have an [demo video](https://www.youtube.com/watch?v=W-IwW6RM4F0) on how to setup the collection.\n\n<img src=\"https://i3.ytimg.com/vi/W-IwW6RM4F0/maxresdefault.jpg\" width=\"80%\">\n\nReport issues and ask questions [here](https://github.com/forcedotcom/postman-salesforce-apis/issues).\n\n## Variables Reference\n\nThe collection relies on the following variables:\n\n| Variable | Description |\n| --- | --- |\n| `_endpoint` | Your Salesforce Org's instance URL. |\n| `url` | The URL used for logging in. Either: <br>\\- `https://test.salesforce.com` for sandboxes or Scratch orgs <br>\\- `https://login.salesforce.com` for production, Trailhead Playground and Developer Edition orgs <br>\\- your custom My Domain base URL. |\n| `version` | The Salesforce API version (e.g.: 50.0). |\n| `username` | Your username. |\n| `password` | Your password. |\n| `secretToken` | Your personal [security token](https://help.salesforce.com/articleView?id=user_security_token.htm). |\n| `clientId` | Connected App client Id. |\n| `clientSecret` | Connected App client secret. |\n| `redirectUrl` | Connected App redirect URL for OAuth 2.0. |\n| `initAccessToken` | Initial access token for dynamic Connected App registration. |\n| `site` | Community suffix when connecting with an Experience Cloud user. |\n\nOnly a few of these variables are mandatory. The authentication requests will automatically register and set extra \"private\" variables identified with a `_` prefix (e.g.: `_accessToken`, `_orgId`, `_userId`...).",
6
+ "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
7
+ "_exporter_id": "32907289",
8
+ "_collection_link": "https://go.postman.co/collection/12721794-67cb9baa-e0da-4986-957e-88d8734647e2?source=collection_link"
9
+ },
10
+ "auth": {
11
+ "type": "oauth2",
12
+ "oauth2": [
13
+ {
14
+ "key": "grant_type",
15
+ "value": "implicit",
16
+ "type": "string"
17
+ },
18
+ {
19
+ "key": "scope",
20
+ "value": "api",
21
+ "type": "string"
22
+ },
23
+ {
24
+ "key": "addTokenTo",
25
+ "value": "header",
26
+ "type": "string"
27
+ },
28
+ {
29
+ "key": "client_authentication",
30
+ "value": "body",
31
+ "type": "string"
32
+ },
33
+ {
34
+ "key": "password",
35
+ "value": "{{password}}",
36
+ "type": "string"
37
+ },
38
+ {
39
+ "key": "username",
40
+ "value": "{{username}}",
41
+ "type": "string"
42
+ },
43
+ {
44
+ "key": "challengeAlgorithm",
45
+ "value": "S256",
46
+ "type": "string"
47
+ },
48
+ {
49
+ "key": "clientSecret",
50
+ "value": "{{clientSecret}}",
51
+ "type": "string"
52
+ },
53
+ {
54
+ "key": "clientId",
55
+ "value": "{{clientId}}",
56
+ "type": "string"
57
+ },
58
+ {
59
+ "key": "accessTokenUrl",
60
+ "value": "{{url}}{{site}}/services/oauth2/token",
61
+ "type": "string"
62
+ },
63
+ {
64
+ "key": "authUrl",
65
+ "value": "{{url}}{{site}}/services/oauth2/authorize",
66
+ "type": "string"
67
+ },
68
+ {
69
+ "key": "tokenName",
70
+ "value": "access_token",
71
+ "type": "string"
72
+ },
73
+ {
74
+ "key": "useBrowser",
75
+ "value": true,
76
+ "type": "boolean"
77
+ }
78
+ ]
79
+ },
80
+ "variable": [
81
+ {
82
+ "key": "url",
83
+ "value": "https://login.salesforce.com"
84
+ },
85
+ {
86
+ "key": "version",
87
+ "value": "64.0"
88
+ },
89
+ {
90
+ "key": "username",
91
+ "value": ""
92
+ },
93
+ {
94
+ "key": "password",
95
+ "value": ""
96
+ },
97
+ {
98
+ "key": "secretToken",
99
+ "value": ""
100
+ },
101
+ {
102
+ "key": "clientId",
103
+ "value": "{{vault:salesforce-consumer-key}}"
104
+ },
105
+ {
106
+ "key": "clientSecret",
107
+ "value": ""
108
+ },
109
+ {
110
+ "key": "redirectUrl",
111
+ "value": ""
112
+ },
113
+ {
114
+ "key": "initAccessToken",
115
+ "value": ""
116
+ },
117
+ {
118
+ "key": "site",
119
+ "value": ""
120
+ },
121
+ {
122
+ "key": "_accessToken",
123
+ "value": ""
124
+ },
125
+ {
126
+ "key": "_endpoint",
127
+ "value": ""
128
+ },
129
+ {
130
+ "key": "_userId",
131
+ "value": ""
132
+ },
133
+ {
134
+ "key": "_appId",
135
+ "value": ""
136
+ },
137
+ {
138
+ "key": "_consumerId",
139
+ "value": ""
140
+ },
141
+ {
142
+ "key": "_tokenId",
143
+ "value": ""
144
+ },
145
+ {
146
+ "key": "_orgId",
147
+ "value": ""
148
+ },
149
+ {
150
+ "key": "_jobId",
151
+ "value": ""
152
+ },
153
+ {
154
+ "key": "webstoreId",
155
+ "value": ""
156
+ },
157
+ {
158
+ "key": "_deviceCode",
159
+ "value": ""
160
+ }
161
+ ],
162
+ "item": [
163
+ {
164
+ "name": "Registration - Initialize",
165
+ "protocolProfileBehavior": {
166
+ "disabledSystemHeaders": {
167
+ "content-type": true
168
+ }
169
+ },
170
+ "request": {
171
+ "auth": {
172
+ "type": "noauth"
173
+ },
174
+ "method": "POST",
175
+ "header": [],
176
+ "body": {
177
+ "mode": "raw",
178
+ "raw": "{\n \"userdata\": {\n \"firstName\": \"userFirstName\",\n \"lastName\": \"userLastName\",\n \"email\": \"<email>\",\n \"username\": \"<username>\"\n },\n \"customdata\": {\n \"mobilePhone\": \"+12035408967\",\n \"streetAddress\": \"12 N Lands End Rd\",\n \"city\": \"Lantana\",\n \"state\": \"Florida\",\n \"zip\": \"20537\",\n \"privacyPolicy\": true\n },\n \"password\": \"Test123!\",\n \"recaptcha\": \"<recaptcha-token>\",\n \"verificationmethod\": \"email\"\n}",
179
+ "options": {
180
+ "raw": {
181
+ "language": "json"
182
+ }
183
+ }
184
+ },
185
+ "url": {
186
+ "raw": "{{url}}{{site}}/services/auth/headless/init/registration",
187
+ "host": [
188
+ "{{url}}{{site}}"
189
+ ],
190
+ "path": [
191
+ "services",
192
+ "auth",
193
+ "headless",
194
+ "init",
195
+ "registration"
196
+ ]
197
+ },
198
+ "description": "Submits the registration data to the init/registration endpoint and returns a request identifier. At the same time, an OTP is sent out to the end users via email or sms. Registration data is passed in the request body, and is formatted with JSON, with 5 keys: `userdata`, `customdata`, `password`, `recaptcha`, and `verificationmethod`. The first two keys are JSON structures, and the last 3 keys are strings.\n\nThis request returns JSON, and includes an identifier (request identifier)."
199
+ },
200
+ "response": []
201
+ },
202
+ {
203
+ "name": "Registration - Authorize",
204
+ "request": {
205
+ "auth": {
206
+ "type": "noauth"
207
+ },
208
+ "method": "POST",
209
+ "header": [
210
+ {
211
+ "key": "Auth-Request-Type",
212
+ "value": "user-registration",
213
+ "description": "Required for User Registration"
214
+ },
215
+ {
216
+ "key": "Auth-Verification-Type",
217
+ "value": "email",
218
+ "description": "Must match init/registration, email or sms"
219
+ },
220
+ {
221
+ "key": "Authorization",
222
+ "value": "Basic <base64Encoded identifier:otp>",
223
+ "description": "Base64 encoded <Identifier:OTP>"
224
+ }
225
+ ],
226
+ "body": {
227
+ "mode": "urlencoded",
228
+ "urlencoded": [
229
+ {
230
+ "key": "response_type",
231
+ "value": "code_credentials",
232
+ "type": "text"
233
+ },
234
+ {
235
+ "key": "client_id",
236
+ "value": "{{clientId}}",
237
+ "type": "text"
238
+ },
239
+ {
240
+ "key": "redirect_uri",
241
+ "value": "{{redirectUrl}}",
242
+ "type": "text"
243
+ },
244
+ {
245
+ "key": "scope",
246
+ "value": "",
247
+ "description": "Comma seperated list of scopes, optional",
248
+ "type": "text"
249
+ }
250
+ ]
251
+ },
252
+ "url": {
253
+ "raw": "{{url}}{{site}}/services/oauth2/authorize",
254
+ "host": [
255
+ "{{url}}{{site}}"
256
+ ],
257
+ "path": [
258
+ "services",
259
+ "oauth2",
260
+ "authorize"
261
+ ]
262
+ },
263
+ "description": "After you send your registration data to initialize, this request allows you to process that registration data, and as a part of this request you also verify the users email or sms number. The request itself is a authorization call for the Code and Credential flow. It includes 3 specific headers: `Auth-Request-Type` which is set to `user-registration`, `Auth-Verification-Type` which is set to email or sms, and an Authorization Basic header, which is the base 64 encoded result of `identifier:otp` where `identifier` is the value returned in your initialize registration call, and `otp` is the value sent to the end user via email or sms.\n\nThe response from this API is the Auth Code, which is then exchanged for the Access Token."
264
+ },
265
+ "response": []
266
+ },
267
+ {
268
+ "name": "Registration - Token Exchange",
269
+ "request": {
270
+ "auth": {
271
+ "type": "noauth"
272
+ },
273
+ "method": "POST",
274
+ "header": [],
275
+ "body": {
276
+ "mode": "urlencoded",
277
+ "urlencoded": [
278
+ {
279
+ "key": "code",
280
+ "value": "<code>",
281
+ "description": "Auth Code from the Authorize response",
282
+ "type": "text"
283
+ },
284
+ {
285
+ "key": "grant_type",
286
+ "value": "authorization_code",
287
+ "type": "text"
288
+ },
289
+ {
290
+ "key": "client_id",
291
+ "value": "{{clientId}}",
292
+ "type": "text"
293
+ },
294
+ {
295
+ "key": "redirect_uri",
296
+ "value": "{{redirectUrl}}",
297
+ "type": "text"
298
+ }
299
+ ]
300
+ },
301
+ "url": {
302
+ "raw": "{{url}}{{site}}/services/oauth2/token",
303
+ "host": [
304
+ "{{url}}{{site}}"
305
+ ],
306
+ "path": [
307
+ "services",
308
+ "oauth2",
309
+ "token"
310
+ ]
311
+ },
312
+ "description": "This exchanges the auth code returned in the Authorize Request for an access token and refresh token. This follows the standard Auth Code flow/Webserver Code Flow pattern. The Code is the return form the Authorization call."
313
+ },
314
+ "response": []
315
+ },
316
+ {
317
+ "name": "Username Password Login - Authorize",
318
+ "request": {
319
+ "auth": {
320
+ "type": "noauth"
321
+ },
322
+ "method": "POST",
323
+ "header": [
324
+ {
325
+ "key": "Auth-Request-Type",
326
+ "value": "Named-User",
327
+ "description": "Required for Username Password Login"
328
+ },
329
+ {
330
+ "key": "Authorization",
331
+ "value": "Basic <username:password>",
332
+ "description": "Base 64 encoded username:password"
333
+ }
334
+ ],
335
+ "body": {
336
+ "mode": "urlencoded",
337
+ "urlencoded": [
338
+ {
339
+ "key": "response_type",
340
+ "value": "code_credentials",
341
+ "type": "text"
342
+ },
343
+ {
344
+ "key": "client_id",
345
+ "value": "{{clientId}}",
346
+ "type": "text"
347
+ },
348
+ {
349
+ "key": "redirect_uri",
350
+ "value": "{{redirectUrl}}",
351
+ "type": "text"
352
+ },
353
+ {
354
+ "key": "scope",
355
+ "value": "",
356
+ "description": "Comma seperated list of scopes, optional",
357
+ "type": "text",
358
+ "disabled": true
359
+ }
360
+ ]
361
+ },
362
+ "url": {
363
+ "raw": "{{url}}{{site}}/services/oauth2/authorize",
364
+ "host": [
365
+ "{{url}}{{site}}"
366
+ ],
367
+ "path": [
368
+ "services",
369
+ "oauth2",
370
+ "authorize"
371
+ ]
372
+ },
373
+ "description": "This request allows named users to use their username and password to get an access token and refresh token from Salesforce in a headless manner. There are two headers that must be included, the first is the `Auth-Request-Type` which must be set to `Named-User`, and then there is the `Authorization` Basic header which contains the base 64 encoded username:password of the user.\n\nThe result of this API call, is an Auth Code, which is then exchanged with another call at the token endpoint."
374
+ },
375
+ "response": []
376
+ },
377
+ {
378
+ "name": "Username Password Login - Token Exchange",
379
+ "request": {
380
+ "auth": {
381
+ "type": "noauth"
382
+ },
383
+ "method": "POST",
384
+ "header": [],
385
+ "body": {
386
+ "mode": "urlencoded",
387
+ "urlencoded": [
388
+ {
389
+ "key": "code",
390
+ "value": "<code>",
391
+ "description": "Auth Code from the Authorize response",
392
+ "type": "text"
393
+ },
394
+ {
395
+ "key": "grant_type",
396
+ "value": "authorization_code",
397
+ "type": "text"
398
+ },
399
+ {
400
+ "key": "client_id",
401
+ "value": "{{clientId}}",
402
+ "type": "text"
403
+ },
404
+ {
405
+ "key": "redirect_uri",
406
+ "value": "{{redirectUrl}}",
407
+ "type": "text"
408
+ }
409
+ ]
410
+ },
411
+ "url": {
412
+ "raw": "{{url}}{{site}}/services/oauth2/token",
413
+ "host": [
414
+ "{{url}}{{site}}"
415
+ ],
416
+ "path": [
417
+ "services",
418
+ "oauth2",
419
+ "token"
420
+ ]
421
+ },
422
+ "description": "This exchanges the auth code returned in the Authorize Request for an access token and refresh token. This follows the standard Auth Code flow/Webserver Code Flow pattern. The Code is the return form the Authorization call."
423
+ },
424
+ "response": []
425
+ },
426
+ {
427
+ "name": "Forgot Password - Initialize",
428
+ "protocolProfileBehavior": {
429
+ "disabledSystemHeaders": {
430
+ "accept": true,
431
+ "accept-encoding": true,
432
+ "connection": true,
433
+ "user-agent": true
434
+ }
435
+ },
436
+ "request": {
437
+ "auth": {
438
+ "type": "noauth"
439
+ },
440
+ "method": "POST",
441
+ "header": [],
442
+ "body": {
443
+ "mode": "raw",
444
+ "raw": "{\n \"username\": \"<username>\",\n \"recaptcha\": \"<recaptcha token>\"\n}",
445
+ "options": {
446
+ "raw": {
447
+ "language": "json"
448
+ }
449
+ }
450
+ },
451
+ "url": {
452
+ "raw": "{{url}}{{site}}/services/auth/headless/forgot_password",
453
+ "host": [
454
+ "{{url}}{{site}}"
455
+ ],
456
+ "path": [
457
+ "services",
458
+ "auth",
459
+ "headless",
460
+ "forgot_password"
461
+ ]
462
+ }
463
+ },
464
+ "response": []
465
+ },
466
+ {
467
+ "name": "Forgot Password - Change Password",
468
+ "protocolProfileBehavior": {
469
+ "disabledSystemHeaders": {
470
+ "accept": true,
471
+ "accept-encoding": true,
472
+ "connection": true,
473
+ "user-agent": true
474
+ }
475
+ },
476
+ "request": {
477
+ "auth": {
478
+ "type": "noauth"
479
+ },
480
+ "method": "POST",
481
+ "header": [],
482
+ "body": {
483
+ "mode": "raw",
484
+ "raw": "{\n \"username\": \"<username>\",\n \"newpassword\": \"<new password>\",\n \"otp\": \"<OTP sent ot end user>\"\n}",
485
+ "options": {
486
+ "raw": {
487
+ "language": "json"
488
+ }
489
+ }
490
+ },
491
+ "url": {
492
+ "raw": "{{url}}{{site}}/services/auth/headless/forgot_password",
493
+ "host": [
494
+ "{{url}}{{site}}"
495
+ ],
496
+ "path": [
497
+ "services",
498
+ "auth",
499
+ "headless",
500
+ "forgot_password"
501
+ ]
502
+ },
503
+ "description": "Forgot Password/Change Password is a two step process:\nIn the first step you pass a username and recaptcha token into the endpoint. Salesforce then sends an OPT to the end user. In the second step you collect that OTP from the end user, confirming that they do own the email associated to the user, and the new password. This call is the second step in that process."
504
+ },
505
+ "response": []
506
+ },
507
+ {
508
+ "name": "Passwordless Login - Initialize",
509
+ "protocolProfileBehavior": {
510
+ "disabledSystemHeaders": {
511
+ "content-type": true
512
+ }
513
+ },
514
+ "request": {
515
+ "auth": {
516
+ "type": "noauth"
517
+ },
518
+ "method": "POST",
519
+ "header": [],
520
+ "body": {
521
+ "mode": "raw",
522
+ "raw": "{\n \"username\": \"<username>\",\n \"recaptcha\": \"<recaptcha-token>\",\n \"verificationmethod\": \"email or sms\"\n}",
523
+ "options": {
524
+ "raw": {
525
+ "language": "json"
526
+ }
527
+ }
528
+ },
529
+ "url": {
530
+ "raw": "{{url}}{{site}}/services/auth/headless/init/passwordless/login",
531
+ "host": [
532
+ "{{url}}{{site}}"
533
+ ],
534
+ "path": [
535
+ "services",
536
+ "auth",
537
+ "headless",
538
+ "init",
539
+ "passwordless",
540
+ "login"
541
+ ]
542
+ },
543
+ "description": "Submits the passwordless login data to the init/passwordless/login endpoint and returns a request identifier. At the same time, an OTP is sent out to the end users via email or sms. Passwordless login data is passed in the request body, and is formatted with JSON, with 3 keys: `username`, `recaptcha`, and `verificationmethod`. All 3 keys are strings.\n\nThis request returns JSON, and includes an identifier (request identifier)."
544
+ },
545
+ "response": []
546
+ },
547
+ {
548
+ "name": "Passwordless Login - Authorize",
549
+ "request": {
550
+ "auth": {
551
+ "type": "noauth"
552
+ },
553
+ "method": "POST",
554
+ "header": [
555
+ {
556
+ "key": "Auth-Request-Type",
557
+ "value": "passwordless-login",
558
+ "description": "Required for passwordless login"
559
+ },
560
+ {
561
+ "key": "Auth-Verification-Type",
562
+ "value": "<email or sms>",
563
+ "description": "Must match init verification method, email or sms"
564
+ },
565
+ {
566
+ "key": "Authorization",
567
+ "value": "Basic <base64Encoded identifier:otp>",
568
+ "description": "Base 64 encoded <Identifier:OTP>"
569
+ }
570
+ ],
571
+ "body": {
572
+ "mode": "urlencoded",
573
+ "urlencoded": [
574
+ {
575
+ "key": "response_type",
576
+ "value": "code_credentials",
577
+ "type": "text"
578
+ },
579
+ {
580
+ "key": "client_id",
581
+ "value": "{{clientId}}",
582
+ "type": "text"
583
+ },
584
+ {
585
+ "key": "redirect_uri",
586
+ "value": "{{redirectUrl}}",
587
+ "type": "text"
588
+ },
589
+ {
590
+ "key": "scope",
591
+ "value": "",
592
+ "description": "Comma seperated list of scopes, optional",
593
+ "type": "text"
594
+ }
595
+ ]
596
+ },
597
+ "url": {
598
+ "raw": "{{url}}{{site}}/services/oauth2/authorize",
599
+ "host": [
600
+ "{{url}}{{site}}"
601
+ ],
602
+ "path": [
603
+ "services",
604
+ "oauth2",
605
+ "authorize"
606
+ ]
607
+ },
608
+ "description": "After you send your passwordless login data to initialize, this request allows you to process that login data, and as a part of this request you also verify the users email or sms number. The request itself is a authorization call for the Code and Credential flow. It includes 3 specific headers: `Auth-Request-Type` which is set to `passwordless-login`, `Auth-Verification-Type` which is set to email or sms, and an Authorization Basic header, which is the base64 encoded result of `identifier:otp` where `identifier` is the value returned in your initialize call, and `otp` is the value sent to the end user via email or sms.\n\nThe response from this API is the Auth Code, which is then exchanged for the Access Token."
609
+ },
610
+ "response": []
611
+ },
612
+ {
613
+ "name": "Passwordless Login - Token Exchange",
614
+ "request": {
615
+ "auth": {
616
+ "type": "noauth"
617
+ },
618
+ "method": "POST",
619
+ "header": [],
620
+ "body": {
621
+ "mode": "urlencoded",
622
+ "urlencoded": [
623
+ {
624
+ "key": "code",
625
+ "value": "<code>",
626
+ "description": "Auth Code from the Authorize response",
627
+ "type": "text"
628
+ },
629
+ {
630
+ "key": "grant_type",
631
+ "value": "authorization_code",
632
+ "type": "text"
633
+ },
634
+ {
635
+ "key": "client_id",
636
+ "value": "{{clientId}}",
637
+ "type": "text"
638
+ },
639
+ {
640
+ "key": "redirect_uri",
641
+ "value": "{{redirectUrl}}",
642
+ "type": "text"
643
+ }
644
+ ]
645
+ },
646
+ "url": {
647
+ "raw": "{{url}}{{site}}/services/oauth2/token",
648
+ "host": [
649
+ "{{url}}{{site}}"
650
+ ],
651
+ "path": [
652
+ "services",
653
+ "oauth2",
654
+ "token"
655
+ ]
656
+ },
657
+ "description": "This exchanges the auth code returned in the Authorize Request for an access token and refresh token. This follows the standard Auth Code flow/Webserver Code Flow pattern. The Code is the return form the Authorization call."
658
+ },
659
+ "response": []
660
+ },
661
+ {
662
+ "name": "Get User Info",
663
+ "request": {
664
+ "auth": {
665
+ "type": "noauth"
666
+ },
667
+ "method": "GET",
668
+ "header": [
669
+ {
670
+ "key": "Authorization",
671
+ "value": "Bearer <Token>",
672
+ "description": "Replace <token> with your access token"
673
+ },
674
+ {
675
+ "key": "Content-Type",
676
+ "value": "application/json"
677
+ }
678
+ ],
679
+ "url": {
680
+ "raw": "{{url}}{{site}}/services/oauth2/userinfo",
681
+ "host": [
682
+ "{{url}}{{site}}"
683
+ ],
684
+ "path": [
685
+ "services",
686
+ "oauth2",
687
+ "userinfo"
688
+ ]
689
+ },
690
+ "description": "This requests uses an access token to get user information from Salesforce using the standard `/userinfo` endpoint."
691
+ },
692
+ "response": []
693
+ },
694
+ {
695
+ "name": "Revoke Token",
696
+ "request": {
697
+ "auth": {
698
+ "type": "noauth"
699
+ },
700
+ "method": "POST",
701
+ "header": [],
702
+ "body": {
703
+ "mode": "urlencoded",
704
+ "urlencoded": [
705
+ {
706
+ "key": "token",
707
+ "value": "{{_accessToken}}",
708
+ "description": "Replace with a valid access token or refresh token. ",
709
+ "type": "text"
710
+ }
711
+ ]
712
+ },
713
+ "url": {
714
+ "raw": "{{url}}{{site}}/services/oauth2/revoke",
715
+ "host": [
716
+ "{{url}}{{site}}"
717
+ ],
718
+ "path": [
719
+ "services",
720
+ "oauth2",
721
+ "revoke"
722
+ ]
723
+ },
724
+ "description": "This calls the standard revoke endpoint, passing in your access token. This endpoint should be called as part of your logout process to invalidate the access and refresh token. "
725
+ },
726
+ "response": []
727
+ },
728
+ {
729
+ "name": "OAuth Usage",
730
+ "protocolProfileBehavior": {
731
+ "disabledSystemHeaders": {},
732
+ "followOriginalHttpMethod": false,
733
+ "disableUrlEncoding": false
734
+ },
735
+ "request": {
736
+ "auth": {
737
+ "type": "noauth"
738
+ },
739
+ "method": "GET",
740
+ "header": [
741
+ {
742
+ "key": "Authorization",
743
+ "value": "Bearer <token>",
744
+ "description": "Replace <token> with your access token",
745
+ "type": "text"
746
+ }
747
+ ],
748
+ "url": {
749
+ "raw": "{{url}}{{site}}/services/data/v{{version}}/apps/oauth/usage?page=0&pageSize=100",
750
+ "host": [
751
+ "{{url}}{{site}}"
752
+ ],
753
+ "path": [
754
+ "services",
755
+ "data",
756
+ "v{{version}}",
757
+ "apps",
758
+ "oauth",
759
+ "usage"
760
+ ],
761
+ "query": [
762
+ {
763
+ "key": "page",
764
+ "value": "0",
765
+ "description": "Number of the page you want returned. Starts at 0. If you don’t specify a value or if you specify 0, the first page is returned."
766
+ },
767
+ {
768
+ "key": "pageSize",
769
+ "value": "100",
770
+ "description": "Number of usage entries per page. Defaults to 100.\t"
771
+ }
772
+ ]
773
+ },
774
+ "description": "Lists all the external client apps for the current org. See [OAuth Usage](https://developer.salesforce.com/docs/atlas.en-us.246.0.chatterapi.meta/chatterapi/connect_resources_usage.htm)."
775
+ },
776
+ "response": [
777
+ {
778
+ "name": "Successful OAuth Usage",
779
+ "originalRequest": {
780
+ "method": "GET",
781
+ "header": [
782
+ {
783
+ "key": "Authorization",
784
+ "value": "Bearer <token>",
785
+ "description": "Replace <token> with your access token",
786
+ "type": "text"
787
+ }
788
+ ],
789
+ "url": {
790
+ "raw": "https://login.salesforce.com/services/data/v59.0/apps/oauth/usage/?page=0&pageSize=100",
791
+ "protocol": "https",
792
+ "host": [
793
+ "login",
794
+ "salesforce",
795
+ "com"
796
+ ],
797
+ "path": [
798
+ "services",
799
+ "data",
800
+ "v59.0",
801
+ "apps",
802
+ "oauth",
803
+ "usage",
804
+ ""
805
+ ],
806
+ "query": [
807
+ {
808
+ "key": "page",
809
+ "value": "0",
810
+ "description": "Number of the page you want returned. Starts at 0. If you don’t specify a value or if you specify 0, the first page is returned."
811
+ },
812
+ {
813
+ "key": "pageSize",
814
+ "value": "100",
815
+ "description": "Number of usage entries per page. Defaults to 100.\t"
816
+ }
817
+ ]
818
+ }
819
+ },
820
+ "_postman_previewlanguage": "Text",
821
+ "header": null,
822
+ "cookie": [],
823
+ "body": "{\n \"apps\": [\n {\n \"accessTokenFormat\": \"<accessTokenFormat>\",\n \"availableActions\": \"disable, enable\",\n \"description\": \"<description>\",\n \"developerName\": \"<developerName>\",\n \"identifier\": \"<identifier>\",\n \"isFromPackage\": bool,\n \"usageDetailsUrl\": \"/services/data/<version>/apps/oauth/usage/<identifier>/users\"\n }\n ],\n \"currentPageUrl\": \"/services/data/<version>/apps/oauth/usage?page=0&pageSize=100\",\n \"nextPageUrl\": \"/services/data/<version>/apps/oauth/usage?page=1&pageSize=100\"\n}"
824
+ }
825
+ ]
826
+ },
827
+ {
828
+ "name": "OAuth App Users",
829
+ "request": {
830
+ "auth": {
831
+ "type": "noauth"
832
+ },
833
+ "method": "GET",
834
+ "header": [
835
+ {
836
+ "key": "Authorization",
837
+ "value": "Bearer <token>",
838
+ "description": "Replace <token> with your access token",
839
+ "type": "text"
840
+ }
841
+ ],
842
+ "url": {
843
+ "raw": "{{url}}{{site}}/services/data/v{{version}}/apps/oauth/usage/{{_appId}}/users?page=0&pageSize=100",
844
+ "host": [
845
+ "{{url}}{{site}}"
846
+ ],
847
+ "path": [
848
+ "services",
849
+ "data",
850
+ "v{{version}}",
851
+ "apps",
852
+ "oauth",
853
+ "usage",
854
+ "{{_appId}}",
855
+ "users"
856
+ ],
857
+ "query": [
858
+ {
859
+ "key": "page",
860
+ "value": "0",
861
+ "description": "Page number for the usage information. Defaults to 0."
862
+ },
863
+ {
864
+ "key": "pageSize",
865
+ "value": "100",
866
+ "description": "Number of usage entries per page. Defaults to 100."
867
+ }
868
+ ]
869
+ },
870
+ "description": "Lists all users for the external client app indicated by the app ID. See [OAuth Users by App ID](https://developer.salesforce.com/docs/atlas.en-us.246.0.chatterapi.meta/chatterapi/connect_resources_usage_app_id_users.htm)."
871
+ },
872
+ "response": [
873
+ {
874
+ "name": "Successful OAuth App Users",
875
+ "originalRequest": {
876
+ "method": "GET",
877
+ "header": [
878
+ {
879
+ "key": "Authorization",
880
+ "value": "Bearer <token>",
881
+ "description": "Replace <token> with your access token",
882
+ "type": "text"
883
+ }
884
+ ],
885
+ "url": {
886
+ "raw": "https://login.salesforce.com/services/data/v59.0/apps/oauth/usage//users?page=0&pageSize=100",
887
+ "protocol": "https",
888
+ "host": [
889
+ "login",
890
+ "salesforce",
891
+ "com"
892
+ ],
893
+ "path": [
894
+ "services",
895
+ "data",
896
+ "v59.0",
897
+ "apps",
898
+ "oauth",
899
+ "usage",
900
+ "",
901
+ "users"
902
+ ],
903
+ "query": [
904
+ {
905
+ "key": "page",
906
+ "value": "0",
907
+ "description": "Page number for the usage information. Defaults to 0."
908
+ },
909
+ {
910
+ "key": "pageSize",
911
+ "value": "100",
912
+ "description": "Number of usage entries per page. Defaults to 100."
913
+ }
914
+ ]
915
+ }
916
+ },
917
+ "_postman_previewlanguage": "Text",
918
+ "header": null,
919
+ "cookie": [],
920
+ "body": "{\n \"currentPageUrl\": \"/services/data/<version>/apps/oauth/usage/<identifier>/users?page=0&pageSize=100\",\n \"nextPageUrl\": \"/services/data/<version>/apps/oauth/usage/<identifier>/users?page=1&pageSize=100\",\n \"users\": [\n {\n \"accessTokenFormat\": \"<accessTokenFormat>\",\n \"appDeveloperName\": \"<appDeveloperName>\",\n \"appIdentifier\": \"<identifier>\",\n \"initialConnectionAt\": \"<timestamp>\",\n \"lastUsedAt\": \"<timestamp>\",\n \"revocationUrl\": \"/services/data/<version>/apps/oauth/usage/<identifier>/<userIdentifier>/tokens\",\n \"useCount\": integer,\n \"userIdentifier\": \"<userIdentifier>\",\n \"username\": \"<username>\"\n }\n ]\n}"
921
+ }
922
+ ]
923
+ },
924
+ {
925
+ "name": "OAuth App Users Tokens",
926
+ "request": {
927
+ "auth": {
928
+ "type": "noauth"
929
+ },
930
+ "method": "GET",
931
+ "header": [
932
+ {
933
+ "key": "Authorization",
934
+ "value": "Bearer <token>",
935
+ "description": "Replace <token> with your access token",
936
+ "type": "text"
937
+ }
938
+ ],
939
+ "url": {
940
+ "raw": "{{url}}{{site}}/services/data/v{{version}}/apps/oauth/usage/{{_appId}}/{{_userId}}/tokens",
941
+ "host": [
942
+ "{{url}}{{site}}"
943
+ ],
944
+ "path": [
945
+ "services",
946
+ "data",
947
+ "v{{version}}",
948
+ "apps",
949
+ "oauth",
950
+ "usage",
951
+ "{{_appId}}",
952
+ "{{_userId}}",
953
+ "tokens"
954
+ ]
955
+ },
956
+ "description": "Lists all tokens for a user of the external client app. See [Refresh Token by User and App](https://developer.salesforce.com/docs/atlas.en-us.246.0.chatterapi.meta/chatterapi/connect_resources_usage_app_id_user_id_tokens.htm)."
957
+ },
958
+ "response": [
959
+ {
960
+ "name": "OAuth App Users Tokens",
961
+ "originalRequest": {
962
+ "method": "GET",
963
+ "header": [],
964
+ "url": {
965
+ "raw": "{{url}}{{site}}/services/data/v{{version}}/apps/oauth/usage/{{_appId}}/{{_userId}}/tokens",
966
+ "host": [
967
+ "{{url}}{{site}}"
968
+ ],
969
+ "path": [
970
+ "services",
971
+ "data",
972
+ "v{{version}}",
973
+ "apps",
974
+ "oauth",
975
+ "usage",
976
+ "{{_appId}}",
977
+ "{{_userId}}",
978
+ "tokens"
979
+ ]
980
+ }
981
+ },
982
+ "_postman_previewlanguage": "Text",
983
+ "header": null,
984
+ "cookie": [],
985
+ "body": "{\n \"currentPageUrl\": \"/services/data/<version>/apps/oauth/usage/<identifier>/<userIdentifier>/tokens\",\n \"tokens\": [\n {\n \"accessTokenFormat\": \"<accessTokenFormat>\",\n \"appDeveloperName\": \"<appDeveloperName>\",\n \"appIdentifier\": \"<identifier>\",\n \"initialConnectionAt\": \"<timestamp>\",\n \"lastUsedAt\": \"<timestamp>\",\n \"revocationUrl\": \"/services/data/<version>/apps/oauth/usage/tokens/<tokenIdentifier>\",\n \"useCount\": integer,\n \"userIdentifier\": \"<userIdentifier>\",\n \"username\": \"<username>\"\n }\n ]\n}"
986
+ }
987
+ ]
988
+ },
989
+ {
990
+ "name": "OAuth User Tokens Revoke",
991
+ "request": {
992
+ "auth": {
993
+ "type": "noauth"
994
+ },
995
+ "method": "DELETE",
996
+ "header": [
997
+ {
998
+ "key": "Authorization",
999
+ "value": "Bearer <token>",
1000
+ "description": "Replace <token> with your access token",
1001
+ "type": "text"
1002
+ }
1003
+ ],
1004
+ "url": {
1005
+ "raw": "{{url}}{{site}}/services/data/v{{version}}/apps/oauth/usage/{{_appId}}/{{_userId}}/tokens",
1006
+ "host": [
1007
+ "{{url}}{{site}}"
1008
+ ],
1009
+ "path": [
1010
+ "services",
1011
+ "data",
1012
+ "v{{version}}",
1013
+ "apps",
1014
+ "oauth",
1015
+ "usage",
1016
+ "{{_appId}}",
1017
+ "{{_userId}}",
1018
+ "tokens"
1019
+ ]
1020
+ },
1021
+ "description": "Revokes all tokens for a user of the external client app. See [Refresh Token by User and App](https://developer.salesforce.com/docs/atlas.en-us.246.0.chatterapi.meta/chatterapi/connect_resources_usage_app_id_user_id_tokens.htm)."
1022
+ },
1023
+ "response": []
1024
+ },
1025
+ {
1026
+ "name": "OAuth Tokens Revoke",
1027
+ "request": {
1028
+ "auth": {
1029
+ "type": "noauth"
1030
+ },
1031
+ "method": "DELETE",
1032
+ "header": [
1033
+ {
1034
+ "key": "Authorization",
1035
+ "value": "Bearer <token>",
1036
+ "description": "Replace <token> with your access token",
1037
+ "type": "text"
1038
+ }
1039
+ ],
1040
+ "url": {
1041
+ "raw": "{{url}}{{site}}/services/data/v{{version}}/apps/oauth/usage/{{_appId}}/tokens",
1042
+ "host": [
1043
+ "{{url}}{{site}}"
1044
+ ],
1045
+ "path": [
1046
+ "services",
1047
+ "data",
1048
+ "v{{version}}",
1049
+ "apps",
1050
+ "oauth",
1051
+ "usage",
1052
+ "{{_appId}}",
1053
+ "tokens"
1054
+ ]
1055
+ },
1056
+ "description": "Revokes all tokens available for the external client app. See [Refresh Token by App ID](https://developer.salesforce.com/docs/atlas.en-us.246.0.chatterapi.meta/chatterapi/connect_resources_usage_app_id_tokens.htm)."
1057
+ },
1058
+ "response": []
1059
+ },
1060
+ {
1061
+ "name": "OAuth Token Revoke",
1062
+ "request": {
1063
+ "auth": {
1064
+ "type": "noauth"
1065
+ },
1066
+ "method": "DELETE",
1067
+ "header": [
1068
+ {
1069
+ "key": "Authorization",
1070
+ "value": "Bearer <token>",
1071
+ "description": "Replace <token> with your access token",
1072
+ "type": "text"
1073
+ }
1074
+ ],
1075
+ "url": {
1076
+ "raw": "{{url}}{{site}}/services/data/v{{version}}/apps/oauth/usage/tokens/{{_tokenId}}",
1077
+ "host": [
1078
+ "{{url}}{{site}}"
1079
+ ],
1080
+ "path": [
1081
+ "services",
1082
+ "data",
1083
+ "v{{version}}",
1084
+ "apps",
1085
+ "oauth",
1086
+ "usage",
1087
+ "tokens",
1088
+ "{{_tokenId}}"
1089
+ ]
1090
+ },
1091
+ "description": "Revokes one token. See [OAuth Refresh Token](https://developer.salesforce.com/docs/atlas.en-us.246.0.chatterapi.meta/chatterapi/connect_resources_usage_tokens_token_id.htm)."
1092
+ },
1093
+ "response": []
1094
+ },
1095
+ {
1096
+ "name": "Collections",
1097
+ "request": {
1098
+ "method": "GET",
1099
+ "header": [
1100
+ {
1101
+ "key": "Authorization",
1102
+ "value": "Bearer <token>",
1103
+ "description": "Replace <token> with your access token"
1104
+ }
1105
+ ],
1106
+ "url": {
1107
+ "raw": "{{url}}{{site}}/services/data/v{{version}}/apps/oauth/credentials/{{_appId}}",
1108
+ "host": [
1109
+ "{{url}}{{site}}"
1110
+ ],
1111
+ "path": [
1112
+ "services",
1113
+ "data",
1114
+ "v{{version}}",
1115
+ "apps",
1116
+ "oauth",
1117
+ "credentials",
1118
+ "{{_appId}}"
1119
+ ]
1120
+ },
1121
+ "description": "Returns credentials for all consumers associated with an external client app. See [OAuth Credentials by App ID](https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/connect_resources_credentials_by_app_id.htm)."
1122
+ },
1123
+ "response": []
1124
+ },
1125
+ {
1126
+ "name": "Resources",
1127
+ "request": {
1128
+ "method": "GET",
1129
+ "header": [
1130
+ {
1131
+ "key": "Authorization",
1132
+ "value": "Bearer <token>",
1133
+ "description": "Replace <token> with your access token"
1134
+ }
1135
+ ],
1136
+ "url": {
1137
+ "raw": "{{url}}{{site}}/services/data/v{{version}}/apps/oauth/credentials/{{_appId}}/{{_consumerId}}?part=Key",
1138
+ "host": [
1139
+ "{{url}}{{site}}"
1140
+ ],
1141
+ "path": [
1142
+ "services",
1143
+ "data",
1144
+ "v{{version}}",
1145
+ "apps",
1146
+ "oauth",
1147
+ "credentials",
1148
+ "{{_appId}}",
1149
+ "{{_consumerId}}"
1150
+ ],
1151
+ "query": [
1152
+ {
1153
+ "key": "part",
1154
+ "value": "Key",
1155
+ "description": "Key, Secret, or KeyAndSecret"
1156
+ }
1157
+ ]
1158
+ },
1159
+ "description": "Returns credentials for a specific consumer. Use parameters to determine whether the request should return the key, the secret, or both key and secret. See [OAuth Credentials by Consumer ID](https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/connect_resources_credentials_by_app_and_consumer_id.htm)."
1160
+ },
1161
+ "response": []
1162
+ },
1163
+ {
1164
+ "name": "JWT Bearer Token Flow",
1165
+ "event": [
1166
+ {
1167
+ "listen": "test",
1168
+ "script": {
1169
+ "exec": [
1170
+ "const jsonData = pm.response.json();",
1171
+ "const id = jsonData.id.split('/');",
1172
+ "",
1173
+ "const context = pm.environment.name ? pm.environment : pm.collectionVariables;",
1174
+ "context.set(\"_accessToken\", jsonData.access_token);",
1175
+ "context.set(\"_endpoint\", jsonData.instance_url);",
1176
+ "context.set(\"_userId\", id.pop());",
1177
+ "context.set(\"_orgId\", id.pop());"
1178
+ ],
1179
+ "type": "text/javascript"
1180
+ }
1181
+ }
1182
+ ],
1183
+ "request": {
1184
+ "auth": {
1185
+ "type": "noauth"
1186
+ },
1187
+ "method": "POST",
1188
+ "header": [
1189
+ {
1190
+ "key": "Content-Type",
1191
+ "value": "application/x-www-form-urlencoded"
1192
+ }
1193
+ ],
1194
+ "body": {
1195
+ "mode": "urlencoded",
1196
+ "urlencoded": [
1197
+ {
1198
+ "key": "grant_type",
1199
+ "value": "urn:ietf:params:oauth:grant-type:jwt-bearer",
1200
+ "type": "text"
1201
+ },
1202
+ {
1203
+ "key": "assertion",
1204
+ "value": "",
1205
+ "type": "text"
1206
+ }
1207
+ ]
1208
+ },
1209
+ "url": {
1210
+ "raw": "{{url}}{{site}}/services/oauth2/token",
1211
+ "host": [
1212
+ "{{url}}{{site}}"
1213
+ ],
1214
+ "path": [
1215
+ "services",
1216
+ "oauth2",
1217
+ "token"
1218
+ ]
1219
+ },
1220
+ "description": "JWT Auth"
1221
+ },
1222
+ "response": [
1223
+ {
1224
+ "name": "Successful JWT Bearer Token Flow",
1225
+ "originalRequest": {
1226
+ "method": "POST",
1227
+ "header": [
1228
+ {
1229
+ "key": "Content-Type",
1230
+ "value": "application/x-www-form-urlencoded"
1231
+ }
1232
+ ],
1233
+ "body": {
1234
+ "mode": "urlencoded",
1235
+ "urlencoded": [
1236
+ {
1237
+ "key": "grant_type",
1238
+ "value": "urn:ietf:params:oauth:grant-type:jwt-bearer",
1239
+ "type": "text"
1240
+ },
1241
+ {
1242
+ "key": "assertion",
1243
+ "value": "<token>",
1244
+ "type": "text"
1245
+ }
1246
+ ]
1247
+ },
1248
+ "url": {
1249
+ "raw": "{{url}}{{site}}/services/oauth2/token",
1250
+ "host": [
1251
+ "{{url}}{{site}}"
1252
+ ],
1253
+ "path": [
1254
+ "services",
1255
+ "oauth2",
1256
+ "token"
1257
+ ]
1258
+ }
1259
+ },
1260
+ "status": "OK",
1261
+ "code": 200,
1262
+ "_postman_previewlanguage": "json",
1263
+ "header": [
1264
+ {
1265
+ "key": "Date",
1266
+ "value": "Thu, 05 Oct 2023 12:17:02 GMT"
1267
+ },
1268
+ {
1269
+ "key": "Strict-Transport-Security",
1270
+ "value": "max-age=63072000; includeSubDomains"
1271
+ },
1272
+ {
1273
+ "key": "X-Content-Type-Options",
1274
+ "value": "nosniff"
1275
+ },
1276
+ {
1277
+ "key": "X-XSS-Protection",
1278
+ "value": "1; mode=block"
1279
+ },
1280
+ {
1281
+ "key": "X-Robots-Tag",
1282
+ "value": "none"
1283
+ },
1284
+ {
1285
+ "key": "Cache-Control",
1286
+ "value": "no-cache,must-revalidate,max-age=0,no-store,private"
1287
+ },
1288
+ {
1289
+ "key": "Expires",
1290
+ "value": "Thu, 01 Jan 1970 00:00:00 GMT"
1291
+ },
1292
+ {
1293
+ "key": "Content-Type",
1294
+ "value": "application/json;charset=UTF-8"
1295
+ },
1296
+ {
1297
+ "key": "Vary",
1298
+ "value": "Accept-Encoding"
1299
+ },
1300
+ {
1301
+ "key": "Content-Encoding",
1302
+ "value": "gzip"
1303
+ },
1304
+ {
1305
+ "key": "Transfer-Encoding",
1306
+ "value": "chunked"
1307
+ }
1308
+ ],
1309
+ "cookie": [],
1310
+ "body": "{\n \"access_token\": \"<access_token>\",\n \"scope\": \"web openid api full\",\n \"instance_url\": \"https://<my_domain>\",\n \"id\": \"https://login.salesforce.com/id/00D.../005...\",\n \"token_type\": \"Bearer\"\n}"
1311
+ }
1312
+ ]
1313
+ },
1314
+ {
1315
+ "name": "Username Password Flow",
1316
+ "event": [
1317
+ {
1318
+ "listen": "test",
1319
+ "script": {
1320
+ "exec": [
1321
+ "const jsonData = pm.response.json();",
1322
+ "const id = jsonData.id.split('/');",
1323
+ "",
1324
+ "const context = pm.environment.name ? pm.environment : pm.collectionVariables;",
1325
+ "context.set(\"_accessToken\", jsonData.access_token);",
1326
+ "context.set(\"_endpoint\", jsonData.instance_url);",
1327
+ "context.set(\"_userId\", id.pop());",
1328
+ "context.set(\"_orgId\", id.pop());",
1329
+ ""
1330
+ ],
1331
+ "type": "text/javascript"
1332
+ }
1333
+ }
1334
+ ],
1335
+ "request": {
1336
+ "auth": {
1337
+ "type": "noauth"
1338
+ },
1339
+ "method": "POST",
1340
+ "header": [
1341
+ {
1342
+ "key": "Content-Type",
1343
+ "value": "application/x-www-form-urlencoded"
1344
+ },
1345
+ {
1346
+ "key": "Accept",
1347
+ "value": "application/json",
1348
+ "type": "text"
1349
+ }
1350
+ ],
1351
+ "body": {
1352
+ "mode": "urlencoded",
1353
+ "urlencoded": [
1354
+ {
1355
+ "key": "grant_type",
1356
+ "value": "password",
1357
+ "type": "text"
1358
+ },
1359
+ {
1360
+ "key": "client_id",
1361
+ "value": "{{clientId}}",
1362
+ "type": "text"
1363
+ },
1364
+ {
1365
+ "key": "client_secret",
1366
+ "value": "{{clientSecret}}",
1367
+ "type": "text"
1368
+ },
1369
+ {
1370
+ "key": "username",
1371
+ "value": "{{username}}",
1372
+ "type": "text"
1373
+ },
1374
+ {
1375
+ "key": "password",
1376
+ "value": "{{password}}{{secretToken}}",
1377
+ "type": "text"
1378
+ }
1379
+ ]
1380
+ },
1381
+ "url": {
1382
+ "raw": "{{url}}{{site}}/services/oauth2/token",
1383
+ "host": [
1384
+ "{{url}}{{site}}"
1385
+ ],
1386
+ "path": [
1387
+ "services",
1388
+ "oauth2",
1389
+ "token"
1390
+ ]
1391
+ }
1392
+ },
1393
+ "response": [
1394
+ {
1395
+ "name": "Successful OAuth Username Password Login",
1396
+ "originalRequest": {
1397
+ "method": "POST",
1398
+ "header": [
1399
+ {
1400
+ "key": "Content-Type",
1401
+ "value": "application/x-www-form-urlencoded"
1402
+ },
1403
+ {
1404
+ "key": "Accept",
1405
+ "value": "application/json",
1406
+ "type": "text"
1407
+ }
1408
+ ],
1409
+ "body": {
1410
+ "mode": "urlencoded",
1411
+ "urlencoded": [
1412
+ {
1413
+ "key": "grant_type",
1414
+ "value": "password",
1415
+ "type": "text"
1416
+ },
1417
+ {
1418
+ "key": "client_id",
1419
+ "value": "CLIENT_ID_GOES_HERE",
1420
+ "type": "text"
1421
+ },
1422
+ {
1423
+ "key": "client_secret",
1424
+ "value": "CLIENT_SECRET_GOES_HERE",
1425
+ "type": "text"
1426
+ },
1427
+ {
1428
+ "key": "username",
1429
+ "value": "demo@pozil.org",
1430
+ "type": "text"
1431
+ },
1432
+ {
1433
+ "key": "password",
1434
+ "value": "PASSWORD_AND_SECURITY_TOKEN_GO_HERE",
1435
+ "type": "text"
1436
+ }
1437
+ ]
1438
+ },
1439
+ "url": {
1440
+ "raw": "https://login.salesforce.com/services/oauth2/token",
1441
+ "protocol": "https",
1442
+ "host": [
1443
+ "login",
1444
+ "salesforce",
1445
+ "com"
1446
+ ],
1447
+ "path": [
1448
+ "services",
1449
+ "oauth2",
1450
+ "token"
1451
+ ]
1452
+ }
1453
+ },
1454
+ "status": "OK",
1455
+ "code": 200,
1456
+ "_postman_previewlanguage": "json",
1457
+ "header": [
1458
+ {
1459
+ "key": "Date",
1460
+ "value": "Wed, 06 Jan 2021 14:16:55 GMT"
1461
+ },
1462
+ {
1463
+ "key": "Strict-Transport-Security",
1464
+ "value": "max-age=31536002; includeSubDomains"
1465
+ },
1466
+ {
1467
+ "key": "Public-Key-Pins-Report-Only",
1468
+ "value": "pin-sha256=\"9n0izTnSRF+W4W4WhQB8duS2bxVLfzXsY=\"; pin-sha256=\"5kJvNEMw0KjrCAu7eXY5HZdvSP91w=\"; pin-sha256=\"njN4rRG+zPUPHlv4+foULwl1g=\"; max-age=86400; includeSubDomains; report-uri=\"https://a.forcesslreports.com/hpkp-report/00D58000000arpqm\";"
1469
+ },
1470
+ {
1471
+ "key": "Expect-CT",
1472
+ "value": "max-age=86400, report-uri=\"https://a.forcesslreports.com/Expect-CT-report/00D58000000arpqm\""
1473
+ },
1474
+ {
1475
+ "key": "X-Robots-Tag",
1476
+ "value": "none"
1477
+ },
1478
+ {
1479
+ "key": "X-B3-TraceId",
1480
+ "value": "c21e47e40ecc875d"
1481
+ },
1482
+ {
1483
+ "key": "X-B3-SpanId",
1484
+ "value": "c21e47e40ecc875d"
1485
+ },
1486
+ {
1487
+ "key": "X-B3-Sampled",
1488
+ "value": "0"
1489
+ },
1490
+ {
1491
+ "key": "Cache-Control",
1492
+ "value": "no-cache,must-revalidate,max-age=0,no-store,private"
1493
+ },
1494
+ {
1495
+ "key": "Expires",
1496
+ "value": "Thu, 01 Jan 1970 00:00:00 GMT"
1497
+ },
1498
+ {
1499
+ "key": "X-ReadOnlyMode",
1500
+ "value": "false"
1501
+ },
1502
+ {
1503
+ "key": "Content-Type",
1504
+ "value": "application/json;charset=UTF-8"
1505
+ },
1506
+ {
1507
+ "key": "Vary",
1508
+ "value": "Accept-Encoding"
1509
+ },
1510
+ {
1511
+ "key": "Content-Encoding",
1512
+ "value": "gzip"
1513
+ },
1514
+ {
1515
+ "key": "Transfer-Encoding",
1516
+ "value": "chunked"
1517
+ }
1518
+ ],
1519
+ "cookie": [],
1520
+ "body": "{\n \"access_token\": \"ACCESS_TOKEN_GOES_HERE\",\n \"instance_url\": \"https://pozil-dev-ed.my.salesforce.com\",\n \"id\": \"https://login.salesforce.com/id/00D58000000arpqEAA/00558000000yFyDAAU\",\n \"token_type\": \"Bearer\",\n \"issued_at\": \"1609942615640\",\n \"signature\": \"SIGNATURE_GOES_HERE\"\n}"
1521
+ }
1522
+ ]
1523
+ },
1524
+ {
1525
+ "name": "User Agent Flow",
1526
+ "event": [
1527
+ {
1528
+ "listen": "test",
1529
+ "script": {
1530
+ "exec": [
1531
+ "const jsonData = pm.response.json();",
1532
+ "const id = jsonData.id.split('/');",
1533
+ "",
1534
+ "const context = pm.environment.name ? pm.environment : pm.collectionVariables;",
1535
+ "context.set(\"_accessToken\", jsonData.access_token);",
1536
+ "context.set(\"_refreshToken\", jsonData.refresh_token);",
1537
+ "context.set(\"_endpoint\", jsonData.instance_url);",
1538
+ "context.set(\"_userId\", id.pop());",
1539
+ "context.set(\"_orgId\", id.pop());"
1540
+ ],
1541
+ "type": "text/javascript"
1542
+ }
1543
+ }
1544
+ ],
1545
+ "request": {
1546
+ "auth": {
1547
+ "type": "noauth"
1548
+ },
1549
+ "method": "GET",
1550
+ "header": [],
1551
+ "url": {
1552
+ "raw": "{{url}}{{site}}/services/oauth2/authorize?response_type=token&client_id={{clientId}}&redirect_uri={{redirectUrl}}&display=touch&login_hint=&nonce=awesome",
1553
+ "host": [
1554
+ "{{url}}{{site}}"
1555
+ ],
1556
+ "path": [
1557
+ "services",
1558
+ "oauth2",
1559
+ "authorize"
1560
+ ],
1561
+ "query": [
1562
+ {
1563
+ "key": "response_type",
1564
+ "value": "token"
1565
+ },
1566
+ {
1567
+ "key": "client_id",
1568
+ "value": "{{clientId}}"
1569
+ },
1570
+ {
1571
+ "key": "redirect_uri",
1572
+ "value": "{{redirectUrl}}"
1573
+ },
1574
+ {
1575
+ "key": "display",
1576
+ "value": "touch"
1577
+ },
1578
+ {
1579
+ "key": "login_hint",
1580
+ "value": ""
1581
+ },
1582
+ {
1583
+ "key": "nonce",
1584
+ "value": "awesome"
1585
+ }
1586
+ ]
1587
+ }
1588
+ },
1589
+ "response": [
1590
+ {
1591
+ "name": "Successful User Agent Flow",
1592
+ "originalRequest": {
1593
+ "method": "GET",
1594
+ "header": [],
1595
+ "url": {
1596
+ "raw": "{{url}}{{site}}/services/oauth2/authorize?response_type=token&client_id={{clientId}}&redirect_uri={{redirectUrl}}&display=touch&login_hint&nonce=awesome",
1597
+ "host": [
1598
+ "{{url}}{{site}}"
1599
+ ],
1600
+ "path": [
1601
+ "services",
1602
+ "oauth2",
1603
+ "authorize"
1604
+ ],
1605
+ "query": [
1606
+ {
1607
+ "key": "response_type",
1608
+ "value": "token"
1609
+ },
1610
+ {
1611
+ "key": "client_id",
1612
+ "value": "{{clientId}}"
1613
+ },
1614
+ {
1615
+ "key": "redirect_uri",
1616
+ "value": "{{redirectUrl}}"
1617
+ },
1618
+ {
1619
+ "key": "display",
1620
+ "value": "touch"
1621
+ },
1622
+ {
1623
+ "key": "login_hint",
1624
+ "value": null
1625
+ },
1626
+ {
1627
+ "key": "nonce",
1628
+ "value": "awesome"
1629
+ }
1630
+ ]
1631
+ }
1632
+ },
1633
+ "status": "OK",
1634
+ "code": 200,
1635
+ "_postman_previewlanguage": "html",
1636
+ "header": [
1637
+ {
1638
+ "key": "Strict-Transport-Security",
1639
+ "value": "max-age=63072000; includeSubDomains"
1640
+ },
1641
+ {
1642
+ "key": "X-Content-Type-Options",
1643
+ "value": "nosniff"
1644
+ },
1645
+ {
1646
+ "key": "X-XSS-Protection",
1647
+ "value": "1; mode=block"
1648
+ },
1649
+ {
1650
+ "key": "Content-Security-Policy",
1651
+ "value": "upgrade-insecure-requests"
1652
+ },
1653
+ {
1654
+ "key": "X-Robots-Tag",
1655
+ "value": "none"
1656
+ },
1657
+ {
1658
+ "key": "Cache-Control",
1659
+ "value": "must-revalidate,no-cache,no-store"
1660
+ },
1661
+ {
1662
+ "key": "Content-Type",
1663
+ "value": "text/html; charset=UTF-8"
1664
+ },
1665
+ {
1666
+ "key": "Vary",
1667
+ "value": "Accept-Encoding"
1668
+ },
1669
+ {
1670
+ "key": "Content-Encoding",
1671
+ "value": "gzip"
1672
+ },
1673
+ {
1674
+ "key": "Connection",
1675
+ "value": "close"
1676
+ }
1677
+ ],
1678
+ "cookie": [],
1679
+ "body": "\n\n\n<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n <head>\n <meta HTTP-EQUIV=\"PRAGMA\" CONTENT=\"NO-CACHE\">\n <script>\nfunction redirectOnLoad() {\nif (this.SfdcApp && this.SfdcApp.projectOneNavigator) { SfdcApp.projectOneNavigator.handleRedirect('<my-domain>?ec=302&startURL=%2Fsetup%2Fsecur%2FRemoteAccessAuthorizationPage.apexp%3Fsource%3D<token>%26display%3Dtouch&display=touch'); } else \nif (window.location.replace){ \nwindow.location.replace('<my-domain>>?ec=302&startURL=%2Fsetup%2Fsecur%2FRemoteAccessAuthorizationPage.apexp%3Fsource%3D<token>%26display%3Dtouch&display=touch');\n} else {\nwindow.location.href ='<my-domain>>?ec=302&startURL=%2Fsetup%2Fsecur%2FRemoteAccessAuthorizationPage.apexp%3Fsource%3D<token>%26display%3Dtouch&display=touch';\n} \n} \nredirectOnLoad();\n</script>\n </head>\n</html>\n<!-- Body events -->\n<script type=\"text/javascript\">function bodyOnLoad(){if(window.PreferenceBits){window.PreferenceBits.prototype.csrfToken=\"null\";};}function bodyOnBeforeUnload(){}function bodyOnFocus(){}function bodyOnUnload(){}</script>\n</body>\n</html>\n<!--\n...................................................................................................\n...................................................................................................\n...................................................................................................\n...................................................................................................\n-->\n"
1680
+ }
1681
+ ]
1682
+ },
1683
+ {
1684
+ "name": "Web Server Flow 1",
1685
+ "request": {
1686
+ "auth": {
1687
+ "type": "noauth"
1688
+ },
1689
+ "method": "GET",
1690
+ "header": [],
1691
+ "url": {
1692
+ "raw": "{{url}}{{site}}/services/oauth2/authorize?response_type=code&client_id={{clientId}}&redirect_uri={{redirectUrl}}&scope=full refresh_token",
1693
+ "host": [
1694
+ "{{url}}{{site}}"
1695
+ ],
1696
+ "path": [
1697
+ "services",
1698
+ "oauth2",
1699
+ "authorize"
1700
+ ],
1701
+ "query": [
1702
+ {
1703
+ "key": "response_type",
1704
+ "value": "code"
1705
+ },
1706
+ {
1707
+ "key": "client_id",
1708
+ "value": "{{clientId}}"
1709
+ },
1710
+ {
1711
+ "key": "redirect_uri",
1712
+ "value": "{{redirectUrl}}"
1713
+ },
1714
+ {
1715
+ "key": "scope",
1716
+ "value": "full refresh_token"
1717
+ }
1718
+ ]
1719
+ }
1720
+ },
1721
+ "response": [
1722
+ {
1723
+ "name": "Successful Web Server Flow 1",
1724
+ "originalRequest": {
1725
+ "method": "GET",
1726
+ "header": [],
1727
+ "url": {
1728
+ "raw": "{{url}}{{site}}/services/oauth2/authorize?response_type=code&client_id={{clientId}}&redirect_uri={{redirectUrl}}&scope=full refresh_token",
1729
+ "host": [
1730
+ "{{url}}{{site}}"
1731
+ ],
1732
+ "path": [
1733
+ "services",
1734
+ "oauth2",
1735
+ "authorize"
1736
+ ],
1737
+ "query": [
1738
+ {
1739
+ "key": "response_type",
1740
+ "value": "code"
1741
+ },
1742
+ {
1743
+ "key": "client_id",
1744
+ "value": "{{clientId}}"
1745
+ },
1746
+ {
1747
+ "key": "redirect_uri",
1748
+ "value": "{{redirectUrl}}"
1749
+ },
1750
+ {
1751
+ "key": "scope",
1752
+ "value": "full refresh_token"
1753
+ }
1754
+ ]
1755
+ }
1756
+ },
1757
+ "status": "OK",
1758
+ "code": 200,
1759
+ "_postman_previewlanguage": "html",
1760
+ "header": [
1761
+ {
1762
+ "key": "Strict-Transport-Security",
1763
+ "value": "max-age=63072000; includeSubDomains"
1764
+ },
1765
+ {
1766
+ "key": "X-Content-Type-Options",
1767
+ "value": "nosniff"
1768
+ },
1769
+ {
1770
+ "key": "X-XSS-Protection",
1771
+ "value": "1; mode=block"
1772
+ },
1773
+ {
1774
+ "key": "Content-Security-Policy",
1775
+ "value": "upgrade-insecure-requests"
1776
+ },
1777
+ {
1778
+ "key": "X-Robots-Tag",
1779
+ "value": "none"
1780
+ },
1781
+ {
1782
+ "key": "Cache-Control",
1783
+ "value": "must-revalidate,no-cache,no-store"
1784
+ },
1785
+ {
1786
+ "key": "Content-Type",
1787
+ "value": "text/html; charset=UTF-8"
1788
+ },
1789
+ {
1790
+ "key": "Vary",
1791
+ "value": "Accept-Encoding"
1792
+ },
1793
+ {
1794
+ "key": "Content-Encoding",
1795
+ "value": "gzip"
1796
+ },
1797
+ {
1798
+ "key": "Connection",
1799
+ "value": "close"
1800
+ }
1801
+ ],
1802
+ "cookie": [],
1803
+ "body": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n\n<head>\n\t<meta HTTP-EQUIV=\"PRAGMA\" CONTENT=\"NO-CACHE\">\n\n\n\n\n\n\t<script>\n\t\tfunction redirectOnLoad() {\nif (this.SfdcApp && this.SfdcApp.projectOneNavigator) { SfdcApp.projectOneNavigator.handleRedirect('<my-domain>?ec=302&startURL=%2Fsetup%2Fsecur%2FRemoteAccessAuthorizationPage.apexp%3Fsource%3D<token>'); } else \nif (window.location.replace){ \nwindow.location.replace('<my-domain>?ec=302&startURL=%2Fsetup%2Fsecur%2FRemoteAccessAuthorizationPage.apexp%3Fsource%3D<token>');\n} else {\nwindow.location.href ='<my-domain>?ec=302&startURL=%2Fsetup%2Fsecur%2FRemoteAccessAuthorizationPage.apexp%3Fsource%3D<token>';\n} \n} \nredirectOnLoad();\n\t</script>\n\n</head>\n\n\n</html>\n\n\n\n\n\n<!-- Body events -->\n<script type=\"text/javascript\">\n\tfunction bodyOnLoad(){if(window.PreferenceBits){window.PreferenceBits.prototype.csrfToken=\"null\";};}function bodyOnBeforeUnload(){}function bodyOnFocus(){}function bodyOnUnload(){}\n</script>\n\n</body>\n\n</html>\n\n\n<!--\n...................................................................................................\n...................................................................................................\n...................................................................................................\n...................................................................................................\n-->"
1804
+ }
1805
+ ]
1806
+ },
1807
+ {
1808
+ "name": "Web Server Flow 2",
1809
+ "event": [
1810
+ {
1811
+ "listen": "test",
1812
+ "script": {
1813
+ "exec": [
1814
+ "const jsonData = pm.response.json();",
1815
+ "const id = jsonData.id.split('/');",
1816
+ "",
1817
+ "const context = pm.environment.name ? pm.environment : pm.collectionVariables;",
1818
+ "context.set(\"_accessToken\", jsonData.access_token);",
1819
+ "context.set(\"_refreshToken\", jsonData.refresh_token);",
1820
+ "context.set(\"_endpoint\", jsonData.instance_url);",
1821
+ "context.set(\"_userId\", id.pop());",
1822
+ "context.set(\"_orgId\", id.pop());"
1823
+ ],
1824
+ "type": "text/javascript"
1825
+ }
1826
+ }
1827
+ ],
1828
+ "request": {
1829
+ "auth": {
1830
+ "type": "noauth"
1831
+ },
1832
+ "method": "POST",
1833
+ "header": [],
1834
+ "body": {
1835
+ "mode": "formdata",
1836
+ "formdata": [
1837
+ {
1838
+ "key": "code",
1839
+ "value": "",
1840
+ "type": "text"
1841
+ },
1842
+ {
1843
+ "key": "grant_type",
1844
+ "value": "authorization_code",
1845
+ "type": "text"
1846
+ },
1847
+ {
1848
+ "key": "client_id",
1849
+ "value": "{{clientId}}",
1850
+ "type": "text"
1851
+ },
1852
+ {
1853
+ "key": "client_secret",
1854
+ "value": "{{clientSecret}}",
1855
+ "type": "text"
1856
+ },
1857
+ {
1858
+ "key": "redirect_uri",
1859
+ "value": "{{redirectUrl}}",
1860
+ "type": "text"
1861
+ },
1862
+ {
1863
+ "key": "format",
1864
+ "value": "json",
1865
+ "type": "text"
1866
+ }
1867
+ ]
1868
+ },
1869
+ "url": {
1870
+ "raw": "{{url}}{{site}}/services/oauth2/token",
1871
+ "host": [
1872
+ "{{url}}{{site}}"
1873
+ ],
1874
+ "path": [
1875
+ "services",
1876
+ "oauth2",
1877
+ "token"
1878
+ ]
1879
+ }
1880
+ },
1881
+ "response": [
1882
+ {
1883
+ "name": "Successful Web Server Flow 2",
1884
+ "originalRequest": {
1885
+ "method": "POST",
1886
+ "header": [],
1887
+ "body": {
1888
+ "mode": "formdata",
1889
+ "formdata": [
1890
+ {
1891
+ "key": "code",
1892
+ "value": "aPrx4y_KzscWzywk1LwqIbwyH4R7DKoV5gLaVF87dSTTysEc8e9pu1f5azVNSsws2MruIV4I0A==",
1893
+ "type": "text"
1894
+ },
1895
+ {
1896
+ "key": "grant_type",
1897
+ "value": "authorization_code",
1898
+ "type": "text"
1899
+ },
1900
+ {
1901
+ "key": "client_id",
1902
+ "value": "{{clientId}}",
1903
+ "type": "text"
1904
+ },
1905
+ {
1906
+ "key": "client_secret",
1907
+ "value": "{{clientSecret}}",
1908
+ "type": "text"
1909
+ },
1910
+ {
1911
+ "key": "redirect_uri",
1912
+ "value": "{{redirectUrl}}",
1913
+ "type": "text"
1914
+ },
1915
+ {
1916
+ "key": "format",
1917
+ "value": "json",
1918
+ "type": "text"
1919
+ }
1920
+ ]
1921
+ },
1922
+ "url": {
1923
+ "raw": "{{url}}{{site}}/services/oauth2/token",
1924
+ "host": [
1925
+ "{{url}}{{site}}"
1926
+ ],
1927
+ "path": [
1928
+ "services",
1929
+ "oauth2",
1930
+ "token"
1931
+ ]
1932
+ }
1933
+ },
1934
+ "status": "OK",
1935
+ "code": 200,
1936
+ "_postman_previewlanguage": "json",
1937
+ "header": [
1938
+ {
1939
+ "key": "Date",
1940
+ "value": "Wed, 04 Oct 2023 16:25:30 GMT"
1941
+ },
1942
+ {
1943
+ "key": "Strict-Transport-Security",
1944
+ "value": "max-age=63072000; includeSubDomains"
1945
+ },
1946
+ {
1947
+ "key": "X-Content-Type-Options",
1948
+ "value": "nosniff"
1949
+ },
1950
+ {
1951
+ "key": "X-XSS-Protection",
1952
+ "value": "1; mode=block"
1953
+ },
1954
+ {
1955
+ "key": "X-Robots-Tag",
1956
+ "value": "none"
1957
+ },
1958
+ {
1959
+ "key": "Cache-Control",
1960
+ "value": "no-cache,must-revalidate,max-age=0,no-store,private"
1961
+ },
1962
+ {
1963
+ "key": "Expires",
1964
+ "value": "Thu, 01 Jan 1970 00:00:00 GMT"
1965
+ },
1966
+ {
1967
+ "key": "Content-Type",
1968
+ "value": "application/json;charset=UTF-8"
1969
+ },
1970
+ {
1971
+ "key": "Vary",
1972
+ "value": "Accept-Encoding"
1973
+ },
1974
+ {
1975
+ "key": "Content-Encoding",
1976
+ "value": "gzip"
1977
+ },
1978
+ {
1979
+ "key": "Transfer-Encoding",
1980
+ "value": "chunked"
1981
+ }
1982
+ ],
1983
+ "cookie": [],
1984
+ "body": "{\n \"access_token\": \"<access_token>\",\n \"refresh_token\": \"<refresh_token>\",\n \"signature\": \"<base64>\",\n \"scope\": \"refresh_token full\",\n \"id_token\": \"<id_token>\",\n \"instance_url\": \"<my_domain>\",\n \"id\": \"https://login.salesforce.com/id/00D.../005...\",\n \"token_type\": \"Bearer\",\n \"issued_at\": \"<timestamp>\"\n}"
1985
+ }
1986
+ ]
1987
+ },
1988
+ {
1989
+ "name": "Client Credentials Flow",
1990
+ "event": [
1991
+ {
1992
+ "listen": "test",
1993
+ "script": {
1994
+ "exec": [
1995
+ "const jsonData = pm.response.json();",
1996
+ "",
1997
+ "if(!jsonData.error){",
1998
+ " const id = jsonData.id.split('/');",
1999
+ " const context = pm.environment.name ? pm.environment : pm.collectionVariables;",
2000
+ " context.set(\"_accessToken\", jsonData.access_token);",
2001
+ " context.set(\"_endpoint\", jsonData.instance_url);",
2002
+ " context.set(\"_userId\", id.pop());",
2003
+ " context.set(\"_orgId\", id.pop());",
2004
+ "}"
2005
+ ],
2006
+ "type": "text/javascript"
2007
+ }
2008
+ }
2009
+ ],
2010
+ "protocolProfileBehavior": {
2011
+ "disableCookies": true
2012
+ },
2013
+ "request": {
2014
+ "auth": {
2015
+ "type": "noauth"
2016
+ },
2017
+ "method": "POST",
2018
+ "header": [
2019
+ {
2020
+ "key": "Content-Type",
2021
+ "value": "application/x-www-form-urlencoded"
2022
+ }
2023
+ ],
2024
+ "body": {
2025
+ "mode": "urlencoded",
2026
+ "urlencoded": [
2027
+ {
2028
+ "key": "grant_type",
2029
+ "value": "client_credentials",
2030
+ "type": "text"
2031
+ },
2032
+ {
2033
+ "key": "client_id",
2034
+ "value": "{{clientId}}",
2035
+ "type": "text"
2036
+ },
2037
+ {
2038
+ "key": "client_secret",
2039
+ "value": "{{clientSecret}}",
2040
+ "type": "text"
2041
+ }
2042
+ ]
2043
+ },
2044
+ "url": {
2045
+ "raw": "{{url}}{{site}}/services/oauth2/token",
2046
+ "host": [
2047
+ "{{url}}{{site}}"
2048
+ ],
2049
+ "path": [
2050
+ "services",
2051
+ "oauth2",
2052
+ "token"
2053
+ ]
2054
+ }
2055
+ },
2056
+ "response": [
2057
+ {
2058
+ "name": "Successful Client Credentials Flow",
2059
+ "originalRequest": {
2060
+ "method": "POST",
2061
+ "header": [
2062
+ {
2063
+ "key": "Content-Type",
2064
+ "value": "application/x-www-form-urlencoded"
2065
+ }
2066
+ ],
2067
+ "body": {
2068
+ "mode": "urlencoded",
2069
+ "urlencoded": [
2070
+ {
2071
+ "key": "grant_type",
2072
+ "value": "client_credentials",
2073
+ "type": "text"
2074
+ },
2075
+ {
2076
+ "key": "client_id",
2077
+ "value": "{{clientId}}",
2078
+ "type": "text"
2079
+ },
2080
+ {
2081
+ "key": "client_secret",
2082
+ "value": "{{clientSecret}}",
2083
+ "type": "text"
2084
+ }
2085
+ ]
2086
+ },
2087
+ "url": {
2088
+ "raw": "{{url}}{{site}}/services/oauth2/token",
2089
+ "host": [
2090
+ "{{url}}{{site}}"
2091
+ ],
2092
+ "path": [
2093
+ "services",
2094
+ "oauth2",
2095
+ "token"
2096
+ ]
2097
+ }
2098
+ },
2099
+ "status": "OK",
2100
+ "code": 200,
2101
+ "_postman_previewlanguage": "json",
2102
+ "header": [
2103
+ {
2104
+ "key": "Date",
2105
+ "value": "Thu, 16 Nov 2023 15:26:23 GMT"
2106
+ },
2107
+ {
2108
+ "key": "Set-Cookie",
2109
+ "value": "CookieConsentPolicy=0:1; path=/; expires=Fri, 15-Nov-2024 15:26:23 GMT; Max-Age=31536000"
2110
+ },
2111
+ {
2112
+ "key": "Set-Cookie",
2113
+ "value": "LSKey-c$CookieConsentPolicy=0:1; path=/; expires=Fri, 15-Nov-2024 15:26:23 GMT; Max-Age=31536000"
2114
+ },
2115
+ {
2116
+ "key": "Set-Cookie",
2117
+ "value": "BrowserId=gGlhuoSUEe6Srxe0Wza6Uw; domain=.salesforce.com; path=/; expires=Fri, 15-Nov-2024 15:26:23 GMT; Max-Age=31536000"
2118
+ },
2119
+ {
2120
+ "key": "Strict-Transport-Security",
2121
+ "value": "max-age=63072000; includeSubDomains"
2122
+ },
2123
+ {
2124
+ "key": "X-Content-Type-Options",
2125
+ "value": "nosniff"
2126
+ },
2127
+ {
2128
+ "key": "X-XSS-Protection",
2129
+ "value": "1; mode=block"
2130
+ },
2131
+ {
2132
+ "key": "X-Robots-Tag",
2133
+ "value": "none"
2134
+ },
2135
+ {
2136
+ "key": "Cache-Control",
2137
+ "value": "no-cache,must-revalidate,max-age=0,no-store,private"
2138
+ },
2139
+ {
2140
+ "key": "Expires",
2141
+ "value": "Thu, 01 Jan 1970 00:00:00 GMT"
2142
+ },
2143
+ {
2144
+ "key": "Content-Type",
2145
+ "value": "application/json;charset=UTF-8"
2146
+ },
2147
+ {
2148
+ "key": "Vary",
2149
+ "value": "Accept-Encoding"
2150
+ },
2151
+ {
2152
+ "key": "Content-Encoding",
2153
+ "value": "gzip"
2154
+ },
2155
+ {
2156
+ "key": "Transfer-Encoding",
2157
+ "value": "chunked"
2158
+ }
2159
+ ],
2160
+ "cookie": [],
2161
+ "body": "{\n \"access_token\": \"<access_token>\",\n \"signature\": \"<signature>\",\n \"scope\": \"<scope list>\",\n \"instance_url\": \"https://<my_domain>\",\n \"id\": \"https://login.salesforce.com/id/00D.../005...\",\n \"token_type\": \"Bearer\",\n \"issued_at\": \"<timestamp>\",\n \"api_instance_url\": \"https://api.salesforce.com\"\n}"
2162
+ }
2163
+ ]
2164
+ },
2165
+ {
2166
+ "name": "Client Credentials Flow - basic authorization header",
2167
+ "event": [
2168
+ {
2169
+ "listen": "test",
2170
+ "script": {
2171
+ "exec": [
2172
+ "const jsonData = pm.response.json();",
2173
+ "",
2174
+ "if(!jsonData.error){",
2175
+ " const id = jsonData.id.split('/');",
2176
+ " const context = pm.environment.name ? pm.environment : pm.collectionVariables;",
2177
+ " context.set(\"_accessToken\", jsonData.access_token);",
2178
+ " context.set(\"_endpoint\", jsonData.instance_url);",
2179
+ " context.set(\"_userId\", id.pop());",
2180
+ " context.set(\"_orgId\", id.pop());",
2181
+ "}"
2182
+ ],
2183
+ "type": "text/javascript"
2184
+ }
2185
+ },
2186
+ {
2187
+ "listen": "prerequest",
2188
+ "script": {
2189
+ "exec": [
2190
+ "const context = pm.environment.name ? pm.environment : pm.collectionVariables;",
2191
+ "",
2192
+ "const basicAuth = context.get(\"clientId\") + \":\" + context.get(\"clientSecret\");",
2193
+ "const basicAuthEncoded = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(basicAuth));",
2194
+ "",
2195
+ "pm.environment.set(\"clientCredential_basicAuthEncoded\", basicAuthEncoded);"
2196
+ ],
2197
+ "type": "text/javascript"
2198
+ }
2199
+ }
2200
+ ],
2201
+ "protocolProfileBehavior": {
2202
+ "disableCookies": true
2203
+ },
2204
+ "request": {
2205
+ "auth": {
2206
+ "type": "noauth"
2207
+ },
2208
+ "method": "POST",
2209
+ "header": [
2210
+ {
2211
+ "key": "Content-Type",
2212
+ "value": "application/x-www-form-urlencoded"
2213
+ },
2214
+ {
2215
+ "key": "Authorization",
2216
+ "value": "Basic {{clientCredential_basicAuthEncoded}}",
2217
+ "description": "Base64 encoded basic credentials (see pre-request script)"
2218
+ }
2219
+ ],
2220
+ "body": {
2221
+ "mode": "urlencoded",
2222
+ "urlencoded": [
2223
+ {
2224
+ "key": "grant_type",
2225
+ "value": "client_credentials",
2226
+ "type": "text"
2227
+ },
2228
+ {
2229
+ "key": "client_id",
2230
+ "value": "{{clientId}}",
2231
+ "type": "text",
2232
+ "disabled": true
2233
+ },
2234
+ {
2235
+ "key": "client_secret",
2236
+ "value": "{{clientSecret}}",
2237
+ "type": "text",
2238
+ "disabled": true
2239
+ }
2240
+ ]
2241
+ },
2242
+ "url": {
2243
+ "raw": "{{url}}{{site}}/services/oauth2/token",
2244
+ "host": [
2245
+ "{{url}}{{site}}"
2246
+ ],
2247
+ "path": [
2248
+ "services",
2249
+ "oauth2",
2250
+ "token"
2251
+ ]
2252
+ }
2253
+ },
2254
+ "response": [
2255
+ {
2256
+ "name": "Successful Client Credentials Flow - basic authorization header",
2257
+ "originalRequest": {
2258
+ "method": "POST",
2259
+ "header": [
2260
+ {
2261
+ "key": "Content-Type",
2262
+ "value": "application/x-www-form-urlencoded"
2263
+ },
2264
+ {
2265
+ "key": "Authorization",
2266
+ "value": "Basic {{clientCredential_basicAuthEncoded}}",
2267
+ "description": "Base64 encoded basic credentials (see pre-request script)"
2268
+ }
2269
+ ],
2270
+ "body": {
2271
+ "mode": "urlencoded",
2272
+ "urlencoded": [
2273
+ {
2274
+ "key": "grant_type",
2275
+ "value": "client_credentials",
2276
+ "type": "text"
2277
+ },
2278
+ {
2279
+ "key": "client_id",
2280
+ "value": "{{clientId}}",
2281
+ "type": "text",
2282
+ "disabled": true
2283
+ },
2284
+ {
2285
+ "key": "client_secret",
2286
+ "value": "{{clientSecret}}",
2287
+ "type": "text",
2288
+ "disabled": true
2289
+ }
2290
+ ]
2291
+ },
2292
+ "url": {
2293
+ "raw": "{{url}}{{site}}/services/oauth2/token",
2294
+ "host": [
2295
+ "{{url}}{{site}}"
2296
+ ],
2297
+ "path": [
2298
+ "services",
2299
+ "oauth2",
2300
+ "token"
2301
+ ]
2302
+ }
2303
+ },
2304
+ "status": "OK",
2305
+ "code": 200,
2306
+ "_postman_previewlanguage": "json",
2307
+ "header": [
2308
+ {
2309
+ "key": "Date",
2310
+ "value": "Thu, 16 Nov 2023 15:29:08 GMT"
2311
+ },
2312
+ {
2313
+ "key": "Set-Cookie",
2314
+ "value": "CookieConsentPolicy=0:1; path=/; expires=Fri, 15-Nov-2024 15:29:08 GMT; Max-Age=31536000"
2315
+ },
2316
+ {
2317
+ "key": "Set-Cookie",
2318
+ "value": "LSKey-c$CookieConsentPolicy=0:1; path=/; expires=Fri, 15-Nov-2024 15:29:08 GMT; Max-Age=31536000"
2319
+ },
2320
+ {
2321
+ "key": "Set-Cookie",
2322
+ "value": "BrowserId=4pAG8YSUEe6FQrcdNvkArw; domain=.salesforce.com; path=/; expires=Fri, 15-Nov-2024 15:29:08 GMT; Max-Age=31536000"
2323
+ },
2324
+ {
2325
+ "key": "Strict-Transport-Security",
2326
+ "value": "max-age=63072000; includeSubDomains"
2327
+ },
2328
+ {
2329
+ "key": "X-Content-Type-Options",
2330
+ "value": "nosniff"
2331
+ },
2332
+ {
2333
+ "key": "X-XSS-Protection",
2334
+ "value": "1; mode=block"
2335
+ },
2336
+ {
2337
+ "key": "X-Robots-Tag",
2338
+ "value": "none"
2339
+ },
2340
+ {
2341
+ "key": "Cache-Control",
2342
+ "value": "no-cache,must-revalidate,max-age=0,no-store,private"
2343
+ },
2344
+ {
2345
+ "key": "Expires",
2346
+ "value": "Thu, 01 Jan 1970 00:00:00 GMT"
2347
+ },
2348
+ {
2349
+ "key": "Content-Type",
2350
+ "value": "application/json;charset=UTF-8"
2351
+ },
2352
+ {
2353
+ "key": "Vary",
2354
+ "value": "Accept-Encoding"
2355
+ },
2356
+ {
2357
+ "key": "Content-Encoding",
2358
+ "value": "gzip"
2359
+ },
2360
+ {
2361
+ "key": "Transfer-Encoding",
2362
+ "value": "chunked"
2363
+ }
2364
+ ],
2365
+ "cookie": [],
2366
+ "body": "{\n \"access_token\": \"<access_token>\",\n \"signature\": \"<signature>\",\n \"scope\": \"<scope list>\",\n \"instance_url\": \"https://<my_domain>\",\n \"id\": \"https://login.salesforce.com/id/00D.../005...\",\n \"token_type\": \"Bearer\",\n \"issued_at\": \"<timestamp>\",\n \"api_instance_url\": \"https://api.salesforce.com\"\n}"
2367
+ }
2368
+ ]
2369
+ },
2370
+ {
2371
+ "name": "Device Flow 1",
2372
+ "event": [
2373
+ {
2374
+ "listen": "test",
2375
+ "script": {
2376
+ "exec": [
2377
+ "const jsonData = pm.response.json();",
2378
+ "const context = pm.environment.name ? pm.environment : pm.collectionVariables;",
2379
+ "context.set(\"_deviceCode\", jsonData.device_code);",
2380
+ ""
2381
+ ],
2382
+ "type": "text/javascript"
2383
+ }
2384
+ }
2385
+ ],
2386
+ "request": {
2387
+ "auth": {
2388
+ "type": "noauth"
2389
+ },
2390
+ "method": "POST",
2391
+ "header": [],
2392
+ "body": {
2393
+ "mode": "formdata",
2394
+ "formdata": [
2395
+ {
2396
+ "key": "response_type",
2397
+ "value": "device_code",
2398
+ "type": "text"
2399
+ },
2400
+ {
2401
+ "key": "client_id",
2402
+ "value": "{{clientId}}",
2403
+ "type": "text"
2404
+ },
2405
+ {
2406
+ "key": "format",
2407
+ "value": "json",
2408
+ "type": "text"
2409
+ },
2410
+ {
2411
+ "key": "scope",
2412
+ "value": "full refresh_token",
2413
+ "type": "text"
2414
+ }
2415
+ ]
2416
+ },
2417
+ "url": {
2418
+ "raw": "{{url}}{{site}}/services/oauth2/token",
2419
+ "host": [
2420
+ "{{url}}{{site}}"
2421
+ ],
2422
+ "path": [
2423
+ "services",
2424
+ "oauth2",
2425
+ "token"
2426
+ ]
2427
+ }
2428
+ },
2429
+ "response": [
2430
+ {
2431
+ "name": "Successful Device Flow 1",
2432
+ "originalRequest": {
2433
+ "method": "POST",
2434
+ "header": [],
2435
+ "body": {
2436
+ "mode": "formdata",
2437
+ "formdata": [
2438
+ {
2439
+ "key": "response_type",
2440
+ "value": "device_code",
2441
+ "type": "text"
2442
+ },
2443
+ {
2444
+ "key": "client_id",
2445
+ "value": "{{clientId}}",
2446
+ "type": "text"
2447
+ },
2448
+ {
2449
+ "key": "format",
2450
+ "value": "json",
2451
+ "type": "text"
2452
+ },
2453
+ {
2454
+ "key": "scope",
2455
+ "value": "full refresh_token",
2456
+ "type": "text"
2457
+ }
2458
+ ]
2459
+ },
2460
+ "url": {
2461
+ "raw": "{{url}}{{site}}/services/oauth2/token",
2462
+ "host": [
2463
+ "{{url}}{{site}}"
2464
+ ],
2465
+ "path": [
2466
+ "services",
2467
+ "oauth2",
2468
+ "token"
2469
+ ]
2470
+ }
2471
+ },
2472
+ "status": "OK",
2473
+ "code": 200,
2474
+ "_postman_previewlanguage": "json",
2475
+ "header": [
2476
+ {
2477
+ "key": "Date",
2478
+ "value": "Thu, 16 Nov 2023 15:29:39 GMT"
2479
+ },
2480
+ {
2481
+ "key": "Strict-Transport-Security",
2482
+ "value": "max-age=63072000; includeSubDomains"
2483
+ },
2484
+ {
2485
+ "key": "X-Content-Type-Options",
2486
+ "value": "nosniff"
2487
+ },
2488
+ {
2489
+ "key": "X-XSS-Protection",
2490
+ "value": "1; mode=block"
2491
+ },
2492
+ {
2493
+ "key": "X-Robots-Tag",
2494
+ "value": "none"
2495
+ },
2496
+ {
2497
+ "key": "Cache-Control",
2498
+ "value": "no-cache,must-revalidate,max-age=0,no-store,private"
2499
+ },
2500
+ {
2501
+ "key": "Expires",
2502
+ "value": "Thu, 01 Jan 1970 00:00:00 GMT"
2503
+ },
2504
+ {
2505
+ "key": "X-ReadOnlyMode",
2506
+ "value": "false"
2507
+ },
2508
+ {
2509
+ "key": "Content-Type",
2510
+ "value": "application/json;charset=UTF-8"
2511
+ },
2512
+ {
2513
+ "key": "Vary",
2514
+ "value": "Accept-Encoding"
2515
+ },
2516
+ {
2517
+ "key": "Content-Encoding",
2518
+ "value": "gzip"
2519
+ },
2520
+ {
2521
+ "key": "Transfer-Encoding",
2522
+ "value": "chunked"
2523
+ }
2524
+ ],
2525
+ "cookie": [],
2526
+ "body": "{\n \"user_code\": \"<user_code>\",\n \"device_code\": \"<device_code\",\n \"interval\": integer,\n \"verification_uri\": \"https://<my_domain>/setup/connect\"\n}"
2527
+ }
2528
+ ]
2529
+ },
2530
+ {
2531
+ "name": "Device Flow 2",
2532
+ "event": [
2533
+ {
2534
+ "listen": "test",
2535
+ "script": {
2536
+ "exec": [
2537
+ "const jsonData = pm.response.json();",
2538
+ "const context = pm.environment.name ? pm.environment : pm.collectionVariables;",
2539
+ "context.set(\"_refreshToken\", jsonData.refresh_token);",
2540
+ ""
2541
+ ],
2542
+ "type": "text/javascript"
2543
+ }
2544
+ }
2545
+ ],
2546
+ "request": {
2547
+ "auth": {
2548
+ "type": "noauth"
2549
+ },
2550
+ "method": "POST",
2551
+ "header": [],
2552
+ "body": {
2553
+ "mode": "formdata",
2554
+ "formdata": [
2555
+ {
2556
+ "key": "grant_type",
2557
+ "value": "device",
2558
+ "type": "text"
2559
+ },
2560
+ {
2561
+ "key": "client_id",
2562
+ "value": "{{clientId}}",
2563
+ "type": "text"
2564
+ },
2565
+ {
2566
+ "key": "format",
2567
+ "value": "json",
2568
+ "type": "text"
2569
+ },
2570
+ {
2571
+ "key": "code",
2572
+ "value": "{{_deviceCode}}",
2573
+ "type": "text"
2574
+ }
2575
+ ]
2576
+ },
2577
+ "url": {
2578
+ "raw": "{{url}}{{site}}/services/oauth2/token",
2579
+ "host": [
2580
+ "{{url}}{{site}}"
2581
+ ],
2582
+ "path": [
2583
+ "services",
2584
+ "oauth2",
2585
+ "token"
2586
+ ]
2587
+ }
2588
+ },
2589
+ "response": [
2590
+ {
2591
+ "name": "Successful Device Flow 2",
2592
+ "originalRequest": {
2593
+ "method": "POST",
2594
+ "header": [],
2595
+ "body": {
2596
+ "mode": "formdata",
2597
+ "formdata": [
2598
+ {
2599
+ "key": "grant_type",
2600
+ "value": "device",
2601
+ "type": "text"
2602
+ },
2603
+ {
2604
+ "key": "client_id",
2605
+ "value": "{{clientId}}",
2606
+ "type": "text"
2607
+ },
2608
+ {
2609
+ "key": "format",
2610
+ "value": "json",
2611
+ "type": "text"
2612
+ },
2613
+ {
2614
+ "key": "code",
2615
+ "value": "M01WRzlWZS4yd3FVVnhfYWxmS2xQUmdzMHlZM3ozUnZHelJIQXVFZzl5dlpubWRfR05LcGtybVNEODBTTDg1Z0lsWG1hR29WUFZ5ZWtkaFZWZnJVdzs4NS4yMjIuMTM0LjQ7MTcwMDE0ODU3OTk1NjsxMlpIR01aSA",
2616
+ "type": "text"
2617
+ }
2618
+ ]
2619
+ },
2620
+ "url": {
2621
+ "raw": "{{url}}{{site}}/services/oauth2/token",
2622
+ "host": [
2623
+ "{{url}}{{site}}"
2624
+ ],
2625
+ "path": [
2626
+ "services",
2627
+ "oauth2",
2628
+ "token"
2629
+ ]
2630
+ }
2631
+ },
2632
+ "status": "OK",
2633
+ "code": 200,
2634
+ "_postman_previewlanguage": "json",
2635
+ "header": [
2636
+ {
2637
+ "key": "Date",
2638
+ "value": "Thu, 16 Nov 2023 15:32:28 GMT"
2639
+ },
2640
+ {
2641
+ "key": "Strict-Transport-Security",
2642
+ "value": "max-age=63072000; includeSubDomains"
2643
+ },
2644
+ {
2645
+ "key": "X-Content-Type-Options",
2646
+ "value": "nosniff"
2647
+ },
2648
+ {
2649
+ "key": "X-XSS-Protection",
2650
+ "value": "1; mode=block"
2651
+ },
2652
+ {
2653
+ "key": "X-Robots-Tag",
2654
+ "value": "none"
2655
+ },
2656
+ {
2657
+ "key": "Cache-Control",
2658
+ "value": "no-cache,must-revalidate,max-age=0,no-store,private"
2659
+ },
2660
+ {
2661
+ "key": "Expires",
2662
+ "value": "Thu, 01 Jan 1970 00:00:00 GMT"
2663
+ },
2664
+ {
2665
+ "key": "Content-Type",
2666
+ "value": "application/json;charset=UTF-8"
2667
+ },
2668
+ {
2669
+ "key": "Vary",
2670
+ "value": "Accept-Encoding"
2671
+ },
2672
+ {
2673
+ "key": "Content-Encoding",
2674
+ "value": "gzip"
2675
+ },
2676
+ {
2677
+ "key": "Transfer-Encoding",
2678
+ "value": "chunked"
2679
+ }
2680
+ ],
2681
+ "cookie": [],
2682
+ "body": "{\n \"access_token\": \"<access_token>\",\n \"refresh_token\": \"<refresh_token>\",\n \"signature\": \"DD9WZJyeKtTaY9QumwdCdGoSSTsCVpWegA0Rahzf5e8=\",\n \"scope\": \"<scope_list>\",\n \"id_token\": \"<id_token>\",\n \"instance_url\": \"https://<my_domain>\",\n \"id\": \"https://login.salesforce.com/id/00D.../005...\",\n \"token_type\": \"Bearer\",\n \"issued_at\": \"<timestamp>\"\n}"
2683
+ }
2684
+ ]
2685
+ },
2686
+ {
2687
+ "name": "Asset Token Flow",
2688
+ "request": {
2689
+ "auth": {
2690
+ "type": "noauth"
2691
+ },
2692
+ "method": "POST",
2693
+ "header": [
2694
+ {
2695
+ "key": "Content-Type",
2696
+ "name": "Content-Type",
2697
+ "value": "application/x-www-form-urlencoded",
2698
+ "type": "text"
2699
+ }
2700
+ ],
2701
+ "body": {
2702
+ "mode": "urlencoded",
2703
+ "urlencoded": [
2704
+ {
2705
+ "key": "grant_type",
2706
+ "value": "urn:ietf:params:oauth:grant-type:token-exchange",
2707
+ "type": "text"
2708
+ },
2709
+ {
2710
+ "key": "subject_token_type",
2711
+ "value": "urn:ietf:params:oauth:token-type:access_token",
2712
+ "type": "text"
2713
+ },
2714
+ {
2715
+ "key": "subject_token",
2716
+ "value": "{{_accessToken}}",
2717
+ "type": "text"
2718
+ },
2719
+ {
2720
+ "key": "actor_token_type",
2721
+ "value": "urn:ietf:params:oauth:token-type:jwt",
2722
+ "type": "text"
2723
+ },
2724
+ {
2725
+ "key": "actor_token",
2726
+ "value": "",
2727
+ "type": "text"
2728
+ }
2729
+ ]
2730
+ },
2731
+ "url": {
2732
+ "raw": "{{url}}{{site}}/services/oauth2/token",
2733
+ "host": [
2734
+ "{{url}}{{site}}"
2735
+ ],
2736
+ "path": [
2737
+ "services",
2738
+ "oauth2",
2739
+ "token"
2740
+ ]
2741
+ }
2742
+ },
2743
+ "response": [
2744
+ {
2745
+ "name": "Successful Asset Token Flow",
2746
+ "originalRequest": {
2747
+ "method": "POST",
2748
+ "header": [
2749
+ {
2750
+ "key": "Content-Type",
2751
+ "value": "application/x-www-form-urlencoded"
2752
+ }
2753
+ ],
2754
+ "body": {
2755
+ "mode": "urlencoded",
2756
+ "urlencoded": [
2757
+ {
2758
+ "key": "grant_type",
2759
+ "value": "urn:ietf:params:oauth:grant-type:token-exchange",
2760
+ "type": "text"
2761
+ },
2762
+ {
2763
+ "key": "subject_token_type",
2764
+ "value": "urn:ietf:params:oauth:token-type:access_token",
2765
+ "type": "text"
2766
+ },
2767
+ {
2768
+ "key": "subject_token",
2769
+ "value": "{{_accessToken}}",
2770
+ "type": "text"
2771
+ },
2772
+ {
2773
+ "key": "actor_token_type",
2774
+ "value": "urn:ietf:params:oauth:token-type:jwt",
2775
+ "type": "text"
2776
+ },
2777
+ {
2778
+ "key": "actor_token",
2779
+ "value": "",
2780
+ "type": "text"
2781
+ }
2782
+ ]
2783
+ },
2784
+ "url": {
2785
+ "raw": "{{url}}{{site}}/services/oauth2/token",
2786
+ "host": [
2787
+ "{{url}}{{site}}"
2788
+ ],
2789
+ "path": [
2790
+ "services",
2791
+ "oauth2",
2792
+ "token"
2793
+ ]
2794
+ }
2795
+ },
2796
+ "status": "OK",
2797
+ "code": 200,
2798
+ "_postman_previewlanguage": "json",
2799
+ "header": [
2800
+ {
2801
+ "key": "Date",
2802
+ "value": "Thu, 16 Nov 2023 15:52:11 GMT"
2803
+ },
2804
+ {
2805
+ "key": "Strict-Transport-Security",
2806
+ "value": "max-age=63072000; includeSubDomains"
2807
+ },
2808
+ {
2809
+ "key": "X-Content-Type-Options",
2810
+ "value": "nosniff"
2811
+ },
2812
+ {
2813
+ "key": "X-XSS-Protection",
2814
+ "value": "1; mode=block"
2815
+ },
2816
+ {
2817
+ "key": "X-Robots-Tag",
2818
+ "value": "none"
2819
+ },
2820
+ {
2821
+ "key": "Cache-Control",
2822
+ "value": "no-cache,must-revalidate,max-age=0,no-store,private"
2823
+ },
2824
+ {
2825
+ "key": "Expires",
2826
+ "value": "Thu, 01 Jan 1970 00:00:00 GMT"
2827
+ },
2828
+ {
2829
+ "key": "X-ReadOnlyMode",
2830
+ "value": "false"
2831
+ },
2832
+ {
2833
+ "key": "Content-Type",
2834
+ "value": "application/json;charset=UTF-8"
2835
+ },
2836
+ {
2837
+ "key": "Vary",
2838
+ "value": "Accept-Encoding"
2839
+ },
2840
+ {
2841
+ "key": "Content-Encoding",
2842
+ "value": "gzip"
2843
+ },
2844
+ {
2845
+ "key": "Transfer-Encoding",
2846
+ "value": "chunked"
2847
+ }
2848
+ ],
2849
+ "cookie": [],
2850
+ "body": "{\n \"access_token\": \"<access_token>\",\n \"issued_token_type\": \"urn:ietf:params:oauth:token-type:jwt\",\n \"token_type\": \"Bearer\",\n \"expires_in\": 60\n}"
2851
+ }
2852
+ ]
2853
+ },
2854
+ {
2855
+ "name": "Refresh Token",
2856
+ "event": [
2857
+ {
2858
+ "listen": "test",
2859
+ "script": {
2860
+ "exec": [
2861
+ "const jsonData = pm.response.json();",
2862
+ "",
2863
+ "const context = pm.environment.name ? pm.environment : pm.collectionVariables;",
2864
+ "context.set(\"_accessToken\", jsonData.access_token);"
2865
+ ],
2866
+ "type": "text/javascript"
2867
+ }
2868
+ }
2869
+ ],
2870
+ "request": {
2871
+ "auth": {
2872
+ "type": "noauth"
2873
+ },
2874
+ "method": "POST",
2875
+ "header": [
2876
+ {
2877
+ "key": "Content-Type",
2878
+ "value": "application/x-www-form-urlencoded"
2879
+ }
2880
+ ],
2881
+ "body": {
2882
+ "mode": "urlencoded",
2883
+ "urlencoded": [
2884
+ {
2885
+ "key": "grant_type",
2886
+ "value": "refresh_token",
2887
+ "type": "text"
2888
+ },
2889
+ {
2890
+ "key": "client_id",
2891
+ "value": "{{clientId}}",
2892
+ "type": "text"
2893
+ },
2894
+ {
2895
+ "key": "client_secret",
2896
+ "value": "{{clientSecret}}",
2897
+ "type": "text"
2898
+ },
2899
+ {
2900
+ "key": "refresh_token",
2901
+ "value": "{{_refreshToken}}",
2902
+ "type": "text"
2903
+ }
2904
+ ]
2905
+ },
2906
+ "url": {
2907
+ "raw": "{{url}}{{site}}/services/oauth2/token",
2908
+ "host": [
2909
+ "{{url}}{{site}}"
2910
+ ],
2911
+ "path": [
2912
+ "services",
2913
+ "oauth2",
2914
+ "token"
2915
+ ]
2916
+ }
2917
+ },
2918
+ "response": [
2919
+ {
2920
+ "name": "Successful Refresh Token",
2921
+ "originalRequest": {
2922
+ "method": "POST",
2923
+ "header": [
2924
+ {
2925
+ "key": "Content-Type",
2926
+ "value": "application/x-www-form-urlencoded"
2927
+ }
2928
+ ],
2929
+ "body": {
2930
+ "mode": "urlencoded",
2931
+ "urlencoded": [
2932
+ {
2933
+ "key": "grant_type",
2934
+ "value": "refresh_token",
2935
+ "type": "text"
2936
+ },
2937
+ {
2938
+ "key": "client_id",
2939
+ "value": "{{clientId}}",
2940
+ "type": "text"
2941
+ },
2942
+ {
2943
+ "key": "client_secret",
2944
+ "value": "{{clientSecret}}",
2945
+ "type": "text"
2946
+ },
2947
+ {
2948
+ "key": "refresh_token",
2949
+ "value": "{{_refreshToken}}",
2950
+ "type": "text"
2951
+ }
2952
+ ]
2953
+ },
2954
+ "url": {
2955
+ "raw": "{{url}}{{site}}/services/oauth2/token",
2956
+ "host": [
2957
+ "{{url}}{{site}}"
2958
+ ],
2959
+ "path": [
2960
+ "services",
2961
+ "oauth2",
2962
+ "token"
2963
+ ]
2964
+ }
2965
+ },
2966
+ "status": "OK",
2967
+ "code": 200,
2968
+ "_postman_previewlanguage": "json",
2969
+ "header": [
2970
+ {
2971
+ "key": "Date",
2972
+ "value": "Thu, 16 Nov 2023 15:34:45 GMT"
2973
+ },
2974
+ {
2975
+ "key": "Strict-Transport-Security",
2976
+ "value": "max-age=63072000; includeSubDomains"
2977
+ },
2978
+ {
2979
+ "key": "X-Content-Type-Options",
2980
+ "value": "nosniff"
2981
+ },
2982
+ {
2983
+ "key": "X-XSS-Protection",
2984
+ "value": "1; mode=block"
2985
+ },
2986
+ {
2987
+ "key": "X-Robots-Tag",
2988
+ "value": "none"
2989
+ },
2990
+ {
2991
+ "key": "Cache-Control",
2992
+ "value": "no-cache,must-revalidate,max-age=0,no-store,private"
2993
+ },
2994
+ {
2995
+ "key": "Expires",
2996
+ "value": "Thu, 01 Jan 1970 00:00:00 GMT"
2997
+ },
2998
+ {
2999
+ "key": "Content-Type",
3000
+ "value": "application/json;charset=UTF-8"
3001
+ },
3002
+ {
3003
+ "key": "Vary",
3004
+ "value": "Accept-Encoding"
3005
+ },
3006
+ {
3007
+ "key": "Content-Encoding",
3008
+ "value": "gzip"
3009
+ },
3010
+ {
3011
+ "key": "Transfer-Encoding",
3012
+ "value": "chunked"
3013
+ }
3014
+ ],
3015
+ "cookie": [],
3016
+ "body": "{\n \"access_token\": \"<access_token>\",\n \"signature\": \"<signature>\",\n \"scope\": \"<scope list>\",\n \"id_token\": \"<id_token\",\n \"instance_url\": \"https://<my_domain>\",\n \"id\": \"https://login.salesforce.com/id/00D.../005...\",\n \"token_type\": \"Bearer\",\n \"issued_at\": \"<timestamp>\"\n}"
3017
+ }
3018
+ ]
3019
+ },
3020
+ {
3021
+ "name": "Revoke Token",
3022
+ "event": [
3023
+ {
3024
+ "listen": "test",
3025
+ "script": {
3026
+ "exec": [
3027
+ ""
3028
+ ],
3029
+ "type": "text/javascript"
3030
+ }
3031
+ }
3032
+ ],
3033
+ "request": {
3034
+ "auth": {
3035
+ "type": "noauth"
3036
+ },
3037
+ "method": "POST",
3038
+ "header": [
3039
+ {
3040
+ "key": "Content-Type",
3041
+ "value": "application/x-www-form-urlencoded"
3042
+ }
3043
+ ],
3044
+ "body": {
3045
+ "mode": "urlencoded",
3046
+ "urlencoded": [
3047
+ {
3048
+ "key": "token",
3049
+ "value": "{{_accessToken}}",
3050
+ "type": "text",
3051
+ "description": "If an access token is included, Salesforce invalidates it and revokes the token. If a refresh token is included, Salesforce revokes it and any associated access tokens."
3052
+ }
3053
+ ]
3054
+ },
3055
+ "url": {
3056
+ "raw": "{{url}}{{site}}/services/oauth2/revoke",
3057
+ "host": [
3058
+ "{{url}}{{site}}"
3059
+ ],
3060
+ "path": [
3061
+ "services",
3062
+ "oauth2",
3063
+ "revoke"
3064
+ ]
3065
+ }
3066
+ },
3067
+ "response": [
3068
+ {
3069
+ "name": "Successful Revoke Token",
3070
+ "originalRequest": {
3071
+ "method": "POST",
3072
+ "header": [
3073
+ {
3074
+ "key": "Content-Type",
3075
+ "value": "application/x-www-form-urlencoded"
3076
+ }
3077
+ ],
3078
+ "body": {
3079
+ "mode": "urlencoded",
3080
+ "urlencoded": [
3081
+ {
3082
+ "key": "token",
3083
+ "value": "{{_accessToken}}",
3084
+ "type": "text",
3085
+ "description": "If an access token is included, Salesforce invalidates it and revokes the token. If a refresh token is included, Salesforce revokes it and any associated access tokens."
3086
+ }
3087
+ ]
3088
+ },
3089
+ "url": {
3090
+ "raw": "{{url}}{{site}}/services/oauth2/revoke",
3091
+ "host": [
3092
+ "{{url}}{{site}}"
3093
+ ],
3094
+ "path": [
3095
+ "services",
3096
+ "oauth2",
3097
+ "revoke"
3098
+ ]
3099
+ }
3100
+ },
3101
+ "status": "OK",
3102
+ "code": 200,
3103
+ "_postman_previewlanguage": "plain",
3104
+ "header": [
3105
+ {
3106
+ "key": "Date",
3107
+ "value": "Thu, 16 Nov 2023 15:53:04 GMT"
3108
+ },
3109
+ {
3110
+ "key": "Strict-Transport-Security",
3111
+ "value": "max-age=63072000; includeSubDomains"
3112
+ },
3113
+ {
3114
+ "key": "X-Content-Type-Options",
3115
+ "value": "nosniff"
3116
+ },
3117
+ {
3118
+ "key": "X-XSS-Protection",
3119
+ "value": "1; mode=block"
3120
+ },
3121
+ {
3122
+ "key": "Content-Security-Policy",
3123
+ "value": "upgrade-insecure-requests"
3124
+ },
3125
+ {
3126
+ "key": "X-Robots-Tag",
3127
+ "value": "none"
3128
+ },
3129
+ {
3130
+ "key": "Cache-Control",
3131
+ "value": "no-cache,must-revalidate,max-age=0,no-store,private"
3132
+ },
3133
+ {
3134
+ "key": "Set-Cookie",
3135
+ "value": "sdtsvalid=; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; secure"
3136
+ },
3137
+ {
3138
+ "key": "Set-Cookie",
3139
+ "value": "setupprofileobjectsandtabsgt=; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; secure"
3140
+ },
3141
+ {
3142
+ "key": "Set-Cookie",
3143
+ "value": "unifiedsearchgt=; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; secure"
3144
+ },
3145
+ {
3146
+ "key": "Vary",
3147
+ "value": "Accept-Encoding"
3148
+ },
3149
+ {
3150
+ "key": "Content-Encoding",
3151
+ "value": "gzip"
3152
+ },
3153
+ {
3154
+ "key": "Transfer-Encoding",
3155
+ "value": "chunked"
3156
+ }
3157
+ ],
3158
+ "cookie": [],
3159
+ "body": null
3160
+ }
3161
+ ]
3162
+ },
3163
+ {
3164
+ "name": "User Info",
3165
+ "request": {
3166
+ "method": "GET",
3167
+ "header": [
3168
+ {
3169
+ "key": "Content-Type",
3170
+ "value": "application/json"
3171
+ }
3172
+ ],
3173
+ "url": {
3174
+ "raw": "{{url}}{{site}}/services/oauth2/userinfo",
3175
+ "host": [
3176
+ "{{url}}{{site}}"
3177
+ ],
3178
+ "path": [
3179
+ "services",
3180
+ "oauth2",
3181
+ "userinfo"
3182
+ ]
3183
+ }
3184
+ },
3185
+ "response": [
3186
+ {
3187
+ "name": "Successful User Info",
3188
+ "originalRequest": {
3189
+ "method": "GET",
3190
+ "header": [
3191
+ {
3192
+ "key": "Content-Type",
3193
+ "value": "application/json"
3194
+ }
3195
+ ],
3196
+ "url": {
3197
+ "raw": "{{url}}{{site}}/services/oauth2/userinfo",
3198
+ "host": [
3199
+ "{{url}}{{site}}"
3200
+ ],
3201
+ "path": [
3202
+ "services",
3203
+ "oauth2",
3204
+ "userinfo"
3205
+ ]
3206
+ }
3207
+ },
3208
+ "status": "OK",
3209
+ "code": 200,
3210
+ "_postman_previewlanguage": "json",
3211
+ "header": [
3212
+ {
3213
+ "key": "Date",
3214
+ "value": "Thu, 16 Nov 2023 15:35:50 GMT"
3215
+ },
3216
+ {
3217
+ "key": "Strict-Transport-Security",
3218
+ "value": "max-age=63072000; includeSubDomains"
3219
+ },
3220
+ {
3221
+ "key": "X-Content-Type-Options",
3222
+ "value": "nosniff"
3223
+ },
3224
+ {
3225
+ "key": "X-XSS-Protection",
3226
+ "value": "1; mode=block"
3227
+ },
3228
+ {
3229
+ "key": "X-Robots-Tag",
3230
+ "value": "none"
3231
+ },
3232
+ {
3233
+ "key": "Cache-Control",
3234
+ "value": "no-cache,must-revalidate,max-age=0,no-store,private"
3235
+ },
3236
+ {
3237
+ "key": "Content-Type",
3238
+ "value": "application/json;charset=UTF-8"
3239
+ },
3240
+ {
3241
+ "key": "Vary",
3242
+ "value": "Accept-Encoding"
3243
+ },
3244
+ {
3245
+ "key": "Content-Encoding",
3246
+ "value": "gzip"
3247
+ },
3248
+ {
3249
+ "key": "Transfer-Encoding",
3250
+ "value": "chunked"
3251
+ }
3252
+ ],
3253
+ "cookie": [],
3254
+ "body": "{\n \"sub\": \"https://login.salesforce.com/id/00D.../005...\",\n \"user_id\": \"005...\",\n \"organization_id\": \"00D...\",\n \"preferred_username\": \"<username>\",\n \"nickname\": \"<nickname>\",\n \"name\": \"<name>\",\n \"email\": \"<email>\",\n \"email_verified\": true,\n \"given_name\": \"<name>\",\n \"family_name\": \"<name>\",\n \"zoneinfo\": \"Europe/Paris\",\n \"photos\": {\n \"picture\": \"https://<file_domain>/profilephoto/005/F\",\n \"thumbnail\": \"https://<file_domain>/profilephoto/005/T\"\n },\n \"profile\": \"https://<my_domain>/005\",\n \"picture\": \"https://<file_domain>/profilephoto/005/F\",\n \"address\": {\n \"country\": \"FR\"\n },\n \"is_salesforce_integration_user\": false,\n \"urls\": {\n \"enterprise\": \"https://<my_domain>/services/Soap/c/{version}/00D...\",\n \"metadata\": \"https://<my_domain>/services/Soap/m/{version}/00D...\",\n \"partner\": \"https://<my_domain>/services/Soap/u/{version}/00D...\",\n \"rest\": \"https://<my_domain>/services/data/v{version}/\",\n \"sobjects\": \"https://<my_domain>/services/data/v{version}/sobjects/\",\n \"search\": \"https://<my_domain>/services/data/v{version}/search/\",\n \"query\": \"https://<my_domain>/services/data/v{version}/query/\",\n \"recent\": \"https://<my_domain>/services/data/v{version}/recent/\",\n \"tooling_soap\": \"https://<my_domain>/services/Soap/T/{version}/00D...\",\n \"tooling_rest\": \"https://<my_domain>/services/data/v{version}/tooling/\",\n \"profile\": \"https://<my_domain>/0052o00000DOJ1PAAX\",\n \"feeds\": \"https://<my_domain>/services/data/v{version}/chatter/feeds\",\n \"groups\": \"https://<my_domain>/services/data/v{version}/chatter/groups\",\n \"users\": \"https://<my_domain>/services/data/v{version}/chatter/users\",\n \"feed_items\": \"https://<my_domain>/services/data/v{version}/chatter/feed-items\",\n \"feed_elements\": \"https://<my_domain>/services/data/v{version}/chatter/feed-elements\",\n \"custom_domain\": \"https://<my_domain>\"\n },\n \"active\": true,\n \"user_type\": \"STANDARD\",\n \"language\": \"en_US\",\n \"locale\": \"fr_FR_EURO\",\n \"utcOffset\": 3600000,\n \"updated_at\": \"<datetime>\",\n \"is_app_installed\": true\n}"
3255
+ }
3256
+ ]
3257
+ },
3258
+ {
3259
+ "name": "OpenID Connect Discovery Endpoint",
3260
+ "request": {
3261
+ "auth": {
3262
+ "type": "noauth"
3263
+ },
3264
+ "method": "GET",
3265
+ "header": [],
3266
+ "url": {
3267
+ "raw": "{{url}}{{site}}/.well-known/openid-configuration",
3268
+ "host": [
3269
+ "{{url}}{{site}}"
3270
+ ],
3271
+ "path": [
3272
+ ".well-known",
3273
+ "openid-configuration"
3274
+ ]
3275
+ }
3276
+ },
3277
+ "response": [
3278
+ {
3279
+ "name": "Successful OpenID Connect Discovery Endpoint",
3280
+ "originalRequest": {
3281
+ "method": "GET",
3282
+ "header": [],
3283
+ "url": {
3284
+ "raw": "{{url}}{{site}}/.well-known/openid-configuration",
3285
+ "host": [
3286
+ "{{url}}{{site}}"
3287
+ ],
3288
+ "path": [
3289
+ ".well-known",
3290
+ "openid-configuration"
3291
+ ]
3292
+ }
3293
+ },
3294
+ "status": "OK",
3295
+ "code": 200,
3296
+ "_postman_previewlanguage": "json",
3297
+ "header": [
3298
+ {
3299
+ "key": "Date",
3300
+ "value": "Thu, 16 Nov 2023 15:53:35 GMT"
3301
+ },
3302
+ {
3303
+ "key": "Strict-Transport-Security",
3304
+ "value": "max-age=63072000; includeSubDomains"
3305
+ },
3306
+ {
3307
+ "key": "X-Content-Type-Options",
3308
+ "value": "nosniff"
3309
+ },
3310
+ {
3311
+ "key": "X-XSS-Protection",
3312
+ "value": "1; mode=block"
3313
+ },
3314
+ {
3315
+ "key": "X-Robots-Tag",
3316
+ "value": "none"
3317
+ },
3318
+ {
3319
+ "key": "Cache-Control",
3320
+ "value": "no-cache,must-revalidate,max-age=0,no-store,private"
3321
+ },
3322
+ {
3323
+ "key": "Content-Type",
3324
+ "value": "application/json;charset=UTF-8"
3325
+ },
3326
+ {
3327
+ "key": "Access-Control-Allow-Credentials",
3328
+ "value": "false"
3329
+ },
3330
+ {
3331
+ "key": "Access-Control-Allow-Origin",
3332
+ "value": "*"
3333
+ },
3334
+ {
3335
+ "key": "Vary",
3336
+ "value": "Accept-Encoding"
3337
+ },
3338
+ {
3339
+ "key": "Content-Encoding",
3340
+ "value": "gzip"
3341
+ },
3342
+ {
3343
+ "key": "Transfer-Encoding",
3344
+ "value": "chunked"
3345
+ }
3346
+ ],
3347
+ "cookie": [],
3348
+ "body": "{\n \"end_session_endpoint\": \"https://<my_domain>/services/auth/idp/oidc/logout\",\n \"frontchannel_logout_supported\": true,\n \"frontchannel_logout_session_supported\": false,\n \"issuer\": \"https://<my_domain>\",\n \"authorization_endpoint\": \"https://<my_domain>/services/oauth2/authorize\",\n \"token_endpoint\": \"https://<my_domain>/services/oauth2/token\",\n \"revocation_endpoint\": \"https://<my_domain>/services/oauth2/revoke\",\n \"userinfo_endpoint\": \"https://<my_domain>/services/oauth2/userinfo\",\n \"jwks_uri\": \"https://<my_domain>/id/keys\",\n \"registration_endpoint\": \"https://<my_domain>/services/oauth2/register\",\n \"introspection_endpoint\": \"https://<my_domain>/services/oauth2/introspect\",\n \"scopes_supported\": [\n \"cdp_ingest_api\",\n \"custom_permissions\",\n \"cdp_segment_api\",\n \"content\",\n \"cdp_api\",\n \"chatbot_api\",\n \"cdp_identityresolution_api\",\n \"interaction_api\",\n \"wave_api\",\n \"web\",\n \"cdp_calculated_insight_api\",\n \"einstein_gpt_api\",\n \"offline_access\",\n \"id\",\n \"api\",\n \"eclair_api\",\n \"email\",\n \"pardot_api\",\n \"lightning\",\n \"visualforce\",\n \"cdp_query_api\",\n \"sfap_api\",\n \"address\",\n \"openid\",\n \"profile\",\n \"cdp_profile_api\",\n \"refresh_token\",\n \"phone\",\n \"user_registration_api\",\n \"pwdless_login_api\",\n \"chatter_api\",\n \"full\",\n \"forgot_password\"\n ],\n \"response_types_supported\": [\n \"code\",\n \"token\",\n \"token id_token\"\n ],\n \"subject_types_supported\": [\n \"public\"\n ],\n \"id_token_signing_alg_values_supported\": [\n \"RS256\"\n ],\n \"display_values_supported\": [\n \"page\",\n \"popup\",\n \"touch\"\n ],\n \"token_endpoint_auth_methods_supported\": [\n \"client_secret_post\",\n \"client_secret_basic\",\n \"private_key_jwt\"\n ],\n \"claims_supported\": [\n \"active\",\n \"address\",\n \"email\",\n \"email_verified\",\n \"family_name\",\n \"given_name\",\n \"is_app_installed\",\n \"language\",\n \"locale\",\n \"name\",\n \"nickname\",\n \"organization_id\",\n \"phone_number\",\n \"phone_number_verified\",\n \"photos\",\n \"picture\",\n \"preferred_username\",\n \"profile\",\n \"sub\",\n \"updated_at\",\n \"urls\",\n \"user_id\",\n \"user_type\",\n \"zoneinfo\"\n ]\n}"
3349
+ }
3350
+ ]
3351
+ },
3352
+ {
3353
+ "name": "Authentication Configuration Endpoint",
3354
+ "request": {
3355
+ "auth": {
3356
+ "type": "noauth"
3357
+ },
3358
+ "method": "GET",
3359
+ "header": [],
3360
+ "url": {
3361
+ "raw": "{{url}}{{site}}/.well-known/auth-configuration",
3362
+ "host": [
3363
+ "{{url}}{{site}}"
3364
+ ],
3365
+ "path": [
3366
+ ".well-known",
3367
+ "auth-configuration"
3368
+ ]
3369
+ }
3370
+ },
3371
+ "response": [
3372
+ {
3373
+ "name": "Successful Authentication Configuration Endpoint",
3374
+ "originalRequest": {
3375
+ "method": "GET",
3376
+ "header": [],
3377
+ "url": {
3378
+ "raw": "{{url}}{{site}}/.well-known/auth-configuration",
3379
+ "host": [
3380
+ "{{url}}{{site}}"
3381
+ ],
3382
+ "path": [
3383
+ ".well-known",
3384
+ "auth-configuration"
3385
+ ]
3386
+ }
3387
+ },
3388
+ "status": "OK",
3389
+ "code": 200,
3390
+ "_postman_previewlanguage": "json",
3391
+ "header": [
3392
+ {
3393
+ "key": "Date",
3394
+ "value": "Thu, 16 Nov 2023 15:54:15 GMT"
3395
+ },
3396
+ {
3397
+ "key": "Strict-Transport-Security",
3398
+ "value": "max-age=63072000; includeSubDomains"
3399
+ },
3400
+ {
3401
+ "key": "X-Content-Type-Options",
3402
+ "value": "nosniff"
3403
+ },
3404
+ {
3405
+ "key": "X-XSS-Protection",
3406
+ "value": "1; mode=block"
3407
+ },
3408
+ {
3409
+ "key": "X-Robots-Tag",
3410
+ "value": "none"
3411
+ },
3412
+ {
3413
+ "key": "Cache-Control",
3414
+ "value": "no-cache,must-revalidate,max-age=0,no-store,private"
3415
+ },
3416
+ {
3417
+ "key": "Content-Type",
3418
+ "value": "application/json;charset=UTF-8"
3419
+ },
3420
+ {
3421
+ "key": "Access-Control-Allow-Credentials",
3422
+ "value": "false"
3423
+ },
3424
+ {
3425
+ "key": "Access-Control-Allow-Methods",
3426
+ "value": "GET, POST, OPTIONS"
3427
+ },
3428
+ {
3429
+ "key": "Access-Control-Allow-Origin",
3430
+ "value": "*"
3431
+ },
3432
+ {
3433
+ "key": "Vary",
3434
+ "value": "Accept-Encoding"
3435
+ },
3436
+ {
3437
+ "key": "Content-Encoding",
3438
+ "value": "gzip"
3439
+ },
3440
+ {
3441
+ "key": "Transfer-Encoding",
3442
+ "value": "chunked"
3443
+ }
3444
+ ],
3445
+ "cookie": [],
3446
+ "body": "{\n \"OrgId\": \"00D2o000000i6mB\",\n \"Url\": \"https://<my_domain>\",\n \"MobileSDK\": {\n \"UseiOSNativeBrowserForAuthentication\": false,\n \"UseAndroidNativeBrowserForAuthentication\": false,\n \"shareBrowserSessionIOS\": false,\n \"shareBrowserSessionAndroid\": false\n },\n \"LoginPage\": null,\n \"SamlProviders\": [],\n \"AuthProviders\": [],\n \"CertificateLogin\": null,\n \"LoginPageType\": \"standard\",\n \"LoginPageTypeConfigs\": {}\n}"
3447
+ }
3448
+ ]
3449
+ },
3450
+ {
3451
+ "name": "OpenID Connect Token Introspection Endpoint",
3452
+ "request": {
3453
+ "auth": {
3454
+ "type": "noauth"
3455
+ },
3456
+ "method": "POST",
3457
+ "header": [
3458
+ {
3459
+ "key": "Content-Type",
3460
+ "name": "Content-Type",
3461
+ "value": "application/x-www-form-urlencoded",
3462
+ "type": "text"
3463
+ },
3464
+ {
3465
+ "key": "Accept",
3466
+ "value": "application/json",
3467
+ "type": "text"
3468
+ }
3469
+ ],
3470
+ "body": {
3471
+ "mode": "urlencoded",
3472
+ "urlencoded": [
3473
+ {
3474
+ "key": "token",
3475
+ "value": "{{_accessToken}}",
3476
+ "type": "text"
3477
+ },
3478
+ {
3479
+ "key": "token_type_hint",
3480
+ "value": "access_token",
3481
+ "type": "text"
3482
+ },
3483
+ {
3484
+ "key": "client_id",
3485
+ "value": "{{clientId}}",
3486
+ "type": "text"
3487
+ },
3488
+ {
3489
+ "key": "client_secret",
3490
+ "value": "{{clientSecret}}",
3491
+ "type": "text"
3492
+ }
3493
+ ]
3494
+ },
3495
+ "url": {
3496
+ "raw": "{{url}}{{site}}/services/oauth2/introspect",
3497
+ "host": [
3498
+ "{{url}}{{site}}"
3499
+ ],
3500
+ "path": [
3501
+ "services",
3502
+ "oauth2",
3503
+ "introspect"
3504
+ ]
3505
+ }
3506
+ },
3507
+ "response": [
3508
+ {
3509
+ "name": "Successful OpenID Connect Token Introspection Endpoint",
3510
+ "originalRequest": {
3511
+ "method": "POST",
3512
+ "header": [
3513
+ {
3514
+ "key": "Content-Type",
3515
+ "value": "application/x-www-form-urlencoded"
3516
+ },
3517
+ {
3518
+ "key": "Accept",
3519
+ "value": "application/json"
3520
+ }
3521
+ ],
3522
+ "body": {
3523
+ "mode": "urlencoded",
3524
+ "urlencoded": [
3525
+ {
3526
+ "key": "token",
3527
+ "value": "{{_accessToken}}",
3528
+ "type": "text"
3529
+ },
3530
+ {
3531
+ "key": "token_type_hint",
3532
+ "value": "access_token",
3533
+ "type": "text"
3534
+ },
3535
+ {
3536
+ "key": "client_id",
3537
+ "value": "{{clientId}}",
3538
+ "type": "text"
3539
+ },
3540
+ {
3541
+ "key": "client_secret",
3542
+ "value": "{{clientSecret}}",
3543
+ "type": "text"
3544
+ }
3545
+ ]
3546
+ },
3547
+ "url": {
3548
+ "raw": "{{url}}{{site}}/services/oauth2/introspect",
3549
+ "host": [
3550
+ "{{url}}{{site}}"
3551
+ ],
3552
+ "path": [
3553
+ "services",
3554
+ "oauth2",
3555
+ "introspect"
3556
+ ]
3557
+ }
3558
+ },
3559
+ "status": "OK",
3560
+ "code": 200,
3561
+ "_postman_previewlanguage": "json",
3562
+ "header": [
3563
+ {
3564
+ "key": "Date",
3565
+ "value": "Thu, 16 Nov 2023 15:54:42 GMT"
3566
+ },
3567
+ {
3568
+ "key": "Strict-Transport-Security",
3569
+ "value": "max-age=63072000; includeSubDomains"
3570
+ },
3571
+ {
3572
+ "key": "X-Content-Type-Options",
3573
+ "value": "nosniff"
3574
+ },
3575
+ {
3576
+ "key": "X-XSS-Protection",
3577
+ "value": "1; mode=block"
3578
+ },
3579
+ {
3580
+ "key": "X-Robots-Tag",
3581
+ "value": "none"
3582
+ },
3583
+ {
3584
+ "key": "Cache-Control",
3585
+ "value": "no-cache,must-revalidate,max-age=0,no-store,private"
3586
+ },
3587
+ {
3588
+ "key": "Content-Type",
3589
+ "value": "application/json;charset=UTF-8"
3590
+ },
3591
+ {
3592
+ "key": "Vary",
3593
+ "value": "Accept-Encoding"
3594
+ },
3595
+ {
3596
+ "key": "Content-Encoding",
3597
+ "value": "gzip"
3598
+ },
3599
+ {
3600
+ "key": "Transfer-Encoding",
3601
+ "value": "chunked"
3602
+ }
3603
+ ],
3604
+ "cookie": [],
3605
+ "body": "{\n \"active\": true,\n \"scope\": \"<scope_list>\",\n \"client_id\": \"<client_id>\",\n \"username\": \"<username>\",\n \"sub\": \"https://login.salesforce.com/id/00D.../005...\",\n \"token_type\": \"access_token\",\n \"exp\": <timestamp>,\n \"iat\": <timestamp>,\n \"nbf\": <timestamp>\n}"
3606
+ }
3607
+ ]
3608
+ },
3609
+ {
3610
+ "name": "OpenID Connect Dynamic Client Registration Endpoint",
3611
+ "request": {
3612
+ "auth": {
3613
+ "type": "noauth"
3614
+ },
3615
+ "method": "POST",
3616
+ "header": [
3617
+ {
3618
+ "key": "Content-Type",
3619
+ "name": "Content-Type",
3620
+ "value": "application/json",
3621
+ "type": "text"
3622
+ },
3623
+ {
3624
+ "key": "Accept",
3625
+ "value": "application/json",
3626
+ "type": "text"
3627
+ },
3628
+ {
3629
+ "key": "Authorization",
3630
+ "value": "Bearer {{init_access_token}}",
3631
+ "type": "text"
3632
+ }
3633
+ ],
3634
+ "body": {
3635
+ "mode": "raw",
3636
+ "raw": "{\n \"redirect_uris\": [\n \"http://localhost\"\n ],\n \"response_types\": [\n \"code\",\n \"token\",\n \"id_token\"\n ],\n \"grant_types\": [\n \"authorization_code\",\n \"implicit\",\n \"refresh_token\"\n ],\n \"application_type\": \"web\",\n \"contacts\": [\n \"abc@sf.com\",\n \"ve7jtb@example.org\"\n ],\n \"client_name\": \"Example Olivier\"\n}"
3637
+ },
3638
+ "url": {
3639
+ "raw": "{{url}}{{site}}/services/oauth2/register",
3640
+ "host": [
3641
+ "{{url}}{{site}}"
3642
+ ],
3643
+ "path": [
3644
+ "services",
3645
+ "oauth2",
3646
+ "register"
3647
+ ]
3648
+ }
3649
+ },
3650
+ "response": [
3651
+ {
3652
+ "name": "Successful OpenID Connect Dynamic Client Registration Endpoint",
3653
+ "originalRequest": {
3654
+ "method": "POST",
3655
+ "header": [
3656
+ {
3657
+ "key": "Content-Type",
3658
+ "value": "application/json"
3659
+ },
3660
+ {
3661
+ "key": "Accept",
3662
+ "value": "application/json"
3663
+ },
3664
+ {
3665
+ "key": "Authorization",
3666
+ "value": "Bearer {{init_access_token}}"
3667
+ }
3668
+ ],
3669
+ "body": {
3670
+ "mode": "raw",
3671
+ "raw": "{\n \"redirect_uris\": [\n \"http://localhost\"\n ],\n \"response_types\": [\n \"code\",\n \"token\",\n \"id_token\"\n ],\n \"grant_types\": [\n \"authorization_code\",\n \"implicit\",\n \"refresh_token\"\n ],\n \"application_type\": \"web\",\n \"contacts\": [\n \"abc@sf.com\",\n \"ve7jtb@example.org\"\n ],\n \"client_name\": \"Sample Customer\"\n}"
3672
+ },
3673
+ "url": {
3674
+ "raw": "{{url}}{{site}}/services/oauth2/register",
3675
+ "host": [
3676
+ "{{url}}{{site}}"
3677
+ ],
3678
+ "path": [
3679
+ "services",
3680
+ "oauth2",
3681
+ "register"
3682
+ ]
3683
+ }
3684
+ },
3685
+ "status": "Created",
3686
+ "code": 201,
3687
+ "_postman_previewlanguage": "json",
3688
+ "header": [
3689
+ {
3690
+ "key": "Date",
3691
+ "value": "Thu, 16 Nov 2023 16:04:08 GMT"
3692
+ },
3693
+ {
3694
+ "key": "Strict-Transport-Security",
3695
+ "value": "max-age=63072000; includeSubDomains"
3696
+ },
3697
+ {
3698
+ "key": "X-Content-Type-Options",
3699
+ "value": "nosniff"
3700
+ },
3701
+ {
3702
+ "key": "X-XSS-Protection",
3703
+ "value": "1; mode=block"
3704
+ },
3705
+ {
3706
+ "key": "X-Robots-Tag",
3707
+ "value": "none"
3708
+ },
3709
+ {
3710
+ "key": "Cache-Control",
3711
+ "value": "no-cache,must-revalidate,max-age=0,no-store,private"
3712
+ },
3713
+ {
3714
+ "key": "Expires",
3715
+ "value": "Thu, 01 Jan 1970 00:00:00 GMT"
3716
+ },
3717
+ {
3718
+ "key": "Content-Type",
3719
+ "value": "application/json;charset=UTF-8"
3720
+ },
3721
+ {
3722
+ "key": "Vary",
3723
+ "value": "Accept-Encoding"
3724
+ },
3725
+ {
3726
+ "key": "Content-Encoding",
3727
+ "value": "gzip"
3728
+ },
3729
+ {
3730
+ "key": "Transfer-Encoding",
3731
+ "value": "chunked"
3732
+ }
3733
+ ],
3734
+ "cookie": [],
3735
+ "body": "{\n \"client_id\": \"<client_id>\",\n \"client_secret\": \"<client_secret>\",\n \"registration_access_token\": \"<token>\",\n \"registration_client_uri\": \"https://login.salesforce.com/services/oauth2/register/<client_id>\",\n \"client_id_issued_at\": <timestamp>,\n \"client_secret_expires_at\": 0,\n \"token_endpoint_auth_method\": \"client_secret_post\",\n \"redirect_uris\": [\n \"http://localhost\"\n ],\n \"response_types\": [\n \"code\",\n \"token\",\n \"id_token\"\n ],\n \"grant_types\": [\n \"authorization_code\",\n \"hybrid_auth_code\",\n \"implicit\",\n \"refresh_token\"\n ],\n \"contacts\": [\n \"abc@sf.com\"\n ],\n \"client_name\": \"Sample Customer\",\n \"scopes\": [\n \"openid\",\n \"refresh_token\",\n \"id\",\n \"api\"\n ]\n}"
3736
+ }
3737
+ ]
3738
+ },
3739
+ {
3740
+ "name": "Salesforce Keys",
3741
+ "request": {
3742
+ "method": "GET",
3743
+ "header": [],
3744
+ "url": {
3745
+ "raw": "{{url}}/id/keys",
3746
+ "host": [
3747
+ "{{url}}"
3748
+ ],
3749
+ "path": [
3750
+ "id",
3751
+ "keys"
3752
+ ]
3753
+ }
3754
+ },
3755
+ "response": [
3756
+ {
3757
+ "name": "Successful Salesforce Keys",
3758
+ "originalRequest": {
3759
+ "method": "GET",
3760
+ "header": [],
3761
+ "url": {
3762
+ "raw": "{{url}}/id/keys",
3763
+ "host": [
3764
+ "{{url}}"
3765
+ ],
3766
+ "path": [
3767
+ "id",
3768
+ "keys"
3769
+ ]
3770
+ }
3771
+ },
3772
+ "status": "OK",
3773
+ "code": 200,
3774
+ "_postman_previewlanguage": "json",
3775
+ "header": [
3776
+ {
3777
+ "key": "Date",
3778
+ "value": "Thu, 16 Nov 2023 15:55:30 GMT"
3779
+ },
3780
+ {
3781
+ "key": "Strict-Transport-Security",
3782
+ "value": "max-age=63072000; includeSubDomains"
3783
+ },
3784
+ {
3785
+ "key": "X-Content-Type-Options",
3786
+ "value": "nosniff"
3787
+ },
3788
+ {
3789
+ "key": "X-XSS-Protection",
3790
+ "value": "1; mode=block"
3791
+ },
3792
+ {
3793
+ "key": "X-Robots-Tag",
3794
+ "value": "none"
3795
+ },
3796
+ {
3797
+ "key": "Cache-Control",
3798
+ "value": "no-cache,must-revalidate,max-age=0,no-store,private"
3799
+ },
3800
+ {
3801
+ "key": "Content-Type",
3802
+ "value": "application/json;charset=UTF-8"
3803
+ },
3804
+ {
3805
+ "key": "Access-Control-Allow-Credentials",
3806
+ "value": "false"
3807
+ },
3808
+ {
3809
+ "key": "Access-Control-Allow-Origin",
3810
+ "value": "*"
3811
+ },
3812
+ {
3813
+ "key": "Expires",
3814
+ "value": "Thu, 01 Jan 1970 00:00:00 GMT"
3815
+ },
3816
+ {
3817
+ "key": "Vary",
3818
+ "value": "Accept-Encoding"
3819
+ },
3820
+ {
3821
+ "key": "Content-Encoding",
3822
+ "value": "gzip"
3823
+ },
3824
+ {
3825
+ "key": "Transfer-Encoding",
3826
+ "value": "chunked"
3827
+ }
3828
+ ],
3829
+ "cookie": [],
3830
+ "body": "{\n \"keys\": [\n {\n \"kty\": \"RSA\",\n \"n\": \"<token>\",\n \"e\": \"AQAB\",\n \"alg\": \"RS256\",\n \"use\": \"sig\",\n \"kid\": \"248\"\n },\n {\n \"kty\": \"RSA\",\n \"n\": \"<token>\",\n \"e\": \"AQAB\",\n \"alg\": \"RS256\",\n \"use\": \"sig\",\n \"kid\": \"244\"\n },\n {\n \"kty\": \"RSA\",\n \"n\": \"<token>\",\n \"e\": \"AQAB\",\n \"alg\": \"RS256\",\n \"use\": \"sig\",\n \"kid\": \"246\"\n },\n {\n \"kty\": \"RSA\",\n \"n\": \"<token>\",\n \"e\": \"AQAB\",\n \"alg\": \"RS256\",\n \"use\": \"sig\",\n \"kid\": \"asset\"\n }\n ]\n}"
3831
+ }
3832
+ ]
3833
+ },
3834
+ {
3835
+ "name": "ID Token",
3836
+ "request": {
3837
+ "method": "GET",
3838
+ "header": [
3839
+ {
3840
+ "key": "Content-Type",
3841
+ "type": "text",
3842
+ "value": "application/json"
3843
+ }
3844
+ ],
3845
+ "url": {
3846
+ "raw": "{{_endpoint}}/id/{{_orgId}}/{{_userId}}",
3847
+ "host": [
3848
+ "{{_endpoint}}"
3849
+ ],
3850
+ "path": [
3851
+ "id",
3852
+ "{{_orgId}}",
3853
+ "{{_userId}}"
3854
+ ]
3855
+ }
3856
+ },
3857
+ "response": [
3858
+ {
3859
+ "name": "Successful ID Token",
3860
+ "originalRequest": {
3861
+ "method": "GET",
3862
+ "header": [
3863
+ {
3864
+ "key": "Content-Type",
3865
+ "value": "application/json"
3866
+ }
3867
+ ],
3868
+ "url": {
3869
+ "raw": "{{_endpoint}}/id/{{_orgId}}/{{_userId}}",
3870
+ "host": [
3871
+ "{{_endpoint}}"
3872
+ ],
3873
+ "path": [
3874
+ "id",
3875
+ "{{_orgId}}",
3876
+ "{{_userId}}"
3877
+ ]
3878
+ }
3879
+ },
3880
+ "status": "OK",
3881
+ "code": 200,
3882
+ "_postman_previewlanguage": "json",
3883
+ "header": [
3884
+ {
3885
+ "key": "Date",
3886
+ "value": "Thu, 16 Nov 2023 15:56:09 GMT"
3887
+ },
3888
+ {
3889
+ "key": "Strict-Transport-Security",
3890
+ "value": "max-age=63072000; includeSubDomains"
3891
+ },
3892
+ {
3893
+ "key": "X-Content-Type-Options",
3894
+ "value": "nosniff"
3895
+ },
3896
+ {
3897
+ "key": "X-XSS-Protection",
3898
+ "value": "1; mode=block"
3899
+ },
3900
+ {
3901
+ "key": "X-Robots-Tag",
3902
+ "value": "none"
3903
+ },
3904
+ {
3905
+ "key": "Cache-Control",
3906
+ "value": "no-cache,must-revalidate,max-age=0,no-store,private"
3907
+ },
3908
+ {
3909
+ "key": "Content-Type",
3910
+ "value": "application/json;charset=UTF-8"
3911
+ },
3912
+ {
3913
+ "key": "Vary",
3914
+ "value": "Accept-Encoding"
3915
+ },
3916
+ {
3917
+ "key": "Content-Encoding",
3918
+ "value": "gzip"
3919
+ },
3920
+ {
3921
+ "key": "Transfer-Encoding",
3922
+ "value": "chunked"
3923
+ }
3924
+ ],
3925
+ "cookie": [],
3926
+ "body": "{\n \"id\": \"https://login.salesforce.com/id/00D.../005...\",\n \"asserted_user\": true,\n \"user_id\": \"005...\",\n \"organization_id\": \"00D...\",\n \"username\": \"<username>\",\n \"nick_name\": \"<nickname>\",\n \"display_name\": \"<display_name>\",\n \"email\": \"<email>\",\n \"email_verified\": true,\n \"first_name\": \"<firstname>\",\n \"last_name\": \"<lastname>\",\n \"timezone\": \"Europe/Paris\",\n \"photos\": {\n \"picture\": \"https://<my_domain>/profilephoto/005/F\",\n \"thumbnail\": \"https://<my_domain>/profilephoto/005/T\"\n },\n \"addr_street\": null,\n \"addr_city\": null,\n \"addr_state\": null,\n \"addr_country\": \"FR\",\n \"addr_zip\": null,\n \"mobile_phone\": null,\n \"mobile_phone_verified\": false,\n \"is_lightning_login_user\": false,\n \"status\": {\n \"created_date\": null,\n \"body\": null\n },\n \"urls\": {\n \"enterprise\": \"https://<my_domain>/services/Soap/c/{version}/00D...\",\n \"metadata\": \"https://<my_domain>/services/Soap/m/{version}/00D...\",\n \"partner\": \"https://<my_domain>/services/Soap/u/{version}/00D...\",\n \"rest\": \"https://<my_domain>/services/data/v{version}/\",\n \"sobjects\": \"https://<my_domain>/services/data/v{version}/sobjects/\",\n \"search\": \"https://<my_domain>/services/data/v{version}/search/\",\n \"query\": \"https://<my_domain>/services/data/v{version}/query/\",\n \"recent\": \"https://<my_domain>/services/data/v{version}/recent/\",\n \"tooling_soap\": \"https://<my_domain>/services/Soap/T/{version}/00D...\",\n \"tooling_rest\": \"https://<my_domain>/services/data/v{version}/tooling/\",\n \"profile\": \"https://<my_domain>/0052o00000DOJ1PAAX\",\n \"feeds\": \"https://<my_domain>/services/data/v{version}/chatter/feeds\",\n \"groups\": \"https://<my_domain>/services/data/v{version}/chatter/groups\",\n \"users\": \"https://<my_domain>/services/data/v{version}/chatter/users\",\n \"feed_items\": \"https://<my_domain>/services/data/v{version}/chatter/feed-items\",\n \"feed_elements\": \"https://<my_domain>/services/data/v{version}/chatter/feed-elements\",\n \"custom_domain\": \"https://<my_domain>\"\n },\n \"active\": true,\n \"user_type\": \"STANDARD\",\n \"language\": \"en_US\",\n \"locale\": \"fr_FR_EURO\",\n \"utcOffset\": 3600000,\n \"last_modified_date\": \"<date_time>\",\n \"is_app_installed\": true\n}"
3927
+ }
3928
+ ]
3929
+ }
3930
+ ]
3931
+ }