# Operations resource

> \[!IMPORTANT]
>
> The Push Notifications API is currently available as a
> Private Beta product. The information contained in this document is subject to change. You acknowledge
> and agree that your use of the Twilio Push Notifications API is subject to the terms of the [Services in
> Private Beta](https://www.twilio.com/en-us/legal/service-country-specific-terms/private-beta). This
> means that some features are not yet implemented and others may be changed before the product is
> declared as Generally Available. Private Beta products are not covered by the Twilio Support Terms or
> Twilio Service Level Agreement.

An Operation resource represents a push notification request that targets one or more recipients. When you [send a notification](/docs/push-notifications/api/notification-resource#send-a-notification), the API validates the input and returns an HTTP `202 Accepted` response with an `operationId` in the response body. Use the `operationId` to monitor the status and delivery progress of the request.

As the Operation is processed, it generates a [PushNotification](/docs/push-notifications/api/notification-resource) with an associated `pushNotificationId` for each recipient. Each PushNotification then creates at least one delivery attempt for each provider (FCM or APNs) that is tried.

> \[!NOTE]
>
> Records are available for 7 days after creation. Requests for data older than 7 days may return incomplete results.

## Operation Properties

<OperationTable type="properties" data={{"x-twilio-version":1,"title":"PushNotificationOperation","type":"object","description":"A Push Notification Operation represents the aggregate work to be completed for a POST request to the /PushNotifications endpoint.\nThe work maybe be performed asynchronously and the PushNotification Operation resource can be used to track the progress of the work.","required":["id","status","stats","createdAt","updatedAt"],"refName":"PushNotificationOperation","modelName":"PushNotificationOperation","properties":{"id":{"x-twilio-version":1,"description":"The Operation ID is an identifier that can be used to correlate all of the\nresources created in a request.\n\nIssue a GET request to the resource list location, using the Operation ID as a query parameter\nto retrieve the resources that correlate with the Operation.","title":"OperationId","type":"string","pattern":"^comms_operation_[0-7][a-hjkmnpqrstv-z0-9]{25,34}","example":"comms_operation_01h9krwprkeee8fzqspvwy6nq8","refName":"OperationId","modelName":""},"status":{"x-twilio-version":1,"title":"CommunicationOperationStatus","type":"string","description":"The status of an Operation.","enum":["SCHEDULED","PROCESSING","COMPLETED","CANCELED"],"refName":"CommunicationOperationStatus","modelName":"CommunicationOperationStatus"},"stats":{"x-twilio-version":1,"title":"PushNotificationOperationStats","type":"object","example":{"total":1,"recipients":1,"queued":0,"sent":0,"scheduled":0,"unaddressable":0,"failed":0,"canceled":0},"description":"Represents the stats of a sending operation of one or many `Push Notifications`.\n- `total` is the total number of `Push Notifications` in the `Operation`.\n\n  * To get the status for each `Push Notification`, fetch the resource with:\n    `GET /PushNotifications/{pushNotificationId}`.\n\n- `recipients` is the total number of recipients targeted in an Operation.\n- `unaddressable` is the number of recipients to which no sending attempts were made because\n  a valid token could not be found in the recipient's `Device Registration` set for the\n  `Credentials` or `App` provided.\n\n- `scheduled` is the number of `Push Notifications` that are scheduled to be sent by\n  Twilio in the future.\n\n- `queued` is the number of `Push Notifications` that are queued in Twilio for sending.\n- `sent` is the number of `Push Notifications` that have been sent by Twilio.\n- `failed` is the number of `Push Notifications` that failed during processing by Twilio.\n  Get `Errors` with `GET /PushNotifications/Operations/{operationId}/Errors` fore more detail.\n\n- `canceled` is the number of `Push Notifications` that were canceled via API request.","required":["total","recipients","unaddressable","scheduled","queued","sent","failed","canceled"],"refName":"PushNotificationOperationStats","modelName":"PushNotificationOperationStats","properties":{"total":{"type":"integer","minimum":0},"recipients":{"type":"integer","minimum":0},"unaddressable":{"type":"integer","minimum":0},"scheduled":{"type":"integer","minimum":0},"queued":{"type":"integer","minimum":0},"sent":{"type":"integer","minimum":0},"failed":{"type":"integer","minimum":0},"canceled":{"type":"integer","minimum":0}}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}}} />

## Operation status values

| Status       | Description                                             |
| ------------ | ------------------------------------------------------- |
| `SCHEDULED`  | The operation is scheduled for future processing.       |
| `PROCESSING` | The operation is currently being processed.             |
| `COMPLETED`  | All notifications in the operation have been processed. |
| `CANCELED`   | The operation was canceled.                             |

## Operation stats

The `stats` object in the response provides aggregated delivery metrics:

| Field           | Description                                  |
| --------------- | -------------------------------------------- |
| `total`         | Total push notifications in the operation.   |
| `recipients`    | Total targeted recipients.                   |
| `unaddressable` | Recipients with no valid device token found. |
| `scheduled`     | Notifications scheduled for future sending.  |
| `queued`        | Notifications queued for sending.            |
| `sent`          | Notifications sent to the provider.          |
| `failed`        | Notifications that failed during processing. |
| `canceled`      | Notifications canceled via the API.          |

## Fetch an Operation

`GET https://comms.twilio.com/v1/PushNotifications/Operations/{operationId}`

Retrieve the status and delivery statistics of a push notification operation by making an HTTP `GET` request to the Operation resource URI with the Operation ID.

### Path parameters

```json
[{"schema":{"x-twilio-version":1,"description":"The Operation ID is an identifier that can be used to correlate all of the\nresources created in a request.\n\nIssue a GET request to the resource list location, using the Operation ID as a query parameter\nto retrieve the resources that correlate with the Operation.","title":"OperationId","type":"string","pattern":"^comms_operation_[0-7][a-hjkmnpqrstv-z0-9]{25,34}","example":"comms_operation_01h9krwprkeee8fzqspvwy6nq8","refName":"OperationId","modelName":""},"x-twilio-version":1,"name":"operationId","in":"path","required":true}]
```

### Responses

<OperationResponse responses={[{"responseCode":"200","schema":{"description":"OK","content":{"application/json":{"schema":{"x-twilio-version":1,"title":"PushNotificationOperation","type":"object","description":"A Push Notification Operation represents the aggregate work to be completed for a POST request to the /PushNotifications endpoint.\nThe work maybe be performed asynchronously and the PushNotification Operation resource can be used to track the progress of the work.","required":["id","status","stats","createdAt","updatedAt"],"refName":"PushNotificationOperation","modelName":"PushNotificationOperation","properties":{"id":{"x-twilio-version":1,"description":"The Operation ID is an identifier that can be used to correlate all of the\nresources created in a request.\n\nIssue a GET request to the resource list location, using the Operation ID as a query parameter\nto retrieve the resources that correlate with the Operation.","title":"OperationId","type":"string","pattern":"^comms_operation_[0-7][a-hjkmnpqrstv-z0-9]{25,34}","example":"comms_operation_01h9krwprkeee8fzqspvwy6nq8","refName":"OperationId","modelName":""},"status":{"x-twilio-version":1,"title":"CommunicationOperationStatus","type":"string","description":"The status of an Operation.","enum":["SCHEDULED","PROCESSING","COMPLETED","CANCELED"],"refName":"CommunicationOperationStatus","modelName":"CommunicationOperationStatus"},"stats":{"x-twilio-version":1,"title":"PushNotificationOperationStats","type":"object","example":{"total":1,"recipients":1,"queued":0,"sent":0,"scheduled":0,"unaddressable":0,"failed":0,"canceled":0},"description":"Represents the stats of a sending operation of one or many `Push Notifications`.\n- `total` is the total number of `Push Notifications` in the `Operation`.\n\n  * To get the status for each `Push Notification`, fetch the resource with:\n    `GET /PushNotifications/{pushNotificationId}`.\n\n- `recipients` is the total number of recipients targeted in an Operation.\n- `unaddressable` is the number of recipients to which no sending attempts were made because\n  a valid token could not be found in the recipient's `Device Registration` set for the\n  `Credentials` or `App` provided.\n\n- `scheduled` is the number of `Push Notifications` that are scheduled to be sent by\n  Twilio in the future.\n\n- `queued` is the number of `Push Notifications` that are queued in Twilio for sending.\n- `sent` is the number of `Push Notifications` that have been sent by Twilio.\n- `failed` is the number of `Push Notifications` that failed during processing by Twilio.\n  Get `Errors` with `GET /PushNotifications/Operations/{operationId}/Errors` fore more detail.\n\n- `canceled` is the number of `Push Notifications` that were canceled via API request.","required":["total","recipients","unaddressable","scheduled","queued","sent","failed","canceled"],"refName":"PushNotificationOperationStats","modelName":"PushNotificationOperationStats","properties":{"total":{"type":"integer","minimum":0},"recipients":{"type":"integer","minimum":0},"unaddressable":{"type":"integer","minimum":0},"scheduled":{"type":"integer","minimum":0},"queued":{"type":"integer","minimum":0},"sent":{"type":"integer","minimum":0},"failed":{"type":"integer","minimum":0},"canceled":{"type":"integer","minimum":0}}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}}}}}},{"responseCode":"400","schema":{"x-twilio-version":1,"description":"This error indicates that the request content was malformed or ambiguous.","content":{"application/json":{"schema":{"x-twilio-version":1,"title":"TwilioErrors","type":"object","required":["errors"],"example":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21614","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The address specified in the request is not a valid phone number.\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21614\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.to[0].address\"","#A5D6FF"],"\n    ",["},","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21617","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The concatenated message text exceeds the 1600 character limit\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21617\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.content.text\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}},"refName":"TwilioErrors","modelName":"TwilioErrors","properties":{"errors":{"description":"A list of one or more Twilio API errors.","type":"array","items":{"x-twilio-version":1,"title":"TwilioError","type":"object","description":"A generic error object communicating client and server side API errors.","required":["code","message","infoUrl","context"],"example":{"code":21614,"message":"The address specified in the request is not a valid phone number.","infoUrl":"https://www.twilio.com/docs/api/errors/21614","context":"$.to[0].address"},"refName":"TwilioError","modelName":"TwilioError","properties":{"code":{"type":"integer","description":"The Twilio error code."},"message":{"type":"string","description":"A human readable message describing the error."},"infoUrl":{"type":"string","format":"uri","description":"A URL to a [Twilio error directory](https://www.twilio.com/docs/api/errors) page with more information about the error code."},"context":{"description":"A JSON path that identifies the errant field.","type":["string","null"]}}}}}},"examples":{"ResourceNotFound":{"summary":"Resource not found","value":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 20404,\n      \"message\": \"Not Found\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20404\",\n      \"context\": \"null\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 20404,\n      \"message\": \"Not Found\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20404\",\n      \"context\": \"null\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["20404","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"Not Found\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/20404\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"null\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}}}}}},"refName":"#/components/responses/Http400Response","modelName":"__components_responses_Http400Response"}},{"responseCode":"404","schema":{"x-twilio-version":1,"description":"This error indicates that the requested resource was not found.","content":{"application/json":{"schema":{"x-twilio-version":1,"title":"TwilioErrors","type":"object","required":["errors"],"example":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21614","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The address specified in the request is not a valid phone number.\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21614\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.to[0].address\"","#A5D6FF"],"\n    ",["},","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21617","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The concatenated message text exceeds the 1600 character limit\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21617\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.content.text\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}},"refName":"TwilioErrors","modelName":"TwilioErrors","properties":{"errors":{"description":"A list of one or more Twilio API errors.","type":"array","items":{"x-twilio-version":1,"title":"TwilioError","type":"object","description":"A generic error object communicating client and server side API errors.","required":["code","message","infoUrl","context"],"example":{"code":21614,"message":"The address specified in the request is not a valid phone number.","infoUrl":"https://www.twilio.com/docs/api/errors/21614","context":"$.to[0].address"},"refName":"TwilioError","modelName":"TwilioError","properties":{"code":{"type":"integer","description":"The Twilio error code."},"message":{"type":"string","description":"A human readable message describing the error."},"infoUrl":{"type":"string","format":"uri","description":"A URL to a [Twilio error directory](https://www.twilio.com/docs/api/errors) page with more information about the error code."},"context":{"description":"A JSON path that identifies the errant field.","type":["string","null"]}}}}}},"examples":{"ResourceNotFound":{"summary":"404 Response","value":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 20404,\n      \"message\": \"The resource was not found.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20404\",\n      \"context\": \"null\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 20404,\n      \"message\": \"The resource was not found.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20404\",\n      \"context\": \"null\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["20404","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The resource was not found.\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/20404\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"null\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}}}}}},"refName":"#/components/responses/Http404Response","modelName":"__components_responses_Http404Response"}},{"responseCode":"429","schema":{"x-twilio-version":1,"description":"This error indicates that you have sent too many requests to the API. You should retry according to the `Retry-After` response header.","content":{"application/json":{"schema":{"x-twilio-version":1,"title":"TwilioErrors","type":"object","required":["errors"],"example":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21614","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The address specified in the request is not a valid phone number.\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21614\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.to[0].address\"","#A5D6FF"],"\n    ",["},","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21617","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The concatenated message text exceeds the 1600 character limit\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21617\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.content.text\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}},"refName":"TwilioErrors","modelName":"TwilioErrors","properties":{"errors":{"description":"A list of one or more Twilio API errors.","type":"array","items":{"x-twilio-version":1,"title":"TwilioError","type":"object","description":"A generic error object communicating client and server side API errors.","required":["code","message","infoUrl","context"],"example":{"code":21614,"message":"The address specified in the request is not a valid phone number.","infoUrl":"https://www.twilio.com/docs/api/errors/21614","context":"$.to[0].address"},"refName":"TwilioError","modelName":"TwilioError","properties":{"code":{"type":"integer","description":"The Twilio error code."},"message":{"type":"string","description":"A human readable message describing the error."},"infoUrl":{"type":"string","format":"uri","description":"A URL to a [Twilio error directory](https://www.twilio.com/docs/api/errors) page with more information about the error code."},"context":{"description":"A JSON path that identifies the errant field.","type":["string","null"]}}}}}},"examples":{"TooManyRequests":{"summary":"Too Many Requests","value":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 20429,\n      \"message\": \"Too many requests. Please retry according to the Retry-After response header.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20429\",\n      \"context\": \"null\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 20429,\n      \"message\": \"Too many requests. Please retry according to the Retry-After response header.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20429\",\n      \"context\": \"null\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["20429","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"Too many requests. Please retry according to the Retry-After response header.\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/20429\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"null\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}}}}}},"headers":{"Retry-After":{"schema":{"type":"string"},"description":"The amount of time in seconds that the customer should wait before issuing a new request towards the API."}},"refName":"#/components/responses/Http429Response","modelName":"__components_responses_Http429Response"}},{"responseCode":"500","schema":{"x-twilio-version":1,"description":"This error indicates that the Twilio API is experiencing server-side issues. The request should not be retried.","content":{"application/json":{"schema":{"x-twilio-version":1,"title":"TwilioErrors","type":"object","required":["errors"],"example":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21614","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The address specified in the request is not a valid phone number.\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21614\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.to[0].address\"","#A5D6FF"],"\n    ",["},","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21617","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The concatenated message text exceeds the 1600 character limit\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21617\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.content.text\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}},"refName":"TwilioErrors","modelName":"TwilioErrors","properties":{"errors":{"description":"A list of one or more Twilio API errors.","type":"array","items":{"x-twilio-version":1,"title":"TwilioError","type":"object","description":"A generic error object communicating client and server side API errors.","required":["code","message","infoUrl","context"],"example":{"code":21614,"message":"The address specified in the request is not a valid phone number.","infoUrl":"https://www.twilio.com/docs/api/errors/21614","context":"$.to[0].address"},"refName":"TwilioError","modelName":"TwilioError","properties":{"code":{"type":"integer","description":"The Twilio error code."},"message":{"type":"string","description":"A human readable message describing the error."},"infoUrl":{"type":"string","format":"uri","description":"A URL to a [Twilio error directory](https://www.twilio.com/docs/api/errors) page with more information about the error code."},"context":{"description":"A JSON path that identifies the errant field.","type":["string","null"]}}}}}},"examples":{"InternalServerError":{"summary":"Internal Server Error","value":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 20500,\n      \"message\": \"Internal server error.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20500\",\n      \"context\": \"null\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 20500,\n      \"message\": \"Internal server error.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20500\",\n      \"context\": \"null\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["20500","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"Internal server error.\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/20500\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"null\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}}}}}},"refName":"#/components/responses/Http500Response","modelName":"__components_responses_Http500Response"}},{"responseCode":"503","schema":{"x-twilio-version":1,"description":"This error indicates that the Twilio API is temporarily unavailable.  You should retry according to the `Retry-After` response header.","content":{"application/json":{"schema":{"x-twilio-version":1,"title":"TwilioErrors","type":"object","required":["errors"],"example":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21614","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The address specified in the request is not a valid phone number.\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21614\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.to[0].address\"","#A5D6FF"],"\n    ",["},","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21617","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The concatenated message text exceeds the 1600 character limit\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21617\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.content.text\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}},"refName":"TwilioErrors","modelName":"TwilioErrors","properties":{"errors":{"description":"A list of one or more Twilio API errors.","type":"array","items":{"x-twilio-version":1,"title":"TwilioError","type":"object","description":"A generic error object communicating client and server side API errors.","required":["code","message","infoUrl","context"],"example":{"code":21614,"message":"The address specified in the request is not a valid phone number.","infoUrl":"https://www.twilio.com/docs/api/errors/21614","context":"$.to[0].address"},"refName":"TwilioError","modelName":"TwilioError","properties":{"code":{"type":"integer","description":"The Twilio error code."},"message":{"type":"string","description":"A human readable message describing the error."},"infoUrl":{"type":"string","format":"uri","description":"A URL to a [Twilio error directory](https://www.twilio.com/docs/api/errors) page with more information about the error code."},"context":{"description":"A JSON path that identifies the errant field.","type":["string","null"]}}}}}},"examples":{"ServiceUnavailable":{"summary":"Service Unavailable","value":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 20503,\n      \"message\": \"Service unavailable.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20503\",\n      \"context\": \"null\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 20503,\n      \"message\": \"Service unavailable.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20503\",\n      \"context\": \"null\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["20503","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"Service unavailable.\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/20503\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"null\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}}}}}},"headers":{"Retry-After":{"schema":{"type":"string"},"description":"The amount of time in seconds that the customer should wait before issuing a new request towards the API."}},"refName":"#/components/responses/Http503Response","modelName":"__components_responses_Http503Response"}}]} path="https://comms.twilio.com/v1/PushNotifications/Operations/{operationId}" method="get" specType="comms" />

Fetch a PushNotification Operation

```ts
import { TwilioClient } from "twilio-comms";

async function main() {
    const client = new TwilioClient({
        accountId: "<username>",
        authToken: "<password>",
    });
    await client.pushNotifications.fetchOperation("comms_operation_01h9krwprkeee8fzqspvwy6nq8");
}
main();
```

```py
from twilio import TwilioComms

client = TwilioComms(
    account_id="<username>",
    auth_token="<password>",
)

client.push_notifications.fetch_operation(
    operation_id="comms_operation_01h9krwprkeee8fzqspvwy6nq8",
)
```

```cs
using TwilioComms;
using System.Threading.Tasks;

public partial class Examples
{
    public async Task Example() {
        var client = new TwilioCommsClient(
            accountId: "<username>",
            authToken: "<password>"
        );

        await client.PushNotifications.FetchOperationAsync(
            "comms_operation_01h9krwprkeee8fzqspvwy6nq8"
        );
    }

}
```

```java
package com.example.usage;

import com.twilio.comms.TwilioCommsClient;

public class Example {
    public static void main(String[] args) {
        TwilioCommsClient client = TwilioCommsClient
            .builder()
            .credentials("<username>", "<password>")
            .build();

        client.pushNotifications().fetchOperation("comms_operation_01h9krwprkeee8fzqspvwy6nq8");
    }
}
```

```go
package example

import (
    context "context"

    client "github.com/twilio/twilio-comms-go/twilio/client"
    option "github.com/twilio/twilio-comms-go/twilio/option"
)

func do() {
    client := client.NewWithOptions(
        option.WithBasicAuth(
            "<username>",
            "<password>",
        ),
    )
    client.PushNotifications.FetchOperation(
        context.TODO(),
        "comms_operation_01h9krwprkeee8fzqspvwy6nq8",
    )
}
```

```php
<?php

namespace Example;

use Twilio\TwilioComms;

$client = new TwilioComms(
    accountId: '<username>',
    authToken: '<password>',
);
$client->pushNotifications->fetchOperation(
    'comms_operation_01h9krwprkeee8fzqspvwy6nq8',
);
```

```rb
require "twilio"

client = Twilio::Client.new(
  account_id: "<username>",
  auth_token: "<password>"
)

client.push_notifications.fetch_operation(operation_id: "comms_operation_01h9krwprkeee8fzqspvwy6nq8")
```

```bash
curl 'https://comms.twilio.com/v1/PushNotifications/Operations/{operationId}' \
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN
```

## List Operations

`GET https://comms.twilio.com/v1/PushNotifications/Operations`

Returns a list of Operations. You can filter by date range or status.

### Query parameters

```json
[{"in":"query","name":"pageToken","description":"The token to retrieve the next page of results.","x-twilio-version":1,"schema":{"x-twilio-version":1,"description":"The token that identifies the page of resources to fetch.","title":"PageToken","type":"string","refName":"PageToken","modelName":""}},{"in":"query","name":"pageSize","description":"The number of resources to return in a page.","x-twilio-version":1,"schema":{"x-twilio-version":1,"description":"Total number of items returned in a single page, the minimum is 1 and maximum is 1000. Default is 50.","title":"PageSize","type":"integer","minimum":1,"maximum":1000,"default":50,"example":50,"refName":"PageSize","modelName":""}},{"in":"query","name":"startDate","description":"Filter to Operations created after the specified date and time.","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"endDate","description":"Filter to Operations created before the specified date and time.","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"status","description":"Filter to Operations with the specified status.","schema":{"x-twilio-version":1,"title":"CommunicationOperationStatus","type":"string","description":"The status of an Operation.","enum":["SCHEDULED","PROCESSING","COMPLETED","CANCELED"],"refName":"CommunicationOperationStatus","modelName":"CommunicationOperationStatus"}}]
```

### Responses

<OperationResponse responses={[{"responseCode":"200","schema":{"description":"OK","content":{"application/json":{"schema":{"title":"ListPushNotificationOperationsResponse","type":"object","required":["operations","pagination"],"properties":{"operations":{"type":"array","description":"A list of Push Notification Operations.","items":{"x-twilio-version":1,"title":"PushNotificationOperation","type":"object","description":"A Push Notification Operation represents the aggregate work to be completed for a POST request to the /PushNotifications endpoint.\nThe work maybe be performed asynchronously and the PushNotification Operation resource can be used to track the progress of the work.","required":["id","status","stats","createdAt","updatedAt"],"refName":"PushNotificationOperation","modelName":"PushNotificationOperation","properties":{"id":{"x-twilio-version":1,"description":"The Operation ID is an identifier that can be used to correlate all of the\nresources created in a request.\n\nIssue a GET request to the resource list location, using the Operation ID as a query parameter\nto retrieve the resources that correlate with the Operation.","title":"OperationId","type":"string","pattern":"^comms_operation_[0-7][a-hjkmnpqrstv-z0-9]{25,34}","example":"comms_operation_01h9krwprkeee8fzqspvwy6nq8","refName":"OperationId","modelName":""},"status":{"x-twilio-version":1,"title":"CommunicationOperationStatus","type":"string","description":"The status of an Operation.","enum":["SCHEDULED","PROCESSING","COMPLETED","CANCELED"],"refName":"CommunicationOperationStatus","modelName":"CommunicationOperationStatus"},"stats":{"x-twilio-version":1,"title":"PushNotificationOperationStats","type":"object","example":{"total":1,"recipients":1,"queued":0,"sent":0,"scheduled":0,"unaddressable":0,"failed":0,"canceled":0},"description":"Represents the stats of a sending operation of one or many `Push Notifications`.\n- `total` is the total number of `Push Notifications` in the `Operation`.\n\n  * To get the status for each `Push Notification`, fetch the resource with:\n    `GET /PushNotifications/{pushNotificationId}`.\n\n- `recipients` is the total number of recipients targeted in an Operation.\n- `unaddressable` is the number of recipients to which no sending attempts were made because\n  a valid token could not be found in the recipient's `Device Registration` set for the\n  `Credentials` or `App` provided.\n\n- `scheduled` is the number of `Push Notifications` that are scheduled to be sent by\n  Twilio in the future.\n\n- `queued` is the number of `Push Notifications` that are queued in Twilio for sending.\n- `sent` is the number of `Push Notifications` that have been sent by Twilio.\n- `failed` is the number of `Push Notifications` that failed during processing by Twilio.\n  Get `Errors` with `GET /PushNotifications/Operations/{operationId}/Errors` fore more detail.\n\n- `canceled` is the number of `Push Notifications` that were canceled via API request.","required":["total","recipients","unaddressable","scheduled","queued","sent","failed","canceled"],"refName":"PushNotificationOperationStats","modelName":"PushNotificationOperationStats","properties":{"total":{"type":"integer","minimum":0},"recipients":{"type":"integer","minimum":0},"unaddressable":{"type":"integer","minimum":0},"scheduled":{"type":"integer","minimum":0},"queued":{"type":"integer","minimum":0},"sent":{"type":"integer","minimum":0},"failed":{"type":"integer","minimum":0},"canceled":{"type":"integer","minimum":0}}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}}},"pagination":{"x-twilio-version":1,"title":"PaginationMetadata","description":"Metadata for paginated results. \nThis object contains two tokens to navigate through paginated results. \n- Use `next` to retrieve the 'next' page in the result list.\n- Use `self` to retrieve the same page of the result list again. \n- Supply the token in the `pageToken` query param.","type":"object","required":["next","self"],"refName":"PaginationMetadata","modelName":"PaginationMetadata","properties":{"next":{"description":"Token for the next page of results. \nSupply the token in the `pageToken` query param.","type":["string","null"]},"self":{"description":"Token for the current page of results. \nSupply the token in the `pageToken` query param.","type":"string"}}}}}}}}},{"responseCode":"400","schema":{"x-twilio-version":1,"description":"This error indicates that the request content was malformed or ambiguous.","content":{"application/json":{"schema":{"x-twilio-version":1,"title":"TwilioErrors","type":"object","required":["errors"],"example":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21614","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The address specified in the request is not a valid phone number.\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21614\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.to[0].address\"","#A5D6FF"],"\n    ",["},","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21617","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The concatenated message text exceeds the 1600 character limit\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21617\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.content.text\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}},"refName":"TwilioErrors","modelName":"TwilioErrors","properties":{"errors":{"description":"A list of one or more Twilio API errors.","type":"array","items":{"x-twilio-version":1,"title":"TwilioError","type":"object","description":"A generic error object communicating client and server side API errors.","required":["code","message","infoUrl","context"],"example":{"code":21614,"message":"The address specified in the request is not a valid phone number.","infoUrl":"https://www.twilio.com/docs/api/errors/21614","context":"$.to[0].address"},"refName":"TwilioError","modelName":"TwilioError","properties":{"code":{"type":"integer","description":"The Twilio error code."},"message":{"type":"string","description":"A human readable message describing the error."},"infoUrl":{"type":"string","format":"uri","description":"A URL to a [Twilio error directory](https://www.twilio.com/docs/api/errors) page with more information about the error code."},"context":{"description":"A JSON path that identifies the errant field.","type":["string","null"]}}}}}},"examples":{"ResourceNotFound":{"summary":"Resource not found","value":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 20404,\n      \"message\": \"Not Found\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20404\",\n      \"context\": \"null\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 20404,\n      \"message\": \"Not Found\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20404\",\n      \"context\": \"null\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["20404","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"Not Found\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/20404\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"null\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}}}}}},"refName":"#/components/responses/Http400Response","modelName":"__components_responses_Http400Response"}},{"responseCode":"429","schema":{"x-twilio-version":1,"description":"This error indicates that you have sent too many requests to the API. You should retry according to the `Retry-After` response header.","content":{"application/json":{"schema":{"x-twilio-version":1,"title":"TwilioErrors","type":"object","required":["errors"],"example":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21614","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The address specified in the request is not a valid phone number.\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21614\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.to[0].address\"","#A5D6FF"],"\n    ",["},","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21617","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The concatenated message text exceeds the 1600 character limit\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21617\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.content.text\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}},"refName":"TwilioErrors","modelName":"TwilioErrors","properties":{"errors":{"description":"A list of one or more Twilio API errors.","type":"array","items":{"x-twilio-version":1,"title":"TwilioError","type":"object","description":"A generic error object communicating client and server side API errors.","required":["code","message","infoUrl","context"],"example":{"code":21614,"message":"The address specified in the request is not a valid phone number.","infoUrl":"https://www.twilio.com/docs/api/errors/21614","context":"$.to[0].address"},"refName":"TwilioError","modelName":"TwilioError","properties":{"code":{"type":"integer","description":"The Twilio error code."},"message":{"type":"string","description":"A human readable message describing the error."},"infoUrl":{"type":"string","format":"uri","description":"A URL to a [Twilio error directory](https://www.twilio.com/docs/api/errors) page with more information about the error code."},"context":{"description":"A JSON path that identifies the errant field.","type":["string","null"]}}}}}},"examples":{"TooManyRequests":{"summary":"Too Many Requests","value":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 20429,\n      \"message\": \"Too many requests. Please retry according to the Retry-After response header.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20429\",\n      \"context\": \"null\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 20429,\n      \"message\": \"Too many requests. Please retry according to the Retry-After response header.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20429\",\n      \"context\": \"null\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["20429","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"Too many requests. Please retry according to the Retry-After response header.\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/20429\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"null\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}}}}}},"headers":{"Retry-After":{"schema":{"type":"string"},"description":"The amount of time in seconds that the customer should wait before issuing a new request towards the API."}},"refName":"#/components/responses/Http429Response","modelName":"__components_responses_Http429Response"}},{"responseCode":"500","schema":{"x-twilio-version":1,"description":"This error indicates that the Twilio API is experiencing server-side issues. The request should not be retried.","content":{"application/json":{"schema":{"x-twilio-version":1,"title":"TwilioErrors","type":"object","required":["errors"],"example":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21614","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The address specified in the request is not a valid phone number.\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21614\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.to[0].address\"","#A5D6FF"],"\n    ",["},","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21617","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The concatenated message text exceeds the 1600 character limit\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21617\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.content.text\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}},"refName":"TwilioErrors","modelName":"TwilioErrors","properties":{"errors":{"description":"A list of one or more Twilio API errors.","type":"array","items":{"x-twilio-version":1,"title":"TwilioError","type":"object","description":"A generic error object communicating client and server side API errors.","required":["code","message","infoUrl","context"],"example":{"code":21614,"message":"The address specified in the request is not a valid phone number.","infoUrl":"https://www.twilio.com/docs/api/errors/21614","context":"$.to[0].address"},"refName":"TwilioError","modelName":"TwilioError","properties":{"code":{"type":"integer","description":"The Twilio error code."},"message":{"type":"string","description":"A human readable message describing the error."},"infoUrl":{"type":"string","format":"uri","description":"A URL to a [Twilio error directory](https://www.twilio.com/docs/api/errors) page with more information about the error code."},"context":{"description":"A JSON path that identifies the errant field.","type":["string","null"]}}}}}},"examples":{"InternalServerError":{"summary":"Internal Server Error","value":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 20500,\n      \"message\": \"Internal server error.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20500\",\n      \"context\": \"null\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 20500,\n      \"message\": \"Internal server error.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20500\",\n      \"context\": \"null\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["20500","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"Internal server error.\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/20500\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"null\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}}}}}},"refName":"#/components/responses/Http500Response","modelName":"__components_responses_Http500Response"}},{"responseCode":"503","schema":{"x-twilio-version":1,"description":"This error indicates that the Twilio API is temporarily unavailable.  You should retry according to the `Retry-After` response header.","content":{"application/json":{"schema":{"x-twilio-version":1,"title":"TwilioErrors","type":"object","required":["errors"],"example":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 21614,\n      \"message\": \"The address specified in the request is not a valid phone number.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21614\",\n      \"context\": \"$.to[0].address\"\n    },\n    {\n      \"code\": 21617,\n      \"message\": \"The concatenated message text exceeds the 1600 character limit\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/21617\",\n      \"context\": \"$.content.text\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21614","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The address specified in the request is not a valid phone number.\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21614\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.to[0].address\"","#A5D6FF"],"\n    ",["},","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["21617","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"The concatenated message text exceeds the 1600 character limit\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/21617\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"$.content.text\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}},"refName":"TwilioErrors","modelName":"TwilioErrors","properties":{"errors":{"description":"A list of one or more Twilio API errors.","type":"array","items":{"x-twilio-version":1,"title":"TwilioError","type":"object","description":"A generic error object communicating client and server side API errors.","required":["code","message","infoUrl","context"],"example":{"code":21614,"message":"The address specified in the request is not a valid phone number.","infoUrl":"https://www.twilio.com/docs/api/errors/21614","context":"$.to[0].address"},"refName":"TwilioError","modelName":"TwilioError","properties":{"code":{"type":"integer","description":"The Twilio error code."},"message":{"type":"string","description":"A human readable message describing the error."},"infoUrl":{"type":"string","format":"uri","description":"A URL to a [Twilio error directory](https://www.twilio.com/docs/api/errors) page with more information about the error code."},"context":{"description":"A JSON path that identifies the errant field.","type":["string","null"]}}}}}},"examples":{"ServiceUnavailable":{"summary":"Service Unavailable","value":{"lang":"json","value":"{\n  \"errors\": [\n    {\n      \"code\": 20503,\n      \"message\": \"Service unavailable.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20503\",\n      \"context\": \"null\"\n    }\n  ]\n}","meta":"","code":"{\n  \"errors\": [\n    {\n      \"code\": 20503,\n      \"message\": \"Service unavailable.\",\n      \"infoUrl\": \"https://www.twilio.com/docs/api/errors/20503\",\n      \"context\": \"null\"\n    }\n  ]\n}","tokens":[["{","#C9D1D9"],"\n  ",["\"errors\"","#7EE787"],[": [","#C9D1D9"],"\n    ",["{","#C9D1D9"],"\n      ",["\"code\"","#7EE787"],[":","#C9D1D9"]," ",["20503","#79C0FF"],[",","#C9D1D9"],"\n      ",["\"message\"","#7EE787"],[":","#C9D1D9"]," ",["\"Service unavailable.\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"infoUrl\"","#7EE787"],[":","#C9D1D9"]," ",["\"https://www.twilio.com/docs/api/errors/20503\"","#A5D6FF"],[",","#C9D1D9"],"\n      ",["\"context\"","#7EE787"],[":","#C9D1D9"]," ",["\"null\"","#A5D6FF"],"\n    ",["}","#C9D1D9"],"\n  ",["]","#C9D1D9"],"\n",["}","#C9D1D9"]],"annotations":[],"themeName":"github-dark","style":{"color":"#c9d1d9","background":"#0d1117"}}}}}},"headers":{"Retry-After":{"schema":{"type":"string"},"description":"The amount of time in seconds that the customer should wait before issuing a new request towards the API."}},"refName":"#/components/responses/Http503Response","modelName":"__components_responses_Http503Response"}}]} path="https://comms.twilio.com/v1/PushNotifications/Operations" method="get" specType="comms" />

List PushNotification Operations

```ts
import { TwilioClient } from "twilio-comms";

async function main() {
    const client = new TwilioClient({
        accountId: "<username>",
        authToken: "<password>",
    });
    await client.pushNotifications.listOperations({
        pageToken: "pageToken",
        pageSize: 50,
        startDate: new Date("2024-01-15T09:30:00Z"),
        endDate: new Date("2024-01-15T09:30:00Z"),
        status: "SCHEDULED",
    });
}
main();
```

```py
from twilio import TwilioComms
import datetime

client = TwilioComms(
    account_id="<username>",
    auth_token="<password>",
)

client.push_notifications.list_operations(
    page_token="pageToken",
    page_size=50,
    start_date=datetime.datetime.fromisoformat("2024-01-15T09:30:00+00:00"),
    end_date=datetime.datetime.fromisoformat("2024-01-15T09:30:00+00:00"),
    status="SCHEDULED",
)
```

```cs
using TwilioComms;
using System.Threading.Tasks;
using System;
using System.Globalization;

public partial class Examples
{
    public async Task Example() {
        var client = new TwilioCommsClient(
            accountId: "<username>",
            authToken: "<password>"
        );

        await client.PushNotifications.ListOperationsAsync(
            new PushNotificationsListOperationsRequest {
                PageToken = "pageToken",
                PageSize = 50,
                StartDate = DateTime.Parse("2024-01-15T09:30:00Z", null, DateTimeStyles.AdjustToUniversal),
                EndDate = DateTime.Parse("2024-01-15T09:30:00Z", null, DateTimeStyles.AdjustToUniversal),
                Status = CommunicationOperationStatus.Scheduled
            }
        );
    }

}
```

```java
package com.example.usage;

import com.twilio.comms.TwilioCommsClient;
import com.twilio.comms.resources.pushnotifications.requests.PushNotificationsListOperationsRequest;
import com.twilio.comms.types.CommunicationOperationStatus;
import java.time.OffsetDateTime;

public class Example {
    public static void main(String[] args) {
        TwilioCommsClient client = TwilioCommsClient
            .builder()
            .credentials("<username>", "<password>")
            .build();

        client.pushNotifications().listOperations(
            PushNotificationsListOperationsRequest
                .builder()
                .pageToken("pageToken")
                .pageSize(50)
                .startDate(OffsetDateTime.parse("2024-01-15T09:30:00Z"))
                .endDate(OffsetDateTime.parse("2024-01-15T09:30:00Z"))
                .status(CommunicationOperationStatus.SCHEDULED)
                .build()
        );
    }
}
```

```go
package example

import (
    context "context"

    twiliocomms "github.com/twilio/twilio-comms-go/twilio"
    client "github.com/twilio/twilio-comms-go/twilio/client"
    option "github.com/twilio/twilio-comms-go/twilio/option"
)

func do() {
    client := client.NewWithOptions(
        option.WithBasicAuth(
            "<username>",
            "<password>",
        ),
    )
    request := &twiliocomms.PushNotificationsListOperationsRequest{
        PageToken: twiliocomms.String(
            "pageToken",
        ),
        PageSize: twiliocomms.Int(
            50,
        ),
        StartDate: twiliocomms.Time(
            twiliocomms.MustParseDateTime(
                "2024-01-15T09:30:00Z",
            ),
        ),
        EndDate: twiliocomms.Time(
            twiliocomms.MustParseDateTime(
                "2024-01-15T09:30:00Z",
            ),
        ),
        Status: twiliocomms.CommunicationOperationStatusScheduled.Ptr(),
    }
    client.PushNotifications.ListOperations(
        context.TODO(),
        request,
    )
}
```

```php
<?php

namespace Example;

use Twilio\TwilioComms;
use Twilio\PushNotifications\Requests\PushNotificationsListOperationsRequest;
use DateTime;
use Twilio\Types\CommunicationOperationStatus;

$client = new TwilioComms(
    accountId: '<username>',
    authToken: '<password>',
);
$client->pushNotifications->listOperations(
    new PushNotificationsListOperationsRequest([
        'pageToken' => 'pageToken',
        'pageSize' => 50,
        'startDate' => new DateTime('2024-01-15T09:30:00Z'),
        'endDate' => new DateTime('2024-01-15T09:30:00Z'),
        'status' => CommunicationOperationStatus::Scheduled->value,
    ]),
);
```

```rb
require "twilio"

client = Twilio::Client.new(
  account_id: "<username>",
  auth_token: "<password>"
)

client.push_notifications.list_operations(
  page_token: "pageToken",
  page_size: 50,
  start_date: "2024-01-15T09:30:00Z",
  end_date: "2024-01-15T09:30:00Z",
  status: "SCHEDULED"
)
```

```bash
curl 'https://comms.twilio.com/v1/PushNotifications/Operations?pageSize=50' \
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN
```
