> For the complete documentation index, see [llms.txt](https://codemash.gitbook.io/codemash/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://codemash.gitbook.io/codemash/cli/reference/push.md).

# norbix push

Push notification templates and campaigns.

Push notification templates and campaigns.

36 commands (`@norbix.ai/cli` 1.16.0):

* [`norbix push archive`](#norbix-push-archive) — Archive a push template
* [`norbix push campaign`](#norbix-push-campaign) — Show one push campaign (or its statistics with --stats)
* [`norbix push campaign batch`](#norbix-push-campaign-batch) — List the notifications in one batch — or show one of them
* [`norbix push campaign batches`](#norbix-push-campaign-batches) — List the send batches of a push campaign
* [`norbix push campaign create`](#norbix-push-campaign-create) — Create a push campaign
* [`norbix push campaign delete`](#norbix-push-campaign-delete) — Delete a push campaign
* [`norbix push campaign message`](#norbix-push-campaign-message) — Show one push message a campaign sent
* [`norbix push campaign messages`](#norbix-push-campaign-messages) — List the push messages a campaign sent
* [`norbix push campaigns`](#norbix-push-campaigns) — List push campaigns
* [`norbix push clone`](#norbix-push-clone) — Clone a push template
* [`norbix push delete`](#norbix-push-delete) — Delete a push template
* [`norbix push device`](#norbix-push-device) — Show one registered push device, with the user it belongs to
* [`norbix push device register`](#norbix-push-device-register) — Register a device so push campaigns can reach it
* [`norbix push devices`](#norbix-push-devices) — List the devices registered for push
* [`norbix push disable`](#norbix-push-disable) — Turn off the push module for the project
* [`norbix push disable-dependencies`](#norbix-push-disable-dependencies) — List what still depends on push — check this before `push disable`
* [`norbix push enable`](#norbix-push-enable) — Turn on the push module for the project
* [`norbix push integration`](#norbix-push-integration) — Show one push integration
* [`norbix push integration confirm-delivery`](#norbix-push-integration-confirm-delivery) — Confirm that a test push reached a real person
* [`norbix push integration default`](#norbix-push-integration-default) — Make a push integration the default one for this project
* [`norbix push integration delete`](#norbix-push-integration-delete) — Delete a push integration
* [`norbix push integration disable`](#norbix-push-integration-disable) — Turn a push integration off
* [`norbix push integration enable`](#norbix-push-integration-enable) — Turn a push integration on
* [`norbix push integration save`](#norbix-push-integration-save) — Create or update a push integration
* [`norbix push integration test`](#norbix-push-integration-test) — Send a test push through an integration
* [`norbix push integrations`](#norbix-push-integrations) — List the push integrations set up for this project
* [`norbix push preview`](#norbix-push-preview) — Render the title, body and subtitle behind a push preview link
* [`norbix push settings`](#norbix-push-settings) — Show the project push settings
* [`norbix push stop`](#norbix-push-stop) — Stop a running push campaign
* [`norbix push template`](#norbix-push-template) — Show one push template
* [`norbix push template create`](#norbix-push-template-create) — Create a push template
* [`norbix push template render`](#norbix-push-template-render) — Render one push field (title, body or subtitle) with token values
* [`norbix push template tokens`](#norbix-push-template-tokens) — List the tokens a push template uses — the values a campaign must fill
* [`norbix push template update`](#norbix-push-template-update) — Replace a push template's name, channel, tags and content
* [`norbix push templates`](#norbix-push-templates) — List push notification templates
* [`norbix push unarchive`](#norbix-push-unarchive) — Restore an archived push template

## `norbix push archive`

Archive a push template

```sh
norbix push archive ID [flags]
```

| Argument | Required | Description |
| -------- | -------- | ----------- |
| `ID`     | yes      | Template ID |

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push archive 66b2f0a1c3d4e5f6a7b8c9d0
norbix push archive 66b2f0a1c3d4e5f6a7b8c9d0 --dry-run
```

## `norbix push campaign`

Show one push campaign (or its statistics with --stats)

```sh
norbix push campaign ID [flags]
```

| Argument | Required | Description |
| -------- | -------- | ----------- |
| `ID`     | yes      | Campaign ID |

| Flag      | Description                                             |
| --------- | ------------------------------------------------------- |
| `--stats` | Show delivery statistics instead of the campaign itself |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push campaign 66b2f0a1c3d4e5f6a7b8c9d0 --stats
```

## `norbix push campaign batch`

List the notifications in one batch — or show one of them

```
Give a notification ID as the third argument to see just that notification.
```

```sh
norbix push campaign batch ID BATCHID [NOTIFICATIONID] [flags]
```

| Argument         | Required | Description                             |
| ---------------- | -------- | --------------------------------------- |
| `ID`             | yes      | Campaign ID                             |
| `BATCHID`        | yes      | Batch ID (from `push campaign batches`) |
| `NOTIFICATIONID` | no       | Notification ID                         |

| Flag                    | Description                   |
| ----------------------- | ----------------------------- |
| `--page-size` `<value>` | Items per page                |
| `--after` `<value>`     | Cursor from the previous page |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push campaign batch 66b2f0a1c3d4e5f6a7b8c9d0 b7c3d4e5f6a7b8c9d0e1f2a3
norbix push campaign batch 66b2f0a1c3d4e5f6a7b8c9d0 b7c3d4e5f6a7b8c9d0e1f2a3 n9d4e5f6a7b8c9d0e1f2a3b4
```

## `norbix push campaign batches`

List the send batches of a push campaign

```sh
norbix push campaign batches ID [flags]
```

| Argument | Required | Description |
| -------- | -------- | ----------- |
| `ID`     | yes      | Campaign ID |

| Flag                    | Description                   |
| ----------------------- | ----------------------------- |
| `--page-size` `<value>` | Items per page                |
| `--after` `<value>`     | Cursor from the previous page |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push campaign batches 66b2f0a1c3d4e5f6a7b8c9d0
```

## `norbix push campaign create`

Create a push campaign

```
--audience picks who receives it:
  all-users      every user; narrow with --role / --tag
  users          the users named with --user
  account-users  the account users named with --user
  collection     the users referenced by --field in the --schema collection
  devices        raw device tokens, --device <token>:<family> (Ios, Android, Chrome, Safari, Expo)

--integration is required: name the push provider the campaign sends through
(list them with `norbix push integrations`). The server never falls back to
the project default. --language forces one language; it must be one of the
project's languages (Project settings). The template must have a translation for
every project language, or the server refuses the campaign. --initiator sends on
behalf of another project user (default: you).

Without --at the campaign is sent right away. Anything the flags do not cover
goes in --config as a JSON object and is merged into the campaign.
```

```sh
norbix push campaign create [flags]
```

| Flag                               | Description                                                                                                                                                      |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--dry-run`                        | Resolve context and print the request that would be sent; send nothing                                                                                           |
| `--template` `<value>`             | Template ID — required                                                                                                                                           |
| `--audience` `<value>`             | Who receives it — required; one of: `all-users`, `users`, `account-users`, `collection`, `devices`                                                               |
| `--user` `<value>`                 | User ID (users / account-users; repeat for several) — repeat for several                                                                                         |
| `--role` `<value>`                 | Role name (all-users / collection; repeat for several) — repeat for several                                                                                      |
| `--tag` `<value>`                  | User tag (all-users; repeat for several) — repeat for several                                                                                                    |
| `--schema` `<value>`               | Collection name (collection)                                                                                                                                     |
| `--field` `<value>`                | Field that holds the recipient (collection; repeat for several) — repeat for several                                                                             |
| `--field-type` `<value>`           | What --field holds (collection) — one of: `User`, `Email`                                                                                                        |
| `--device` `<value>`               | Device as \<token>:\<family> (devices; repeat for several) — repeat for several                                                                                  |
| `--integration` `<value>`          | Push integration ID the campaign sends through; list them with `norbix push integrations` — required                                                             |
| `--language` `<value>`             | Send every message in this language. Must be one of the project's languages (Project settings); default: each recipient's own language, else the project default |
| `--initiator` `<value>`            | Send on behalf of this project user ID — their details fill the Initiator.User.\* tokens (default: you, the caller)                                              |
| `--notes` `<value>`                | Internal notes                                                                                                                                                   |
| `--at` `<value>`                   | Send later: ISO 8601 date-time or Unix seconds                                                                                                                   |
| `--token` `<value>`                | Token value as key=value (repeat for several) — repeat for several                                                                                               |
| `--database-integration` `<value>` | Database integration ID (defaults to the project default)                                                                                                        |
| `--config` `<value>`               | Extra campaign fields as a JSON object, @file or -                                                                                                               |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push campaign create --template 66b2f0a1c3d4e5f6a7b8c9d0 --integration 66c1a2b3c4d5e6f7a8b9c0d1 --audience all-users --tag beta
norbix push campaign create --template 66b2f0a1c3d4e5f6a7b8c9d0 --integration 66c1a2b3c4d5e6f7a8b9c0d1 --audience users --user usr_1 --user usr_2
norbix push campaign create --template 66b2f0a1c3d4e5f6a7b8c9d0 --integration 66c1a2b3c4d5e6f7a8b9c0d1 --audience devices --device dGVzdA==:Ios
norbix push campaign create --template 66b2f0a1c3d4e5f6a7b8c9d0 --integration 66c1a2b3c4d5e6f7a8b9c0d1 --audience all-users --tag beta --dry-run
```

## `norbix push campaign delete`

Delete a push campaign

```sh
norbix push campaign delete ID [flags]
```

| Argument | Required | Description |
| -------- | -------- | ----------- |
| `ID`     | yes      | Campaign ID |

| Flag          | Description                                                            |
| ------------- | ---------------------------------------------------------------------- |
| `-y`, `--yes` | Skip the confirmation prompt (required in non-interactive shells)      |
| `--dry-run`   | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push campaign delete 66b2f0a1c3d4e5f6a7b8c9d0 --yes
norbix push campaign delete 66b2f0a1c3d4e5f6a7b8c9d0 --dry-run
```

## `norbix push campaign message`

Show one push message a campaign sent

```
Same as `push campaign batch <id> <batchId> <messageId>`.
```

```sh
norbix push campaign message ID MESSAGEID [flags]
```

| Argument    | Required | Description               |
| ----------- | -------- | ------------------------- |
| `ID`        | yes      | Campaign ID               |
| `MESSAGEID` | yes      | Message (notification) ID |

| Flag                | Description                             |
| ------------------- | --------------------------------------- |
| `--batch` `<value>` | Batch the message belongs to — required |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push campaign message 66b2f0a1c3d4e5f6a7b8c9d0 n9d4e5f6a7b8c9d0e1f2a3b4 --batch b7c3d4e5f6a7b8c9d0e1f2a3
```

## `norbix push campaign messages`

List the push messages a campaign sent

```sh
norbix push campaign messages ID [flags]
```

| Argument | Required | Description |
| -------- | -------- | ----------- |
| `ID`     | yes      | Campaign ID |

| Flag                    | Description                                    |
| ----------------------- | ---------------------------------------------- |
| `--batch` `<value>`     | Only this batch (from `push campaign batches`) |
| `--page-size` `<value>` | Items per page                                 |
| `--after` `<value>`     | Cursor from the previous page                  |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push campaign messages 66b2f0a1c3d4e5f6a7b8c9d0 --batch b7c3d4e5f6a7b8c9d0e1f2a3
```

## `norbix push campaigns`

List push campaigns

```sh
norbix push campaigns [flags]
```

| Flag                    | Description                            |
| ----------------------- | -------------------------------------- |
| `--page-size` `<value>` | Records per page                       |
| `--after` `<value>`     | Cursor: fetch the page after this item |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push campaigns
```

## `norbix push clone`

Clone a push template

```sh
norbix push clone ID [flags]
```

| Argument | Required | Description |
| -------- | -------- | ----------- |
| `ID`     | yes      | Template ID |

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push clone 66b2f0a1c3d4e5f6a7b8c9d0
norbix push clone 66b2f0a1c3d4e5f6a7b8c9d0 --dry-run
```

## `norbix push delete`

Delete a push template

```sh
norbix push delete ID [flags]
```

| Argument | Required | Description |
| -------- | -------- | ----------- |
| `ID`     | yes      | Template ID |

| Flag          | Description                                                            |
| ------------- | ---------------------------------------------------------------------- |
| `-y`, `--yes` | Skip the confirmation prompt (required in non-interactive shells)      |
| `--dry-run`   | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push delete 66b2f0a1c3d4e5f6a7b8c9d0 --yes
norbix push delete 66b2f0a1c3d4e5f6a7b8c9d0 --dry-run
```

## `norbix push device`

Show one registered push device, with the user it belongs to

```sh
norbix push device ID
```

| Argument | Required | Description |
| -------- | -------- | ----------- |
| `ID`     | yes      | Device ID   |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push device pnd_123
```

## `norbix push device register`

Register a device so push campaigns can reach it

```
A device belongs to a user, so --user is required. --os is the operating
system the token came from; the backend uses it to pick a provider.
```

```sh
norbix push device register [flags]
```

| Flag                    | Description                                                            |
| ----------------------- | ---------------------------------------------------------------------- |
| `--dry-run`             | Resolve context and print the request that would be sent; send nothing |
| `--user` `<value>`      | User ID the device belongs to — required                               |
| `--token` `<value>`     | Device token from the platform — required                              |
| `--os` `<value>`        | Operating system, e.g. iOS or Android — required                       |
| `--device-id` `<value>` | Stable device identifier                                               |
| `--model` `<value>`     | Device model, e.g. iPhone 15                                           |
| `--name` `<value>`      | The device's own name                                                  |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push device register --user usr_123 --token dGVzdA== --os iOS
norbix push device register --user usr_123 --token dGVzdA== --os iOS --dry-run
```

## `norbix push devices`

List the devices registered for push

```
Narrow the list with --user, --token or --platform. Devices are stored
inside their user, so a page is a page of users carrying every matching
device they hold — follow hasMore rather than stopping at a short page.
```

```sh
norbix push devices [flags]
```

| Flag                   | Description                                                                          |
| ---------------------- | ------------------------------------------------------------------------------------ |
| `--user` `<value>`     | Only the devices of this user                                                        |
| `--token` `<value>`    | Only the device registered with this provider token                                  |
| `--platform` `<value>` | Only devices of this platform — one of: `ios`, `android`, `chrome`, `safari`, `expo` |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push devices
norbix push devices --platform ios
norbix push devices --user usr_123
```

## `norbix push disable`

Turn off the push module for the project

```
Run `push disable-dependencies` first to see what still depends on push.
```

```sh
norbix push disable [flags]
```

| Flag          | Description                                                            |
| ------------- | ---------------------------------------------------------------------- |
| `-y`, `--yes` | Skip the confirmation prompt (required in non-interactive shells)      |
| `--dry-run`   | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push disable --yes
norbix push disable --dry-run
```

## `norbix push disable-dependencies`

List what still depends on push — check this before `push disable`

```sh
norbix push disable-dependencies
```

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push disable-dependencies
```

## `norbix push enable`

Turn on the push module for the project

```sh
norbix push enable [flags]
```

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push enable
norbix push enable --dry-run
```

## `norbix push integration`

Show one push integration

```sh
norbix push integration ID
```

| Argument | Required | Description    |
| -------- | -------- | -------------- |
| `ID`     | yes      | Integration ID |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push integration 66b2f0a1c3d4e5f6a7b8c9d0
```

## `norbix push integration confirm-delivery`

Confirm that a test push reached a real person

```
After `push integration test`, run this once you have seen the push on the
device. It marks the integration as proven to deliver.
```

```sh
norbix push integration confirm-delivery ID [flags]
```

| Argument | Required | Description    |
| -------- | -------- | -------------- |
| `ID`     | yes      | Integration ID |

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push integration confirm-delivery 66b2f0a1c3d4e5f6a7b8c9d0
norbix push integration confirm-delivery 66b2f0a1c3d4e5f6a7b8c9d0 --dry-run
```

## `norbix push integration default`

Make a push integration the default one for this project

```sh
norbix push integration default ID [flags]
```

| Argument | Required | Description    |
| -------- | -------- | -------------- |
| `ID`     | yes      | Integration ID |

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push integration default 66b2f0a1c3d4e5f6a7b8c9d0
norbix push integration default 66b2f0a1c3d4e5f6a7b8c9d0 --dry-run
```

## `norbix push integration delete`

Delete a push integration

```sh
norbix push integration delete ID [flags]
```

| Argument | Required | Description    |
| -------- | -------- | -------------- |
| `ID`     | yes      | Integration ID |

| Flag          | Description                                                            |
| ------------- | ---------------------------------------------------------------------- |
| `-y`, `--yes` | Skip the confirmation prompt (required in non-interactive shells)      |
| `--dry-run`   | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push integration delete 66b2f0a1c3d4e5f6a7b8c9d0 --yes
norbix push integration delete 66b2f0a1c3d4e5f6a7b8c9d0 --dry-run
```

## `norbix push integration disable`

Turn a push integration off

```sh
norbix push integration disable ID [flags]
```

| Argument | Required | Description    |
| -------- | -------- | -------------- |
| `ID`     | yes      | Integration ID |

| Flag          | Description                                                            |
| ------------- | ---------------------------------------------------------------------- |
| `-y`, `--yes` | Skip the confirmation prompt (required in non-interactive shells)      |
| `--dry-run`   | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push integration disable 66b2f0a1c3d4e5f6a7b8c9d0 --dry-run
norbix push integration disable 66b2f0a1c3d4e5f6a7b8c9d0 --yes
```

## `norbix push integration enable`

Turn a push integration on

```sh
norbix push integration enable ID [flags]
```

| Argument | Required | Description    |
| -------- | -------- | -------------- |
| `ID`     | yes      | Integration ID |

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push integration enable 66b2f0a1c3d4e5f6a7b8c9d0
norbix push integration enable 66b2f0a1c3d4e5f6a7b8c9d0 --dry-run
```

## `norbix push integration save`

Create or update a push integration

```
--provider picks the body shape. Fake needs nothing else: it accepts every send
and contacts no push service, so use it while you develop. The real providers
need their credentials — put the provider-specific fields in --config (inline
JSON, @file.json, or - for stdin). Pass --id to update an existing integration.
```

```sh
norbix push integration save [flags]
```

| Flag                   | Description                                                                                                                                |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `--dry-run`            | Resolve context and print the request that would be sent; send nothing                                                                     |
| `--provider` `<value>` | Push provider — required; one of: `Fake`, `AppleApns`, `AndroidFirebase`, `SafariPush`, `ChromeWeb`, `FirefoxWeb`, `EdgeWeb`, `ChromePush` |
| `--name` `<value>`     | Integration name (Fake ignores it and uses its own)                                                                                        |
| `--id` `<value>`       | Integration ID — set it to update instead of create                                                                                        |
| `--disabled`           | Save it turned off                                                                                                                         |
| `--config` `<value>`   | Provider-specific fields as a JSON object, @file or -                                                                                      |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push integration save --provider Fake
norbix push integration save --provider AndroidFirebase --name Android --config @firebase.json
norbix push integration save --provider Fake --dry-run
```

## `norbix push integration test`

Send a test push through an integration

```
Point this at the Fake integration while you are developing — it accepts the
send and contacts no push service, so nothing reaches a real device.
```

```sh
norbix push integration test [flags]
```

| Flag                      | Description                                                                               |
| ------------------------- | ----------------------------------------------------------------------------------------- |
| `--dry-run`               | Resolve context and print the request that would be sent; send nothing                    |
| `--integration` `<value>` | Integration ID to send through — required                                                 |
| `--token` `<value>`       | Device token to send the test to                                                          |
| `--family` `<value>`      | Which platform the token came from — one of: `Ios`, `Android`, `Chrome`, `Safari`, `Expo` |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push integration test --integration 66b2f0a1c3d4e5f6a7b8c9d0 --token dGVzdA== --family Ios
norbix push integration test --integration 66b2f0a1c3d4e5f6a7b8c9d0 --token dGVzdA== --family Ios --dry-run
```

## `norbix push integrations`

List the push integrations set up for this project

```sh
norbix push integrations [flags]
```

| Flag                    | Description                            |
| ----------------------- | -------------------------------------- |
| `--page-size` `<value>` | Records per page                       |
| `--after` `<value>`     | Cursor: fetch the page after this item |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push integrations --page-size 50
```

## `norbix push preview`

Render the title, body and subtitle behind a push preview link

```
The hash is the opaque value the backend puts in a preview link — you cannot
build it yourself, so copy it out of the link.

The signed link is the key: no login and no project are needed. When you are
logged in, your session is still sent.
```

```sh
norbix push preview [HASH] [flags]
```

| Argument | Required | Description                        |
| -------- | -------- | ---------------------------------- |
| `HASH`   | no       | Preview hash from the preview link |

| Flag               | Description                                               |
| ------------------ | --------------------------------------------------------- |
| `--hash` `<value>` | Preview hash from the preview link (same as the argument) |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push preview 8f2a91c4d7e6b5a4c3d2e1f0
norbix push preview --hash 8f2a91c4d7e6b5a4c3d2e1f0 --region nb-eu-germany
```

## `norbix push settings`

Show the project push settings

```sh
norbix push settings [flags]
```

| Flag             | Description                                    |
| ---------------- | ---------------------------------------------- |
| `--id` `<value>` | Settings ID (defaults to the project settings) |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push settings
```

## `norbix push stop`

Stop a running push campaign

```sh
norbix push stop ID [flags]
```

| Argument | Required | Description |
| -------- | -------- | ----------- |
| `ID`     | yes      | Campaign ID |

| Flag          | Description                                                            |
| ------------- | ---------------------------------------------------------------------- |
| `-y`, `--yes` | Skip the confirmation prompt (required in non-interactive shells)      |
| `--dry-run`   | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push stop 66b2f0a1c3d4e5f6a7b8c9d0 --yes
norbix push stop 66b2f0a1c3d4e5f6a7b8c9d0 --dry-run
```

## `norbix push template`

Show one push template

```sh
norbix push template ID
```

| Argument | Required | Description |
| -------- | -------- | ----------- |
| `ID`     | yes      | Template ID |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push template 66b2f0a1c3d4e5f6a7b8c9d0
```

## `norbix push template create`

Create a push template

```
One language: --title and --body. Several languages: --translations with a
JSON array of {language, content: {title, body}}.
```

```sh
norbix push template create [flags]
```

| Flag                       | Description                                                                                      |
| -------------------------- | ------------------------------------------------------------------------------------------------ |
| `--dry-run`                | Resolve context and print the request that would be sent; send nothing                           |
| `--name` `<value>`         | Template name — required                                                                         |
| `--description` `<value>`  | What the template is for                                                                         |
| `--channel` `<value>`      | Communication channel — one of: `Transactional`, `Marketing`, `System`; default: `Transactional` |
| `--tag` `<value>`          | Tag (repeat for several) — repeat for several                                                    |
| `--language` `<value>`     | Language of --title / --body — default: `en`                                                     |
| `--title` `<value>`        | Push title (Razor allowed)                                                                       |
| `--body` `<value>`         | Push body (Razor allowed)                                                                        |
| `--translations` `<value>` | All languages as a JSON array of {language, content: {title, body}} — inline, @file or -         |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push template create --name Welcome --title "Hi @Model.Name" --body "Thanks for joining"
norbix push template create --name Welcome --translations @welcome.json
norbix push template create --name Welcome --title "Hi @Model.Name" --body "Thanks for joining" --dry-run
```

## `norbix push template render`

Render one push field (title, body or subtitle) with token values

```
Use it to check a Razor template before you save it. When the template needs a
token you did not pass, the answer lists the missing ones.
```

```sh
norbix push template render [flags]
```

| Flag                | Description                                                        |
| ------------------- | ------------------------------------------------------------------ |
| `--code` `<value>`  | Razor source of the field — required                               |
| `--token` `<value>` | Token value as key=value (repeat for several) — repeat for several |
| `--preview`         | Render for a preview (less strict)                                 |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push template render --code "Hi @Model.Name" --token Name=Ada
```

## `norbix push template tokens`

List the tokens a push template uses — the values a campaign must fill

```sh
norbix push template tokens ID
```

| Argument | Required | Description |
| -------- | -------- | ----------- |
| `ID`     | yes      | Template ID |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push template tokens 66b2f0a1c3d4e5f6a7b8c9d0
```

## `norbix push template update`

Replace a push template's name, channel, tags and content

```
The whole template is sent, so pass every language you want to keep.
```

```sh
norbix push template update ID [flags]
```

| Argument | Required | Description |
| -------- | -------- | ----------- |
| `ID`     | yes      | Template ID |

| Flag                       | Description                                                                                      |
| -------------------------- | ------------------------------------------------------------------------------------------------ |
| `--dry-run`                | Resolve context and print the request that would be sent; send nothing                           |
| `--name` `<value>`         | Template name — required                                                                         |
| `--description` `<value>`  | What the template is for                                                                         |
| `--channel` `<value>`      | Communication channel — one of: `Transactional`, `Marketing`, `System`; default: `Transactional` |
| `--tag` `<value>`          | Tag (repeat for several) — repeat for several                                                    |
| `--language` `<value>`     | Language of --title / --body — default: `en`                                                     |
| `--title` `<value>`        | Push title (Razor allowed)                                                                       |
| `--body` `<value>`         | Push body (Razor allowed)                                                                        |
| `--translations` `<value>` | All languages as a JSON array of {language, content: {title, body}} — inline, @file or -         |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push template update 66b2f0a1c3d4e5f6a7b8c9d0 --name Welcome --title "Hi" --body "Thanks for joining"
norbix push template update 66b2f0a1c3d4e5f6a7b8c9d0 --name Welcome --title "Hi" --body "Thanks for joining" --dry-run
```

## `norbix push templates`

List push notification templates

```sh
norbix push templates [flags]
```

| Flag         | Description                |
| ------------ | -------------------------- |
| `--archived` | Include archived templates |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push templates --archived
```

## `norbix push unarchive`

Restore an archived push template

```sh
norbix push unarchive ID [flags]
```

| Argument | Required | Description |
| -------- | -------- | ----------- |
| `ID`     | yes      | Template ID |

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix push unarchive 66b2f0a1c3d4e5f6a7b8c9d0
norbix push unarchive 66b2f0a1c3d4e5f6a7b8c9d0 --dry-run
```
