upstream_member_state_unavailable
HTTP Status: 503 Service Unavailable
Example response
What happened?
VIES reported that the specific EU member state’s tax authority backend is unavailable. VIES is a gateway that routes to individual national databases. When one is down, only VAT numbers from that country are affected. This is different fromupstream_unavailable, which means the entire upstream service (VIES, HMRC, BFS, BRREG, or ABR) is unreachable. Here, VIES itself is working but the member state backend is not.
Common VIES availability errors that trigger this:
MS_UNAVAILABLE- the member state database is offlineMS_MAX_CONCURRENT_REQ- the member state is overloadedTIMEOUT- the member state did not respond in timeSERVICE_UNAVAILABLE- the VIES service itself is downGLOBAL_MAX_CONCURRENT_REQ- VIES-wide concurrency limit reached
Why didn’t I get a stale cached result?
Vatly serves stale cached results withmeta.source_status: "unavailable" when possible. You only see this 503 error when Vatly has never validated this VAT number before and has no cached result to fall back on.
How to fix
- Retry after the
Retry-Afterheader: Use exponential backoff, doubling each time up to 60 seconds - Check VIES status: https://ec.europa.eu/taxation_customs/vies/ to see if the specific country shows as unavailable
- Try again later: Member state outages are usually temporary (minutes to hours)
- Handle gracefully: Show users a message like “VAT validation for [country] is temporarily unavailable”
Common mistakes
- Treating this as a permanent failure: Member state outages are transient. Always retry
- Not checking
meta.source_status: On subsequent requests for the same VAT number, Vatly may serve a stale cached result withsource_status: "unavailable"instead of this error