---
title: "List User Projects Permissions"
method: GET
path: "/users/{userId}/projects/permissions"
tags: ["Users"]
---

# List User Projects Permissions

`GET /users/{userId}/projects/permissions`

## Request

- Base URL: `https://api.crowdin.com/api/v2`
- URL: `https://api.crowdin.com/api/v2/users/{userId}/projects/permissions`
- Auth: none declared
- TypeScript: <https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/docs/users/:userId/projects/permissions/get.ts> (a function with typed inputs; its response is checked against the schema)

**Required scopes:** `user` (Read only).

## Path parameters

- `userId` integer, required

## Query parameters

- `limit` integer
- `offset` integer

## Response `200`

List User Projects Permissions

- EnterpriseProjectsPermissionsCollectionResource: Base schema of resource container. Container is a wrapper object that contains payload in required `data` property and provides space for adding any other metadata.
  - `data` EnterpriseProjectPermissionsResource[], required
    - `data` EnterpriseProjectPermissionsResponseModel, required
      - `id` integer
      - `roles` RolePermission[]: Array of objects
        - `name` string: Role name. `translator`, `proofreader` or `language_coordinator`
        - `permissions` object: Role permission configuration
          - `allLanguages` boolean: `true` or `false`. `true` means that user will have access to all languages and workflow steps
          - `languagesAccess` object: needed if `allLanguages` equal `false`
            - `it` object: Language Identifier. Get via [Project Target Languages](#operation/api.projects.get)
              - …
            - `uk` object: Language Identifier. Get via [Project Target Languages](#operation/api.projects.get)
              - …
      - `project` ProjectResponse
        - `id` integer
        - `groupId` integer
        - `type` integer
        - `userId` integer
        - `sourceLanguageId` string
        - `targetLanguageIds` string[]
        - `name` string
        - `identifier` string
        - `description` string
        - `logo` string
        - `background` string, nullable
        - `isExternal` boolean
        - `externalType` 'proofread' | 'translate', nullable
        - `externalProjectId` integer, nullable
        - `externalOrganizationId` integer, nullable
        - `workflowId` integer
        - `hasCrowdsourcing` boolean
        - `publicDownloads` boolean, nullable
        - `createdAt` string, date-time, nullable
        - `updatedAt` string, date-time, nullable
        - `lastActivity` string, date-time, nullable
        - `sourceLanguage` Language: Class LanguageResponseModel
          - `id` string
          - `name` string
          - `editorCode` string: - alias of internal code
          - `twoLettersCode` string: alias of iso6391 code
          - `threeLettersCode` string: alias of iso6393 code
          - `locale` string
          - `androidCode` string
          - `bcp47Code` string
          - `osxCode` string
          - `osxLocale` string
          - `pluralCategoryNames` string[]: plural category names
          - `pluralRules` string: string with plural rules
          - `pluralExamples` string[]: plural examples array
          - `textDirection` 'ltr' | 'rtl'
          - `dialectOf` string, nullable
        - `targetLanguages` Language[]
          - `id` string
          - `name` string
          - `editorCode` string: - alias of internal code
          - `twoLettersCode` string: alias of iso6391 code
          - `threeLettersCode` string: alias of iso6393 code
          - `locale` string
          - `androidCode` string
          - `bcp47Code` string
          - `osxCode` string
          - `osxLocale` string
          - `pluralCategoryNames` string[]: plural category names
          - `pluralRules` string: string with plural rules
          - `pluralExamples` string[]: plural examples array
          - `textDirection` 'ltr' | 'rtl'
          - `dialectOf` string, nullable
        - `webUrl` string
        - `publicUrl` string, nullable: Specify the URL to a crowdsourcing project
        - `savingsReportSettingsTemplateId` integer
        - `fields` EnterpriseAdditionalFields: Fields. Keys get via [List Fields](#operation/api.fields.getMany)
      - `teams` Team[]
        - `id` integer
        - `name` string
        - `totalMembers` integer
        - `webUrl` string
        - `createdAt` string, date-time: in UTC
        - `updatedAt` string, date-time, nullable: in UTC
  - `pagination` Pagination: Pagination Response Model
    - `offset` integer
    - `limit` integer

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: User with specified identifier was not found
- `405`: Method Not Allowed

---

[API](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2.md) - [All operations](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/revisions/dc68744c5384?raw)
