---
title: "Create a new UsageTrigger"
method: POST
path: "/2010-04-01/Accounts/{AccountSid}/Usage/Triggers.json"
tags: ["Api20100401Trigger"]
---

# Create a new UsageTrigger

`POST /2010-04-01/Accounts/{AccountSid}/Usage/Triggers.json`

## Request

- Base URL: `https://api.twilio.com`
- URL: `https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Usage/Triggers.json`
- Auth: HTTP basic

Create a new UsageTrigger

## Path parameters

- `AccountSid` string, required

## Request body `application/x-www-form-urlencoded`

- object
  - `CallbackUrl` string, uri, required: The URL we should call using `callback_method` when the trigger fires.
  - `TriggerValue` string, required: The usage value at which the trigger should fire. For convenience, you can use an offset value such as `+30` to specify a trigger_value that is 30 units more than the current usage value. Be sure to urlencode a `+` as `%2B`.
  - `UsageCategory` string, required: The usage category that the trigger should watch. Use one of the supported [usage categories](https://www.twilio.com/docs/usage/api/usage-record#usage-categories) for this value.
  - `CallbackMethod` 'GET' | 'POST', http-method: The HTTP method we should use to call `callback_url`. Can be: `GET` or `POST` and the default is `POST`.
  - `FriendlyName` string: A descriptive string that you create to describe the resource. It can be up to 64 characters long.
  - `Recurring` 'daily' | 'monthly' | 'yearly' | 'alltime': The frequency of a recurring UsageTrigger. Can be: `daily`, `monthly`, or `yearly` for recurring triggers or empty for non-recurring triggers. A trigger will only fire once during each period. Recurring times are in GMT.
  - `TriggerBy` 'count' | 'usage' | 'price': The field in the [UsageRecord](https://www.twilio.com/docs/usage/api/usage-record) resource that fires the trigger. Can be: `count`, `usage`, or `price`, as described in the [UsageRecords documentation](https://www.twilio.com/docs/usage/api/usage-record#usage-count-price).

## Response `201`

Created

- ApiV2010AccountUsageUsageTrigger
  - `account_sid` string, nullable: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that the trigger monitors.
  - `api_version` string, nullable: The API version used to create the resource.
  - `callback_method` 'GET' | 'POST', http-method, nullable: The HTTP method we use to call `callback_url`. Can be: `GET` or `POST`.
  - `callback_url` string, uri, nullable: The URL we call using the `callback_method` when the trigger fires.
  - `current_value` string, nullable: The current value of the field the trigger is watching.
  - `date_created` string, date-time-rfc-2822, nullable: The date and time in GMT that the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
  - `date_fired` string, date-time-rfc-2822, nullable: The date and time in GMT that the trigger was last fired specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
  - `date_updated` string, date-time-rfc-2822, nullable: The date and time in GMT that the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
  - `friendly_name` string, nullable: The string that you assigned to describe the trigger.
  - `recurring` 'daily' | 'monthly' | 'yearly' | 'alltime': The frequency of a recurring UsageTrigger. Can be: `daily`, `monthly`, or `yearly` for recurring triggers or empty for non-recurring triggers. A trigger will only fire once during each period. Recurring times are in GMT.
  - `sid` string, nullable: The unique string that that we created to identify the UsageTrigger resource.
  - `trigger_by` 'count' | 'usage' | 'price': The field in the [UsageRecord](https://www.twilio.com/docs/usage/api/usage-record) resource that fires the trigger. Can be: `count`, `usage`, or `price`, as described in the [UsageRecords documentation](https://www.twilio.com/docs/usage/api/usage-record#usage-count-price).
  - `trigger_value` string, nullable: The value at which the trigger will fire. Must be a positive, numeric value.
  - `uri` string, nullable: The URI of the resource, relative to `https://api.twilio.com`.
  - `usage_category` string, nullable: The usage category the trigger watches. Must be one of the supported [usage categories](https://www.twilio.com/docs/usage/api/usage-record#usage-categories).
  - `usage_record_uri` string, nullable: The URI of the [UsageRecord](https://www.twilio.com/docs/usage/api/usage-record) resource this trigger watches, relative to `https://api.twilio.com`.

## Changes

- **2025-09-04** (v2010) `5a1f9bff7440`: 644 breaking, 643 info
  - removed the enum value `a2p-10dlc-registrationfees-brandregistration` of the request property `UsageCategory`
  - removed the enum value `a2p-10dlc-registrationfees-bv` of the request property `UsageCategory`
  - removed the enum value `a2p-10dlc-registrationfees-campaigncharges` of the request property `UsageCategory`
  - removed the enum value `a2p-10dlc-registrationfees-campaignregistration` of the request property `UsageCategory`
  - …1283 more
- **2025-08-18** (v2010) `9dd521c52691`: 6 warning, 6 info
  - added the new `channels-whatsapp-service` enum value to the `usage_category` response property for the response status `201`
  - added the new `channels-whatsapp-template-authentication` enum value to the `usage_category` response property for the response status `201`
  - added the new `channels-whatsapp-template-marketing` enum value to the `usage_category` response property for the response status `201`
  - added the new `channels-whatsapp-template-service` enum value to the `usage_category` response property for the response status `201`
  - …8 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/twilio/apis/api-v2010/changes/2010-04-01/Accounts/:AccountSid/Usage/Triggers.json/post.md)

---

[API](https://skmtc.dev/twilio/apis/api-v2010.md) - [All operations](https://skmtc.dev/twilio/apis/api-v2010/llms.txt) - [OpenAPI document](https://skmtc.dev/twilio/apis/api-v2010/revisions/bfdf249a1298?raw)
