> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.rushorder.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.rushorder.com/_mcp/server.

# Send a test delivery

POST https://dream.rushorder.com/api/webhooks/subscriptions/{id}/test

Webhooks are only available for certain clients. Contact your Rush Order representative to have them enabled. Creating or changing subscriptions with an API key must also be enabled for your account; otherwise this returns 403.

Sends a signed `webhook.test` delivery to the subscription's destination right away and reports how your endpoint responded. It is a single attempt with a 10-second limit, and can be sent at most once every 10 seconds per subscription.

Reference: https://docs.rushorder.com/api-reference/webhooks/send-test

## Authentication

- `Authorization` header (basic auth, required) — Basic authentication of the form `Basic <base64(username:password)>`.

## Request

### Path parameters

- `id` (integer, required) — The subscription ID.

### Headers

- `RushOrderMomCode` (string, required) — All requests require the header to contain RushOrderMomCode, a 3 character string that represents the client internally in Rush Order. This should be given to you by Rush Order.

## Response

### 200

The test was attempted. Check `Delivered` for the outcome.

- `Delivered` (boolean, optional) — True when your endpoint returned a 2xx status.
- `StatusCode` (integer, optional, nullable) — Your endpoint's HTTP status code.
- `ElapsedMilliseconds` (long, optional)
- `ResponseSnippet` (string, optional, nullable) — The start of your endpoint's response body, up to 512 characters.
- `Error` (string, optional, nullable) — Why the delivery failed, when it did.

## Errors

### 400 Bad Request Error

The request is not valid: a missing name or event type, an unknown event type, a duplicate name, or a destination URL that breaks the rules above.

- `any`

### 403 Forbidden Error

Webhooks are not enabled for this client, or managing them with this API key is not enabled.

- `any`

### 404 Not Found Error

No subscription with that ID.

- `any`

### 429 Too Many Requests Error

A test was sent to this subscription in the last 10 seconds.

- `any`

### 503 Service Unavailable Error

Temporarily unavailable. Try again shortly.

- `any`

## Examples

**Response**

```json
{
  "Delivered": true,
  "StatusCode": 200,
  "ElapsedMilliseconds": 184,
  "ResponseSnippet": "string",
  "Error": "string"
}
```

**SDK Code**

```python
import requests

url = "https://dream.rushorder.com/api/webhooks/subscriptions/12/test"

headers = {
    "RushOrderMomCode": "ABC"
}

response = requests.post(url, headers=headers, auth=("<username>", "<password>"))

print(response.json())
```

```javascript
const url = 'https://dream.rushorder.com/api/webhooks/subscriptions/12/test';
const credentials = btoa("<username>:<password>");

const options = {
  method: 'POST',
  headers: {RushOrderMomCode: 'ABC', Authorization: `Basic ${credentials}`}
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://dream.rushorder.com/api/webhooks/subscriptions/12/test"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("RushOrderMomCode", "ABC")
	req.SetBasicAuth("<username>", "<password>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://dream.rushorder.com/api/webhooks/subscriptions/12/test")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["RushOrderMomCode"] = 'ABC'
request.basic_auth("<username>", "<password>")

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://dream.rushorder.com/api/webhooks/subscriptions/12/test")
  .header("RushOrderMomCode", "ABC")
  .basicAuth("<username>", "<password>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://dream.rushorder.com/api/webhooks/subscriptions/12/test', [
  'headers' => [
    'RushOrderMomCode' => 'ABC',
  ],
    'auth' => ['<username>', '<password>'],
]);

echo $response->getBody();
```

```csharp
using RestSharp;
using RestSharp.Authenticators;

var client = new RestClient("https://dream.rushorder.com/api/webhooks/subscriptions/12/test");
client.Authenticator = new HttpBasicAuthenticator("<username>", "<password>");
var request = new RestRequest(Method.POST);
request.AddHeader("RushOrderMomCode", "ABC");

IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let credentials = Data("<username>:<password>".utf8).base64EncodedString()

let headers = [
  "RushOrderMomCode": "ABC",
  "Authorization": "Basic \(credentials)"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://dream.rushorder.com/api/webhooks/subscriptions/12/test")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```