{ "info": { "_postman_id": "cfbe8a20-8794-4c58-8cd2-9630ac4b6f7a", "name": "Twilio SendGrid Scopes API", "description": "The Twilio SendGrid Scopes API allows you to retrieve the scopes or permissions available to a user, see the user's attempts to access your SendGrid account, and, if necessary, deny an access request.\n\nContact Support:\n Name: Twilio SendGrid Support", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "lastUpdatedBy": "35240", "uid": "35240-cfbe8a20-8794-4c58-8cd2-9630ac4b6f7a" }, "item": [ { "name": "v3", "item": [ { "name": "scopes", "item": [ { "name": "requests", "item": [ { "name": "{request_id}", "item": [ { "name": "approve", "item": [ { "name": "Approve access request", "id": "9d403f56-a97b-4c77-b717-9eb007ce034c", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "PATCH", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/v3/scopes/requests/:request_id/approve", "host": [ "{{baseUrl}}" ], "path": [ "v3", "scopes", "requests", ":request_id", "approve" ], "variable": [ { "id": "41628776-33b5-423d-9c25-7998b2c832ea", "key": "request_id", "value": "", "description": "(Required) The ID of the request that you want to approve." } ] }, "description": "**This endpoint allows you to approve an access attempt.**\n\n**Note:** Only teammate admins may approve another teammate\u2019s access request." }, "response": [ { "id": "356da2d6-2a70-4a6c-806b-dabea81d3dc5", "name": "response", "originalRequest": { "method": "PATCH", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/v3/scopes/requests/:request_id/approve", "host": [ "{{baseUrl}}" ], "path": [ "v3", "scopes", "requests", ":request_id", "approve" ], "variable": [ { "key": "request_id" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"scope_group_name\": \"\"\n}", "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-356da2d6-2a70-4a6c-806b-dabea81d3dc5" }, { "id": "4069aaac-b682-424a-8bfd-1f9dc7efa3d9", "name": "response", "originalRequest": { "method": "PATCH", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/v3/scopes/requests/:request_id/approve", "host": [ "{{baseUrl}}" ], "path": [ "v3", "scopes", "requests", ":request_id", "approve" ], "variable": [ { "key": "request_id" } ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{}", "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-4069aaac-b682-424a-8bfd-1f9dc7efa3d9" }, { "id": "7bca43ec-1974-4d6e-9be6-2addc7708aa4", "name": "response", "originalRequest": { "method": "PATCH", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/v3/scopes/requests/:request_id/approve", "host": [ "{{baseUrl}}" ], "path": [ "v3", "scopes", "requests", ":request_id", "approve" ], "variable": [ { "key": "request_id" } ] } }, "status": "Not Found", "code": 404, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"errors\": [\n {\n \"message\": \"\",\n \"field\": \"\"\n },\n {\n \"message\": \"\",\n \"field\": \"\"\n }\n ]\n}", "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-7bca43ec-1974-4d6e-9be6-2addc7708aa4" } ], "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-9d403f56-a97b-4c77-b717-9eb007ce034c" } ], "id": "50fb270d-20b4-4687-a2ca-e94bf1ecbdcb", "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-50fb270d-20b4-4687-a2ca-e94bf1ecbdcb" }, { "name": "Deny access request", "id": "59c94f0d-d30d-4449-a20b-9e403657b439", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "DELETE", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/v3/scopes/requests/:request_id", "host": [ "{{baseUrl}}" ], "path": [ "v3", "scopes", "requests", ":request_id" ], "variable": [ { "id": "e969d8ae-2f8a-449f-9efa-635ade95d0b1", "key": "request_id", "value": "", "description": "(Required) The ID of the request that you want to deny." } ] }, "description": "**This endpoint allows you to deny an attempt to access your account.**\n\n**Note:** Only teammate admins may delete a teammate's access request." }, "response": [ { "id": "b71c8857-f1d4-4d7d-92d1-2cda6bf62e5d", "name": "response", "originalRequest": { "method": "DELETE", "header": [ { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/v3/scopes/requests/:request_id", "host": [ "{{baseUrl}}" ], "path": [ "v3", "scopes", "requests", ":request_id" ], "variable": [ { "key": "request_id" } ] } }, "status": "No Content", "code": 204, "_postman_previewlanguage": "text", "header": [], "cookie": [], "responseTime": null, "body": null, "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-b71c8857-f1d4-4d7d-92d1-2cda6bf62e5d" }, { "id": "e6c949a5-c53d-4657-adf4-2f8eba9a852c", "name": "response", "originalRequest": { "method": "DELETE", "header": [ { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/v3/scopes/requests/:request_id", "host": [ "{{baseUrl}}" ], "path": [ "v3", "scopes", "requests", ":request_id" ], "variable": [ { "key": "request_id" } ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "text", "header": [], "cookie": [], "responseTime": null, "body": null, "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-e6c949a5-c53d-4657-adf4-2f8eba9a852c" }, { "id": "f345a75c-14c6-4585-b8bb-edab70a015a5", "name": "response", "originalRequest": { "method": "DELETE", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/v3/scopes/requests/:request_id", "host": [ "{{baseUrl}}" ], "path": [ "v3", "scopes", "requests", ":request_id" ], "variable": [ { "key": "request_id" } ] } }, "status": "Not Found", "code": 404, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"errors\": [\n {\n \"message\": \"\",\n \"field\": \"\"\n },\n {\n \"message\": \"\",\n \"field\": \"\"\n }\n ]\n}", "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-f345a75c-14c6-4585-b8bb-edab70a015a5" } ], "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-59c94f0d-d30d-4449-a20b-9e403657b439" } ], "id": "e1cbde2c-5d98-447f-a109-2e49afad29e2", "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-e1cbde2c-5d98-447f-a109-2e49afad29e2" }, { "name": "Retrieve access requests", "id": "8ad4802d-953f-4e88-b5f7-8a3398ea3538", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/v3/scopes/requests?limit=50&offset=0", "host": [ "{{baseUrl}}" ], "path": [ "v3", "scopes", "requests" ], "query": [ { "description": "`limit` sets the page size, i.e. maximum number of items from the list to be returned for a single API request. If omitted, the default page size is used.", "key": "limit", "value": "50" }, { "description": "The number of items in the list to skip over before starting to retrieve the items for the requested page. The default `offset` of `0` represents the beginning of the list, i.e. the start of the first page. To request the second page of the list, set the `offset` to the page size as determined by `limit`. Use multiples of the page size as your `offset` to request further consecutive pages. E.g. assume your page size is set to `10`. An `offset` of `10` requests the second page, an `offset` of `20` requests the third page and so on, provided there are sufficiently many items in your list.", "key": "offset", "value": "0" } ] }, "description": "**This endpoint allows you to retrieve a paginated list of all recent access requests.**\n\nYou can use the `limit` query parameter to set the page size. If your list contains more items than the page size permits, you can make multiple requests. Use the `offset` query parameter to control the position in the list from which to start retrieving additional items." }, "response": [ { "id": "75cc0077-809e-4eb4-a4f1-caefe0738d2b", "name": "response", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/v3/scopes/requests?limit=50&offset=0", "host": [ "{{baseUrl}}" ], "path": [ "v3", "scopes", "requests" ], "query": [ { "description": "`limit` sets the page size, i.e. maximum number of items from the list to be returned for a single API request. If omitted, the default page size is used.", "key": "limit", "value": "50" }, { "description": "The number of items in the list to skip over before starting to retrieve the items for the requested page. The default `offset` of `0` represents the beginning of the list, i.e. the start of the first page. To request the second page of the list, set the `offset` to the page size as determined by `limit`. Use multiples of the page size as your `offset` to request further consecutive pages. E.g. assume your page size is set to `10`. An `offset` of `10` requests the second page, an `offset` of `20` requests the third page and so on, provided there are sufficiently many items in your list.", "key": "offset", "value": "0" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "[\n {\n \"id\": \"\",\n \"scope_group_name\": \"\",\n \"username\": \"\",\n \"email\": \"\",\n \"first_name\": \"\",\n \"last_name\": \"\"\n },\n {\n \"id\": \"\",\n \"scope_group_name\": \"\",\n \"username\": \"\",\n \"email\": \"\",\n \"first_name\": \"\",\n \"last_name\": \"\"\n }\n]", "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-75cc0077-809e-4eb4-a4f1-caefe0738d2b" } ], "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-8ad4802d-953f-4e88-b5f7-8a3398ea3538" } ], "id": "111fc0d7-b8da-4136-8373-dc6184f0603e", "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-111fc0d7-b8da-4136-8373-dc6184f0603e" }, { "name": "Retrieve a list of scopes for which this user has access.", "id": "773d2d9d-ae0c-41a0-9773-810ee90ccf8f", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "GET", "header": [ { "description": "The `on-behalf-of` header allows you to make API calls from a parent account on behalf of the parent's Subusers or customer accounts. You will use the parent account's API key when using this header. When making a call on behalf of a customer account, the property value should be \"account-id\" followed by the customer account's ID (e.g., `on-behalf-of: account-id `). When making a call on behalf of a Subuser, the property value should be the Subuser's username (e.g., `on-behalf-of: `). See [**On Behalf Of**](https://docs.sendgrid.com/api-reference/how-to-use-the-sendgrid-v3-api/on-behalf-of) for more information.", "key": "on-behalf-of", "value": "" }, { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/v3/scopes", "host": [ "{{baseUrl}}" ], "path": [ "v3", "scopes" ] }, "description": "**This endpoint returns a list of all scopes that this user has access to.**\n\nAPI Keys are used to authenticate with [SendGrid's v3 API](https://docs.sendgrid.com/api-reference/how-to-use-the-sendgrid-v3-api/authorization).\n\nAPI Keys may be assigned certain permissions, or scopes, that limit which API endpoints they are able to access.\n\nThis endpoint returns all the scopes assigned to the key you use to authenticate with it. To retrieve the scopes assigned to another key, you can pass an API key ID to the \"Retrieve an existing API key\" endpoint.\n\nFor a more detailed explanation of how you can use API Key permissions, please visit our [API Keys documentation](https://sendgrid.com/docs/ui/account-and-settings/api-keys/)." }, "response": [ { "id": "6b179a8b-eabb-4d1a-959f-26e248b973d0", "name": "response", "originalRequest": { "method": "GET", "header": [ { "description": "The `on-behalf-of` header allows you to make API calls from a parent account on behalf of the parent's Subusers or customer accounts. You will use the parent account's API key when using this header. When making a call on behalf of a customer account, the property value should be \"account-id\" followed by the customer account's ID (e.g., `on-behalf-of: account-id `). When making a call on behalf of a Subuser, the property value should be the Subuser's username (e.g., `on-behalf-of: `). See [**On Behalf Of**](https://docs.sendgrid.com/api-reference/how-to-use-the-sendgrid-v3-api/on-behalf-of) for more information.", "key": "on-behalf-of", "value": "" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/v3/scopes", "host": [ "{{baseUrl}}" ], "path": [ "v3", "scopes" ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"scopes\": [\n \"\",\n \"\"\n ]\n}", "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-6b179a8b-eabb-4d1a-959f-26e248b973d0" }, { "id": "6d04f585-2162-4756-be7a-093710aa2d9e", "name": "response", "originalRequest": { "method": "GET", "header": [ { "description": "The `on-behalf-of` header allows you to make API calls from a parent account on behalf of the parent's Subusers or customer accounts. You will use the parent account's API key when using this header. When making a call on behalf of a customer account, the property value should be \"account-id\" followed by the customer account's ID (e.g., `on-behalf-of: account-id `). When making a call on behalf of a Subuser, the property value should be the Subuser's username (e.g., `on-behalf-of: `). See [**On Behalf Of**](https://docs.sendgrid.com/api-reference/how-to-use-the-sendgrid-v3-api/on-behalf-of) for more information.", "key": "on-behalf-of", "value": "" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/v3/scopes", "host": [ "{{baseUrl}}" ], "path": [ "v3", "scopes" ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"errors\": [\n {\n \"message\": \"\",\n \"field\": \"\"\n },\n {\n \"message\": \"\",\n \"field\": \"\"\n }\n ]\n}", "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-6d04f585-2162-4756-be7a-093710aa2d9e" }, { "id": "8c60bf97-9f6f-4793-aaf2-5f366f8964ef", "name": "Scopes forbidden response.", "originalRequest": { "method": "GET", "header": [ { "description": "The `on-behalf-of` header allows you to make API calls from a parent account on behalf of the parent's Subusers or customer accounts. You will use the parent account's API key when using this header. When making a call on behalf of a customer account, the property value should be \"account-id\" followed by the customer account's ID (e.g., `on-behalf-of: account-id `). When making a call on behalf of a Subuser, the property value should be the Subuser's username (e.g., `on-behalf-of: `). See [**On Behalf Of**](https://docs.sendgrid.com/api-reference/how-to-use-the-sendgrid-v3-api/on-behalf-of) for more information.", "key": "on-behalf-of", "value": "" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/v3/scopes", "host": [ "{{baseUrl}}" ], "path": [ "v3", "scopes" ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"errors\": [\n {\n \"message\": \"\",\n \"field\": \"\",\n \"help\": {}\n },\n {\n \"message\": \"\",\n \"field\": \"\",\n \"help\": {}\n }\n ],\n \"id\": \"\"\n}", "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-8c60bf97-9f6f-4793-aaf2-5f366f8964ef" }, { "id": "8548e5fc-7dfd-4d2e-8257-406c639a1122", "name": "Scopes not found response.", "originalRequest": { "method": "GET", "header": [ { "description": "The `on-behalf-of` header allows you to make API calls from a parent account on behalf of the parent's Subusers or customer accounts. You will use the parent account's API key when using this header. When making a call on behalf of a customer account, the property value should be \"account-id\" followed by the customer account's ID (e.g., `on-behalf-of: account-id `). When making a call on behalf of a Subuser, the property value should be the Subuser's username (e.g., `on-behalf-of: `). See [**On Behalf Of**](https://docs.sendgrid.com/api-reference/how-to-use-the-sendgrid-v3-api/on-behalf-of) for more information.", "key": "on-behalf-of", "value": "" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/v3/scopes", "host": [ "{{baseUrl}}" ], "path": [ "v3", "scopes" ] } }, "status": "Not Found", "code": 404, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"errors\": [\n {\n \"message\": \"\",\n \"field\": \"\",\n \"help\": {}\n },\n {\n \"message\": \"\",\n \"field\": \"\",\n \"help\": {}\n }\n ],\n \"id\": \"\"\n}", "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-8548e5fc-7dfd-4d2e-8257-406c639a1122" }, { "id": "f0aab12e-5647-49d4-9482-dd57c7ef5b5f", "name": "Scopes internal server error response.", "originalRequest": { "method": "GET", "header": [ { "description": "The `on-behalf-of` header allows you to make API calls from a parent account on behalf of the parent's Subusers or customer accounts. You will use the parent account's API key when using this header. When making a call on behalf of a customer account, the property value should be \"account-id\" followed by the customer account's ID (e.g., `on-behalf-of: account-id `). When making a call on behalf of a Subuser, the property value should be the Subuser's username (e.g., `on-behalf-of: `). See [**On Behalf Of**](https://docs.sendgrid.com/api-reference/how-to-use-the-sendgrid-v3-api/on-behalf-of) for more information.", "key": "on-behalf-of", "value": "" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/v3/scopes", "host": [ "{{baseUrl}}" ], "path": [ "v3", "scopes" ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"errors\": [\n {\n \"message\": \"\",\n \"field\": \"\",\n \"help\": {}\n },\n {\n \"message\": \"\",\n \"field\": \"\",\n \"help\": {}\n }\n ],\n \"id\": \"\"\n}", "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-f0aab12e-5647-49d4-9482-dd57c7ef5b5f" } ], "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-773d2d9d-ae0c-41a0-9773-810ee90ccf8f" } ], "id": "2607caf5-5243-4d97-a553-9ef31cfc3d63", "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-2607caf5-5243-4d97-a553-9ef31cfc3d63" } ], "id": "def1416b-d4ee-47e8-b8f4-3778936b424d", "createdAt": "2026-06-05T15:17:44.000Z", "updatedAt": "2026-06-05T15:17:44.000Z", "uid": "35240-def1416b-d4ee-47e8-b8f4-3778936b424d" } ], "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{bearerToken}}", "type": "string" } ] }, "variable": [ { "key": "baseUrl", "value": "https://api.sendgrid.com" } ] }