> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.offerzy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Test and monitor postbacks

> Send test postbacks from the dashboard, understand automatic retries and check every delivery in the Postbacks report.

## Send a test postback

Save a postback URL in the placement's **Settings**, then open its **Test postback** tab. Fill in the fields and click **Send test postback**: we send a real, signed request to your URL and show your server's status code, response time and response body. No money moves.

| Field | Default | Notes |
| - | - | - |
| User ID | `user123` | Use a test account on your side. |
| Status | Completed (credit) | Choose **Reversed (debit)** to test a [reversal](/postbacks/reversals). |
| Payout (USD) | `1.50` | |
| Reward | Payout × units per \$1 | Calculated from your [exchange rate](/offerwall/currency). |
| Transaction ID | `test_tx_123` | |
| IP address | `203.0.113.10` | |
| Offer name and ID | `Test offer`, `offer_123` | |

<Warning>
  Test postbacks are signed with your real secret key, so your server credits them like any other postback. Use a test user ID.
</Warning>

### What to test

<Steps>
  <Step title="Credit">
    Send a completed postback. Your server should answer `200` and the test user's balance should go up by the reward.
  </Step>

  <Step title="Duplicate">
    Send the same postback again with the same transaction ID. Your server should answer `200`, and the balance shouldn't change.
  </Step>

  <Step title="Reversal">
    Send a reversed postback with the same transaction ID. The balance should go back down.
  </Step>

  <Step title="Wrong signature">
    Call your URL yourself with a changed `reward`. Your server should answer `403` and credit nothing.
  </Step>
</Steps>

Test requests time out after 10 seconds. Real postbacks wait up to 15 seconds.

## Retries

A postback is delivered when your server answers with a `2xx` status within 15 seconds. If it doesn't, we try again automatically:

| Attempt | When |
| - | - |
| 1 | As soon as the conversion is validated |
| 2 | 1 minute later |
| 3 | 5 minutes after that |

A conversion is added to your earnings once your server accepts its postback. If every attempt fails, the conversion waits until your endpoint works again: fix it, then [contact us](mailto:hello@offerzy.io?subject=Resend%20postbacks) and we'll resend it.

## The Postbacks report

Open **Reports > Postbacks** in the dashboard to see every postback we sent, including tests: the user, offer, reward and payout, whether it was a credit, reversal or test, the delivery status, the number of attempts, your server's status code and response, and the time of the next retry.

Check it first when a user says a reward didn't arrive. See [Missing rewards](/missing-rewards).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.