---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.2
  - property: og:type
    content: article
  - property: article:section
    content: Справочник API
  - property: og:title
    content: Создать триггер с помощью запроса к API
  - property: article:tag
    content: Техническая инструкция
alternate:
  - https://yandex.ru/support/tracker/en/api-ref/queues/create-trigger.md
  - https://yandex.ru/support/tracker/ru/api-ref/queues/create-trigger.md
  - href: en/api-ref/queues/create-trigger.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/tracker/en/llms.txt


# Creating a trigger using an API request

Use this request to create [trigger](https://yandex.ru/support/tracker/en/user/create-trigger.md).

<div class="request_example method_post yfm-clipboard">
    <p>POST</p>
    <pre><code>https://api.tracker.yandex.net/v3/queues/&lt;queue_ID>/triggers</code></pre>
    <button class="yfm-clipboard-button"><svg width="16" height="16" viewBox="0 0 24 24" class="yfm-clipboard-icon" data-animation="15">
    <path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path>
    <path stroke="currentColor" fill="transparent" strokewidth="1.5" d="M9.5 13l3 3l5 -5" visibility="hidden">
        <animate id="visibileAnimation-15" attributeName="visibility" from="hidden" to="visible" dur="0.2s" fill="freeze" begin=""></animate>
        <animate id="hideAnimation-15" attributeName="visibility" from="visible" to="hidden" dur="1s" begin="visibileAnimation-15.end+1" fill="freeze"></animate>
    </path>
</svg>
</button>
</div>

<!-- source: en/api-ref/_assets/style/methods.md -->

<!-- endsource: en/api-ref/_assets/style/methods.md -->

## Query format {#query}

Before making a request, [get permission to access the API](https://yandex.ru/support/tracker/en/api-ref/access.md).

To create a trigger, use an HTTP `POST` request. In the request body, specify the parameters in JSON format.

```json
POST /v3/queues/<queue_ID>/triggers
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth_token>
X-Org-ID or X-Cloud-Org-ID: <organization_ID>

{
    "name": "<trigger_name>",
    "actions": [<trigger_action_parameters>],
    "conditions": [<trigger_condition_parameters>]
}
```

<!-- source: en/api-ref/_includes/headings.md -->
{% cut "Headers" %}

* `Host`: address of the node that provides the API.

* <!-- source: en/api-ref/_includes/authorization.md -->
  `Authorization`: Authorization token about these formats:

    - `OAuth <OAuth_token>`: For authorization using the OAuth 2.0 protocol. [Learn more](https://yandex.ru/support/tracker/en/api-ref/access.md#about_OAuth)

    - `Bearer <IAM_token>`: For authorization using an IAM token, if a Yandex Identity Hub organization is linked to Tracker. [Learn more](https://yandex.ru/support/tracker/en/api-ref/access.md#iam-token)
  <!-- endsource: en/api-ref/_includes/authorization.md -->


* <!-- source: en/api-ref/_includes/org-id.md -->
  `X-Org-ID` or `X-Cloud-Org-ID`: Organization ID.

  - Use the `X-Org-ID` header if a Tracker organization is linked to Yandex 360 for Business.

  - Use the `X-Cloud-Org-ID` header if a Tracker organization is linked to Yandex Identity Hub.

  To get the organization ID, go to **Administration** → [**Organizations**](https://tracker.yandex.com/admin/orgs) and copy the value from the **ID** field. {#find-id}
  <!-- endsource: en/api-ref/_includes/org-id.md -->


{% endcut %}
<!-- endsource: en/api-ref/_includes/headings.md -->

{% cut "Resource" %}

| Parameter | Description | Data type |
----- | ----- | -----
| \<queue_ID\> | Queue ID or key. The queue key is case-sensitive. | String or number |

{% endcut %}

{% cut "Request body parameters" %}

**Required parameters**

| Parameter | Description | Data type |
----- | ----- | -----
| name | Trigger name | String |
| [actions](#actions) | Array with trigger actions For more information, see [Trigger action objects](change-trigger-actions.md). | Array of objects |

**Additional parameters**

| Parameter | Description | Data type |
----- | ----- | -----
| [conditions](#conditions) | Array with trigger conditions For more information, see [Trigger condition objects](change-trigger-conditions.md). | Array of objects |
| active | Trigger status Acceptable values include:<ul><li>`true`: Active</li><li>`false`: Inactive</li></ul> | Boolean |

{% endcut %}

> Example: Creating a trigger that fires at a specified condition and changes the issue status.
> - An HTTP POST method is used.
> - Create a trigger for the DESIGN queue.
> - Trigger condition: the comment text matches **Open**.
> - Trigger action: issue status changes to **Open**.
> ```json
> POST /v3/queues/DESIGN/triggers
> Host: api.tracker.yandex.net
> Authorization: OAuth <OAuth_token>
> X-Org-ID or X-Cloud-Org-ID: <organization_ID>
> {
>   "name": "TriggerName",
>   "actions": [
>       {
>           "type": "Transition",
>           "status": {
>               "key": "open"
>               }
>       }
>   ],
>   "conditions": [
>        {
>           "type": "CommentFullyMatchCondition",
>           "word": "Open"
>        }
>    ]
> }
> ```

## Response format {#answer}

{% list tabs %}

- Request executed successfully

  <!-- source: en/api-ref/_includes/answer-200.md -->
  If the request is successful, the API returns a response with code `200 OK`.
  <!-- endsource: en/api-ref/_includes/answer-200.md -->

  The request body contains information about the created trigger in JSON format.

    ```json
    {
    "id": 16,
    "self": "https://api.tracker.yandex.net/v3/queues/DESIGN/triggers/16",
    "queue": {
        "self": "https://api.tracker.yandex.net/v3/queues/DESIGN",
        "id": "26",
        "key": "DESIGN",
        "display": "Design"
    },
    "name": "trigger_name",
    "order": "0.0002",
    "actions": [
        {
            "type": "Transition",
            "id": 1,
            "status": {
                "self": "https://api.tracker.yandex.net/v3/statuses/2",
                "id": "2",
                "key": "needInfo",
                "display": "Need info"
            }
        }
    ],
    "conditions": [
        {
            "type": "Or",
            "conditions": [
                {
                    "type": "Event.comment-create"
                }
            ]
        }
    ],
    "version": 1,
    "active": true
    }


   ```

   {% cut "Response parameters" %}

   | Parameter | Description | Data type |
   ----- | ----- | -----
   | id | Trigger ID | String |
   | self | Links to trigger | String |
   | [queue](#queue) | Queue to create the trigger | Can be set as an object, a string (if the [queue key](../../manager/create-queue.md#key) is provided), or a number (if the queue ID is provided). |
   | name | Trigger name | String |
   | order | Trigger weight. This parameter affects the order of trigger display in the interface. | String |
   | [actions](#actions) | Array with trigger actions | Array of objects |
   | [conditions](#conditions) | Array with trigger conditions | Array of objects |
   | version | Trigger version. Each trigger update increases the version number. | Number |
   | active | Trigger status Acceptable values include:<ul><li>`true`: Active</li><li>`false`: Inactive</li></ul> | Boolean |

   `queue` **object fields** {#queue}

   <!-- source: en/api-ref/_includes/queue.md -->
   | Parameter | Description | Data type |
   ----- | ----- | -----
   | self | Address of the API resource with information about the queue. | String |
   | id | Queue ID. | String |
   | key | Queue key. | String |
   | display | Queue name displayed. | String |
   <!-- endsource: en/api-ref/_includes/queue.md -->

   `actions` **array object fields** {#actions}

   | Parameter | Description | Data type |
   ----- | ----- | -----
   | type | Action type. Acceptable values include:<ul><li>`Transition`: Change the issue status.</li><li>`Update`: Change a field value.</li><li>`Move`: Move issue.</li><li>`Event.comment-create`: Add a comment.</li><li>`CreateChecklist`: Create a checklist.</li><li>`Webhook`: Send an HTTP request.</li><li>`CalculateFormula`: Calculate a value.</li><li>`Event.create`: Create an issue.</li></ul> | String |
   | id | Action ID | String |
   | [status](#status) | Issue status | String |

   `conditions` **array object fields** {#conditions}

   | Parameter | Description | Data type |
   ----- | ----- | -----
   | type | Condition type. Acceptable values:<ul><li>`or`: Logical OR</li><li>`and`: Logical AND</li></ul> | String |
   | conditions | Array with trigger conditions.<br/>For every condition, you can specify its `type`. Acceptable values:<ul><li>`CommentNoneMatchCondition`: The comment does not contain any of the fragments.</li><li>`CommentStringNotMatchCondition`: The comment does not contain the fragment.</li><li>`CommentFullyMatchCondition`: The comment fully matches the fragment.</li><li>`CommentAnyMatchCondition`: The comment includes any of the fragments.</li><li>`CommentStringMatchCondition`: The comment includes the fragment.</li><li>`CommentAuthorNot`: The comment author does not match the fragment.</li><li>`CommentAuthor`: The comment author matches the fragment.</li><li>`CommentMessageExternal`: The comment type is `Email`.</li><li>`CommentMessageInternal`: The comment type is `Common comment`.</li></ul> | Array of objects |

   `status` **array object fields** {#status}

   <!-- source: en/api-ref/_includes/status.md -->
   | Parameter | Description | Data type |
   ----- | ----- | -----
   | self | Address of the API resource with information about the status. | String |
   | id | Status ID. | String |
   | key | Status key. | String |
   | display | Status name displayed. | String |
   <!-- endsource: en/api-ref/_includes/status.md -->

   {% endcut %}

- Request failed

    If the request is processed incorrectly, the API returns a message with error details:

    <!-- source: en/api-ref/_includes/answer-error-400.md -->
    400
    :   One or more request parameters have an invalid value.
    <!-- endsource: en/api-ref/_includes/answer-error-400.md -->

    <!-- source: en/api-ref/_includes/answer-error-403.md -->
    403
    :   You are not authorized to perform this action. You can check what rights you have in the Tracker interface. The same rights are required to perform an action via the API and interface.
    <!-- endsource: en/api-ref/_includes/answer-error-403.md -->

    <!-- source: en/api-ref/_includes/answer-error-404.md -->
    404
    :   The requested object was not found. You may have specified an invalid object ID or key.
    <!-- endsource: en/api-ref/_includes/answer-error-404.md -->

    <!-- source: en/api-ref/_includes/answer-error-409.md -->
    409
    :   There was a conflict when editing the object. The error may be due to an invalid update version.
    <!-- endsource: en/api-ref/_includes/answer-error-409.md -->

    <!-- source: en/api-ref/_includes/answer-error-422.md -->
    422
    :   JSON validation error, the request is rejected.
    <!-- endsource: en/api-ref/_includes/answer-error-422.md -->

    <!-- source: en/api-ref/_includes/answer-error-500.md -->
    500
    :   Internal service error. Try again later.
    <!-- endsource: en/api-ref/_includes/answer-error-500.md -->

    <!-- source: en/api-ref/_includes/answer-error-503.md -->
    503
    :   The API service is temporarily unavailable.
    <!-- endsource: en/api-ref/_includes/answer-error-503.md -->

{% endlist %}
