Error codes
Refer to the following table for commonly-encountered errors in Marco API and how to troubleshoot them.
400 Bad Request
Input Error. The request was malformed or missing required fields.
Cause: The request body, headers, or query parameters are invalid or incomplete. Solution: Check your payload format and required fields. Ensure all parameters match the expected type and structure defined in the API reference.
401 Unauthorized
Authentication Required. Missing or invalid authentication credentials.
Cause: The Authorization header is missing, has an invalid token, or the token has expired. Solution: Request a new authentication token and include it as a Bearer token in your request header.
403 Forbidden
Access denied. The caller does not have sufficient permissions.
Cause: The authenticated user lacks the required access scope. (e.g: Time, Payroll, or Admin access). Solution: Ensure that your user has the correct permission level. See Role-Based Access Control (RBAC) for more details.
404 Not Found
Resource Not Found. The requested endpoint or record could not be located.
Cause: The resource ID, path, or endpoint is incorrect, or the record no longer exists. Solution: Verify that the resource ID and endpoint URL are valid and active.
429 Too Many Requests
Rate Limited. The client sent too many requests in a short period.
Cause: The API rate limit has been exceeded. Solution: Wait before retrying the request. Respect the Retry-After header if provided, and consider batching requests using bulk endpoints.
500 Internal Server Error
Unexpected Server Error. A system failure occurred while processing the request.
Cause: An unhandled exception or server issue occurred. Solution: Retry the request after a brief delay. If the issue persists, contact Marco Payroll Support with the returned request_id.
Last updated