# E04039 — BroadcastTemplateVariableUnfillable

This template uses a variable that a broadcast has no value for. A broadcast fills in contact properties and nothing else, because that is all it knows about each recipient. Take the variable out of the template, or change it to a contact property, then send the broadcast again.

- **HTTP status**: `422`
- **Type**: `validation_error`
- **Name**: `BroadcastTemplateVariableUnfillable`

## What to do

Edit the template and either remove the variable or change it to a contact property. A contact property can be one of our built-in fields, or a custom property your workspace has registered. An archived property does not count as registered, so a variable pointing at one is refused just like a variable naming a property that was never registered at all. Once the template is fixed, send the broadcast again.

## Related

- [E04xxx — Email sending & delivery](/docs/api/errors/E04xxx): every code in this range
- [Errors](/docs/api/errors): the full wire contract, status mapping, and error catalog
- [Error handling](/docs/guides/errors): branching on `type` and `code`, validation details, and `vendor_code`

## Related resources

- [Should I use a Bird SDK or call the API directly?](/explained/platform/should-i-use-an-sdk-or-call-the-api-directly) (answer)
- [Build your first integration](/learn/paths/integration) (course)
- [Send your first email](/docs/get-started/send-your-first-email) (docs)

[Get an implementation brief](/learn/workspace?topic=api-basics)
