---
title: "GET /v1/permission-profiles/non-grantable"
method: GET
path: "/v1/permission-profiles/non-grantable"
tags: ["PermissionProfile"]
---

# GET /v1/permission-profiles/non-grantable

`GET /v1/permission-profiles/non-grantable`

## Request

- Base URL: `https://api.infoset.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.infoset.app/v1/permission-profiles/non-grantable`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Api-Key`
- TypeScript: <https://skmtc.dev/infoset/apis/infoset-rest-api/docs/v1/permission-profiles/non-grantable/get.ts> (a function with typed inputs; its response is checked against the schema)

## Response `200`

OK

- NonGrantableRightsDescriptor: IDT-1082 (S8): the client-facing description of the non-grantable (⛔) policy, so the custom-profile editor can render the affected module/action cells as faded/disabled. Built solely from Infoset.Types.Authorization.NonGrantableRights — it carries no new policy, only a serialisable view of the existing set.
  - `combinations` NonGrantableCombination[], nullable: Explicit (module, action) pairs a custom profile may never grant.
    - `module` 100 | 201 | 202 | 203 | 204 | 300 | 301 | 302 | 310 | 311 | 312 | 313 | 314 | 315 | 318 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 340 | 341 | 362 | 363 | 364 | 365 | 366 | 375 | 400 | 500 | 501 | 601 | 602 | 603 | 604 | 605 | 610 | 614 | 615 | 616 | 617 | 618 | 619 | 620 | 621 | 622 | 623 | 624 | 625 | 626 | 627 | 700 | 701 | 702 | 703 | 801 | 802 | 803 | 900 | 901: <p>Enum values:</p><ul><li><i>100 = DynamicDashboard</i></li><li><i>201 = Contacts</i></li><li><i>202 = Companies</i></li><li><i>203 = Groups</i></li><li><i>204 = RelatedContacts</i></li><li><i>300 = Deals</i></li><li><i>301 = RelatedDeals</i></li><li><i>302 = DealNotes</i></li><li><i>310 = Tickets</i></li><li><i>311 = RelatedTickets</i></li><li><i>312 = TicketNotes</i></li><li><i>313 = MergeTickets</i></li><li><i>314 = TicketCsat</i></li><li><i>315 = Views</i></li><li><i>318 = Announcements</i></li><li><i>321 = Chats</i></li><li><i>322 = RelatedChats</i></li><li><i>323 = ChatWidgets</i></li><li><i>324 = ChatHistory</i></li><li><i>325 = ChatTags</i></li><li><i>326 = ChatLivePanel</i></li><li><i>327 = ChatMessages</i></li><li><i>328 = ChatHistoryRelated</i></li><li><i>340 = Chatbots</i></li><li><i>341 = Outbound</i></li><li><i>362 = CallCenterLiveDashboard</i></li><li><i>363 = CallLogs</i></li><li><i>364 = Voicemails</i></li><li><i>365 = VoipSettings</i></li><li><i>366 = CallTags</i></li><li><i>375 = Dialers</i></li><li><i>400 = Reports</i></li><li><i>500 = UserActivityStatus</i></li><li><i>501 = UserSelfActivityStatus</i></li><li><i>601 = Settings</i></li><li><i>602 = Users</i></li><li><i>603 = Rights</i></li><li><i>604 = UserRatings</i></li><li><i>605 = Pipelines</i></li><li><i>610 = CustomFields</i></li><li><i>614 = Categories</i></li><li><i>615 = SavedReplies</i></li><li><i>616 = Automations</i></li><li><i>617 = Templates</i></li><li><i>618 = Sla</i></li><li><i>619 = RoutingQueues</i></li><li><i>620 = AiSettings</i></li><li><i>621 = ForbiddenWords</i></li><li><i>622 = Integrations</i></li><li><i>623 = AuditLogs</i></li><li><i>624 = UsersBulkImport</i></li><li><i>625 = UsersRestore</i></li><li><i>626 = WorkingHours</i></li><li><i>627 = MailAccounts</i></li><li><i>700 = AccountManagement</i></li><li><i>701 = AccountInfo</i></li><li><i>702 = Invoices</i></li><li><i>703 = Payments</i></li><li><i>801 = Articles</i></li><li><i>802 = Collections</i></li><li><i>803 = HelpCenterSettings</i></li><li><i>900 = Departments</i></li><li><i>901 = Profiles</i></li><li><i>9900 = SuperadminRights</i></li><li><i>9901 = SuperadminAccounts</i></li><li><i>9902 = SuperadminPromos</i></li><li><i>9903 = SuperadminApps</i></li><li><i>9904 = SuperadminPartnerWithdrawals</i></li><li><i>9905 = SuperAdminOnPremiseSettings</i></li><li><i>9906 = SuperadminReleaseNotes</i></li></ul>
    - `action` 0 | 1 | 2 | 3 | 4: <p>Enum values:</p><ul><li><i>0 = View</i></li><li><i>1 = Edit</i></li><li><i>2 = Delete</i></li><li><i>3 = Create</i></li><li><i>4 = Export</i></li></ul>
  - `modules` integer[], nullable: IDT-1150: whole modules non-grantable in ANY action (View included) — the Owner / Owner+GA monopoly. The custom-profile editor must not list these modules at all.
  - `superadminBandModuleThreshold` integer: Every module whose id is >= this threshold (the SuperAdmin band) is non-grantable in any action, so the client can grey the whole band out without the server enumerating each superadmin module.
  - `recordingDownloadNonGrantable` boolean: Recording download (SAVE_AS / "İndir") — now GRANTABLE to a custom profile. Frozen at false (computed, not settable) so existing clients keying off this flag re-enable the download column without a contract break, and no future edit can flip it back by mistake.
  - `recordingDeleteNonGrantable` boolean: Recording delete ("Sil") is non-grantable to a custom profile on both the per-VoIP-user and per-external-number recording axes. Replaced download as the restricted recording action.
  - `pendingKeys` string[], nullable: Conceptually non-grantable rights that do not yet have a Infoset.Types.RightModule (see Infoset.Types.Authorization.NonGrantableRights.PendingNonGrantableKeys); listed so the client knows they exist.

---

[API](https://skmtc.dev/infoset/apis/infoset-rest-api.md) - [All operations](https://skmtc.dev/infoset/apis/infoset-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/infoset/apis/infoset-rest-api/revisions/709c8123f593?raw)
