---
title: "Create Application Consent Decision"
method: POST
path: "/applications/consents"
tags: ["Applications"]
---

# Create Application Consent Decision

`POST /applications/consents`

## Request

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

**Required scopes:** `application.consent` (Read and Write).

Record the current user's consent decision (`granted` or `denied`) for an application installed by another user. In the normal flow Crowdin records the decision itself when the user responds to the consent prompt shown for the application - use this endpoint to record a decision programmatically. A user has at most one decision per installation - creating a second one returns `409`; use [Edit Application Consent Decision](#operation/api.applications.consents.patch) to change an existing decision.

## Request body

- ApplicationConsentCreateForm
  - `identifier` string, required: Application identifier the decision applies to - the same `identifier` as in [List Application Installations](#operation/api.applications.installations.getMany)
  - `installedBy` integer, required: Identifier of the user who installed the application - the same as `installedBy.id` in [List Application Installations](#operation/api.applications.installations.getMany). Together with `identifier` it pins the decision to a specific installation
  - `status` 'granted' | 'denied', required: The decision: whether the application may act on behalf of the current user
  - `scopes` string[]: Scopes the decision was made for - a snapshot of the application scopes at decision time.<br><br>Available scopes: `*`, `language`, `user`, `team`, `notification`, `custom_language`, `group`, `tm`, `glossary`, `style-guide`, `mt`, `ai`, `ai.provider`, `ai.prompt`, `ai.proxy`, `ai.translate`, `automation`, `automation.rule`, `automation.rule.execution`, `webhook`, `project`, `project.settings`, `project.member`, `project.status`, `project.status.issue`, `project.status.progress`, `project.status.qa-check`, `project.source`, `project.source.file`, `project.source.string`, `project.translation`, `project.screenshot`, `project.webhook`, `project.task`, `project.dictionary`, `project.report`, `project.advisor`, `client`, `vendor`, `field`, `security-log`, `application`, `application.installation`, `application.proxy`, `application.consent`, `application.storage`, `organization`, `custom-spellchecker`, `external-qa-check`.<br><br>Each scope supports `:read` and `:write` modifiers (e.g. `project:read`, `project:write`); without a modifier the scope grants both

## Response `201`

Application Consent Decision was successfully created

- ApplicationConsentResource: 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` ApplicationConsent, required: The current user's decision on whether an application may act on their behalf
    - `id` integer
    - `installedBy` object, nullable: The user who installed the application the decision applies to
      - `id` integer
      - `username` string
      - `fullName` string
      - `avatarUrl` string
    - `identifier` string: Application identifier the decision applies to
    - `name` string, nullable: Name of the application the decision applies to. `null` when the application is no longer installed
    - `status` 'granted' | 'denied': Whether the application may act on behalf of the current user
    - `scopes` string[]: Scopes the decision was made for - a snapshot of the application scopes at decision time
    - `createdAt` string, date-time
    - `updatedAt` string, date-time

## Other responses

- `400`: Invalid Request Parameters
- `401`: Unauthorized
- `404`: Organization not found
- `409`: A consent decision for this application already exists

---

[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)
