400 | The request conflicts with the resource’s current state. | Correct the action or refresh the resource before retrying. |
401 | API key or bearer token is missing, invalid, expired, or mismatched. | Re-authenticate the member and verify both credentials belong to the same church. |
403 | The member is authenticated but lacks permission. | Do not retry without a permission or resource-context change. |
404 | The resource does not exist in the authenticated church. | Refresh local state and stop retrying the same identifier. |
422 | One or more inputs failed validation. | Display safe field-level validation messages. |
429 | The rate limit was exceeded. | Back off and retry after the server’s retry window. |
500 | An unexpected server error occurred. | Retry read-only requests with bounded exponential backoff; avoid automatically repeating mutations. |