API status codes and errors
The SEM APIs return standard HTTP status codes to indicate whether a request was successful or failed.
Most error responses include:
- an HTTP status code,
- a machine-readable error code,
- and a human-readable error description to help identify and troubleshoot issues.
Common HTTP status codes
| HTTP status | Description | Common causes |
|---|---|---|
200 OK | Request completed successfully | Successful retrieval or update |
204 No Content | Request completed successfully with no response body | Successful delete or stop operations |
400 Bad Request | Invalid request parameters or malformed request body | Invalid filters, invalid date ranges, malformed JSON, unsupported values |
401 Unauthorized | Authentication failed | Missing, invalid, or expired access token |
403 Forbidden | Access denied | Seller does not have permission to access the requested SEM feature |
404 Not Found | Requested resource not found | Invalid campaign ID or missing resource |
422 Unprocessable Entity | Request payload validation failed | Invalid request structure or unsupported content type |
429 Too Many Requests | Rate limit exceeded | Too many requests sent within the allowed time window |
500 Internal Server Error | Unexpected server-side error | Temporary service or processing issue |
503 Service Unavailable | Service temporarily unavailable | Temporary outage or maintenance window |
Error response structure
Most SEM APIs return structured error responses containing:
code: Machine-readable error identifierdescription: Human-readable error messageinfo: Additional context about the errorseverity: Error severity levelcategory: Error classification
Example:
{ "error": [ { "code": "INVALID_REQUEST.SEM_API", "description": "Request not valid", "info": "End date cannot be before start date", "severity": "Error", "category": "Data specific error" } ]
}Rate limiting
SEM APIs enforce request rate limits to ensure platform stability.
If you submit too many requests in a short period of time, you may exceed Walmart’s rate limits and receive HTTP 429 (Too Many Requests) responses. For more details on throttling and best practices, refer to the Rate Limiting Guide.
Updated 17 days ago
