Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ If you are submitting a feature addition, enhancement, or bug fix, your checklis
- [ ] Check that your article looks correct in the preview here or in a [Netlify deploy preview](https://app.netlify.com/sites/support-docs/deploys).
- [ ] Check the links in your article.
- [ ] Check the images in your article (if there are any)
- [ ] Check to make sure you are using markdown appropriately as outlined in `examples/article.md` in the root of the project directory and on the momentum doc's [preface article](https://support.sparkpost.com/momentum/4/4-preface)
- [ ] Check to make sure you are using markdown appropriately as outlined in `examples/article.md` in the root of the project directory and on the momentum doc's [preface article](https://docs.sparkpost.com/momentum/4/4-preface)
- [ ] Check to make sure the [Copy and Tone Guidelines are followed](https://docs.google.com/document/d/1dej9J7N9M8lcbJXnT9kxyNB_EFBPHIBLZBbHaxRWqhQ/edit).

#### Development Changes Checklist (some checks are automatic github actions and will not be listed here. ie. "all tests pass")
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![Netlify Status](https://api.netlify.com/api/v1/badges/0a6e71ac-b00b-45eb-a5f0-b534634f51e0/deploy-status)](https://app.netlify.com/sites/support-docs/deploys)

This repo contains the SparkPost and Momentum documentation published at https://support.sparkpost.com/docs and https://support.sparkpost.com/momentum.
This repo contains the SparkPost and Momentum documentation published at https://docs.sparkpost.com/docs and https://docs.sparkpost.com/momentum.

SparkPost documentation is located in the `content/docs/` directory.

Expand Down Expand Up @@ -109,7 +109,7 @@ _While this folder structure is encouraged for organizational purposes, any medi

Both the Momentum articles and SparkPost support articles are organized into categories. The category is defined by the containing folder.

Categories can be nested to create nested URL structures. For example in the following folder structure, the file `my-article.md` will be deployed to `https://support.sparkpost.com/docs/category/subcategory/my-article`
Categories can be nested to create nested URL structures. For example in the following folder structure, the file `my-article.md` will be deployed to `https://docs.sparkpost.com/docs/category/subcategory/my-article`

```
support
Expand All @@ -129,9 +129,9 @@ description: 'Description of the category here'

### Navigation

For each article page hosted on the support.sparkpost.com website, there is a sidebar menu. The top-level menu is configured through next.js. To edit this, speak to the SparkPost FE team.
For each article page hosted on the `docs.sparkpost.com` website, there is a sidebar menu. The top-level menu is configured through next.js. To edit this, speak to the SparkPost FE team.

For large sets of organized documentation it is important that there is a clear navigation and hierarchy. The subnavigation is set through the `content/<category name>` directory folder structure (so `content/momentum/` and `content/docs/`). This is used to generate the Momentum 4.x, Momentum 3.x, and Momentum Mobile navigation in the sidebar seen in the [Momentum documentation](https://support.sparkpost.com/momentum) or Help & API, Guides and Deliverability navigation in the sidebar seen in the [support docs documentation](https://support.sparkpost.com/docs/)
For large sets of organized documentation it is important that there is a clear navigation and hierarchy. The subnavigation is set through the `content/<category name>` directory folder structure (so `content/momentum/` and `content/docs/`). This is used to generate the Momentum 4.x, Momentum 3.x, and Momentum Mobile navigation in the sidebar seen in the [Momentum documentation](https://docs.sparkpost.com/momentum) or Help & API, Guides and Deliverability navigation in the sidebar seen in the [support docs documentation](https://docs.sparkpost.com/docs/)

## Deployment

Expand All @@ -147,7 +147,7 @@ Deployment of support articles is handled automatically through [Netlify](https:

## Development

The following instructions walk you through how to sync your local version of this repository to your local version of the support.sparkpost.com website. This is only needed when you are debugging the sync scripts or adding new functionality.
The following instructions walk you through how to sync your local version of this repository to your local version of the `docs.sparkpost.com` website. This is only needed when you are debugging the sync scripts or adding new functionality.

_**This is not a required step in contributing to the documentation**_

Expand Down
8 changes: 4 additions & 4 deletions content/docs/my-account-and-profile/sso.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ title: "Single Sign-On (SSO)"
description: "How to enable Single Sign-On (SSO) in SparkPost."
---

Single sign-on (SSO) allows you to login to your account using your company's preffered identify provider. You can enable SSO through any provider that supports SAML. You can also set up [SCIM user provisioning through OKTA](https://support.sparkpost.com/docs/my-account-and-profile/scim/).
Single sign-on (SSO) allows you to login to your account using your company's preffered identify provider. You can enable SSO through any provider that supports SAML. You can also set up [SCIM user provisioning through OKTA](https://docs.sparkpost.com/docs/my-account-and-profile/scim/).

Check this [article](https://support.sparkpost.com/docs/faq/difference-between-starter-and-premier/) to verify that your account's plan level supports SSO.
Check this [article](https://docs.sparkpost.com/docs/faq/difference-between-starter-and-premier/) to verify that your account's plan level supports SSO.

## Enable Single Sign-On

Expand Down Expand Up @@ -108,7 +108,7 @@ An admin can disable SSO by following the steps in the "Disable Single Sign-On"
No. Users can only use either MFA or SSO.

### Is automatic provisioning of users supported?
SCIM provisioning is supported for [OKTA](https://support.sparkpost.com/docs/my-account-and-profile/scim/).
SCIM provisioning is supported for [OKTA](https://docs.sparkpost.com/docs/my-account-and-profile/scim/).

### Do I need to re-invite users after rotating the SAML certificate?
Yes, in case the SAML certificate expires and needs to be replaced, you must re-invite the users. However, re-inviting users is not necessary when using SCIM provisioning.
Yes, in case the SAML certificate expires and needs to be replaced, you must re-invite the users. However, re-inviting users is not necessary when using SCIM provisioning.
4 changes: 2 additions & 2 deletions content/docs/user-guide/mailgun-migration-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ In addition you can enable your subaccount users to have permission to inject me
User Roles
----------

Mailgun and SparkPost both enable you to create users with specific roles. The SparkPost roles are: Admin, Developer, Templates, and Reporting, described [here](https://support.sparkpost.com/docs/user-guide/managing-users).
Mailgun and SparkPost both enable you to create users with specific roles. The SparkPost roles are: Admin, Developer, Templates, and Reporting, described [here](https://docs.sparkpost.com/docs/user-guide/managing-users).

Alerts
------
Expand All @@ -294,7 +294,7 @@ Alerts can send notifications via email, Slack, and webhooks.
Dedicated IPs, IP Pools, and auto-warmup
----------------------------------------

SparkPost enables you to deliver email via IP addresses dedicated to your account (or subaccount). Similar to Mailgun, addresses are managed via [IP Pools](/docs/deliverability/managing-dedicated-ip-pools/). Addresses can be set to [automatically warm up](https://support.sparkpost.com/docs/user-guide/automated-ip-warmup) over time, which is helpful in building a clean sender reputation as you migrate messages across.
SparkPost enables you to deliver email via IP addresses dedicated to your account (or subaccount). Similar to Mailgun, addresses are managed via [IP Pools](/docs/deliverability/managing-dedicated-ip-pools/). Addresses can be set to [automatically warm up](https://docs.sparkpost.com/docs/user-guide/automated-ip-warmup) over time, which is helpful in building a clean sender reputation as you migrate messages across.

Health Score and other SparkPost Analytics features
---------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion content/docs/user-guide/mailjet-migration-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ Here is a quick table with the similar terms between the two services:
Where To Get Help
-----------------

If you're ready for the gritty details, check out our [DevHub](https://developers.sparkpost.com/), [API docs](https://developers.sparkpost.com/api) and [pricing](https://www.sparkpost.com/pricing/). If you have general questions, take a walk through our [support articles](https://support.sparkpost.com/). You can also [open a ticket](https://www.sparkpost.com/submit-a-ticket/) with our support team.
If you're ready for the gritty details, check out our [DevHub](https://developers.sparkpost.com/), [API docs](https://developers.sparkpost.com/api) and [pricing](https://www.sparkpost.com/pricing/). If you have general questions, take a walk through our [support articles](https://docs.sparkpost.com/). You can also [open a ticket](https://www.sparkpost.com/submit-a-ticket/) with our support team.

Signing Up
----------
Expand Down
2 changes: 1 addition & 1 deletion content/docs/user-guide/mandrill-migration-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ SparkPost API calls are authenticated by passing a valid API key through the [H
Where To Get Help
-----------------

If you're in a hurry, don't have time to read this Mandrill Migration Guide and just want the gritty details, check out our [Developer Site](https://developers.sparkpost.com/), [API reference](https://developers.sparkpost.com/api/) and [pricing](https://www.sparkpost.com/pricing/). If you have general questions, [take a look through our support articles](https://support.sparkpost.com/).
If you're in a hurry, don't have time to read this Mandrill Migration Guide and just want the gritty details, check out our [Developer Site](https://developers.sparkpost.com/), [API reference](https://developers.sparkpost.com/api/) and [pricing](https://www.sparkpost.com/pricing/). If you have general questions, [take a look through our support articles](https://docs.sparkpost.com/).

Signing Up
----------
Expand Down
2 changes: 1 addition & 1 deletion content/docs/user-guide/migrating-from-sendgrid.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ First here's a quick primer on the main terminology differences between the two
Where To Get Help
-----------------

If you're in a hurry, don't have time to read this SendGrid Migration Guide and just want the gritty details, check out our [DevHub](https://developers.sparkpost.com/), [API docs](https://developers.sparkpost.com/api/) and [pricing](https://www.sparkpost.com/pricing/). If you have general questions, [take a look through our support articles](https://support.sparkpost.com/).
If you're in a hurry, don't have time to read this SendGrid Migration Guide and just want the gritty details, check out our [DevHub](https://developers.sparkpost.com/), [API docs](https://developers.sparkpost.com/api/) and [pricing](https://www.sparkpost.com/pricing/). If you have general questions, [take a look through our support articles](https://docs.sparkpost.com/).

Signing Up
----------
Expand Down
68 changes: 68 additions & 0 deletions content/momentum/4/console-commands/delay.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
lastUpdated: "06/30/2026"
title: "delay"
description: "delay ec_console move messages from the active queue into the delayed queue deferring the next delivery attempt by a number of seconds optional --domain --binding scoping and --meta --header filter"
---

<a name="console_commands.delay"></a>
## Name

delay — defer active-queue messages into the delayed queue

## Synopsis

`delay` { *`seconds`* } [ `--domain` *`name`* ] [ `--binding` *`name`* ] [ `--meta` *`key`* *`value`* | `--header` *`header_name`* *`header_line`* ]

<a name="idp_delay_desc"></a>
## Description

The **delay** command moves messages from the **active queue** into the **delayed queue**, deferring their next delivery attempt by *`seconds`* seconds. Messages already in the delayed queue are not affected.

*`seconds`* is required and must be a whole number greater than zero. The command also requires **at least one** selector — `--domain`, `--binding`, `--meta`, or `--header` — so it never delays the entire active queue implicitly.

On success the command reports how many messages were moved:

```
10:47:35 /tmp/2025> delay 300 --domain relay.com
Delayed 42 messages.
```

When a `--domain` is named but has no messages in the active queue, the command reports:

```
10:47:35 /tmp/2025> delay 300 --domain relay.com
No messages for relay.com found.
```

<a name="delay_scoping"></a>
### Scoping by domain and binding

Use **`--domain`** *`name`* to restrict the operation to a single domain's active queue, and **`--binding`** *`name`* to restrict it to a single binding. The binding name is validated against the configured bindings; an unknown binding is rejected:

```
10:47:35 /tmp/2025> delay 600 --binding outbound-pool
Delayed 18 messages.
```

`--domain` and `--binding` can be combined to target a single domain on a single binding.

<a name="delay_selective"></a>
### Selective delay (optional filter)

Optional **`--meta`** / **`--header`** filtering uses the same matching rules as the `fail` family of commands. **`--header`** compares **physical header lines** only — see [**folded headers**](/momentum/4/console-commands/fail-domain-quiet#header_filter_physical_lines). With a filter, only matching messages are delayed; non-matching messages stay in the active queue.

You cannot combine `--meta` and `--header` in the same command.

```
10:47:35 /tmp/2025> delay 300 --meta mo_campaign_id summer-sale
Delayed 12 messages.
```

```
10:47:35 /tmp/2025> delay 120 --domain relay.com --header X-Delay-Pick alpha
Delayed 4 messages.
```

## See Also

The same `--meta` / `--header` filtering clause is accepted by the [reroute queue](/momentum/4/console-commands/reroute-queue) command and the fail-family commands: [fail domain](/momentum/4/console-commands/fail-domain) · [fail domain quiet](/momentum/4/console-commands/fail-domain-quiet) · [fail all](/momentum/4/console-commands/fail-all) · [fail all quiet](/momentum/4/console-commands/fail-all-quiet) · [binding fail domain](/momentum/4/console-commands/binding-fail-domain) · [binding fail domain quiet](/momentum/4/console-commands/binding-fail-domain-quiet)
1 change: 1 addition & 0 deletions content/momentum/4/console-commands/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ description: "This section documents all the non module specific console command
| [config](/momentum/4/console-commands/config) | online configuration tuning for Momentum |
| [count](/momentum/4/console-commands/count) | count open connections |
| [counter](/momentum/4/console-commands/counter) | manage counters |
| [delay](/momentum/4/console-commands/delay) | defer active-queue messages into the delayed queue |
| [delayed](/momentum/4/console-commands/delayed) | show domains with delayed queue size bigger than threshold |
| [dig](/momentum/4/console-commands/dig) | submit a domain for DNS MX query |
| [dns_cache](/momentum/4/console-commands/dns-cache) | manage Momentum's DNS cache |
Expand Down
Loading
Loading