---
title: "List Translation Approvals"
method: GET
path: "/projects/{projectId}/approvals"
tags: ["String Translations"]
---

# List Translation Approvals

`GET /projects/{projectId}/approvals`

## Request

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

**Required scopes:** `project.translation` (Read only).

__Note:__ Either `translationId` OR `languageId` is required. `stringId`, `labelIds` and `excludeLabelIds` can be used only with `languageId` in the same request

## Path parameters

- `projectId` integer, required

## Query parameters

- `orderBy` 'id' | 'createdAt'
- `stringId` integer
- `languageId` string
- `translationId` integer
- `labelIds` string
- `excludeLabelIds` string
- `limit` integer
- `offset` integer

## Response `200`

Translation approvals list

- TranslationApprovalCollectionResource: 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` TranslationApprovalResource[], required
    - `data` union, required
      - StringApproval: Base approval model with common fields
        - `id` integer: Approval Identifier. Get via [List Translation Approvals](#operation/api.projects.approvals.getMany)
        - `user` object: User
          - `id` integer
          - `username` string
          - `fullName` string
          - `avatarUrl` string
        - `translationId` integer: Translation Identifier
        - `languageId` string: Language Identifier. Get via [Project Target Languages](#operation/api.projects.get)
        - `createdAt` string, date-time: Approval create date
        - `stringId` integer: String Identifier. Get via [List Strings](#operation/api.projects.strings.getMany)
      - AssetApproval: Base approval model with common fields
        - `id` integer: Approval Identifier. Get via [List Translation Approvals](#operation/api.projects.approvals.getMany)
        - `user` object: User
          - `id` integer
          - `username` string
          - `fullName` string
          - `avatarUrl` string
        - `translationId` integer: Translation Identifier
        - `languageId` string: Language Identifier. Get via [Project Target Languages](#operation/api.projects.get)
        - `createdAt` string, date-time: Approval create date
        - `fileId` integer: File Identifier. Get via [List Files](#operation/api.projects.files.getMany)
  - `pagination` Pagination: Pagination Response Model
    - `offset` integer
    - `limit` integer

## Other responses

- `400`: Invalid Request Parameters
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Project, string, language, or translation with specified id was not found
- `405`: Method Not Allowed
- `503`: Service Unavailable

---

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