# Error Codes

Below is a list of error codes that can possibly be returned by the Prodege API:

## Error Code

| Error Code | Description |
|------------|-------------|
| 100        | Prodege API is currently under maintenance |
| 101        | Unauthorized Access |
| 102        | Expired Request |
| 103        | API rate limit reached |
| 1001       | Invalid value for client_time |
| 1002       | Invalid country_id |
| 2001       | Invalid prodege_project_id |
| 2002       | Invalid project_id |
| 2003       | Project not found |
| 2004       | Duplicate project_id |
| 2005       | Invalid project_type_id |
| 2006       | Invalid value for loi |
| 2007       | Project URL is required for Adhoc surveys |
| 2008       | The project_url field is only used for Adhoc surveys (DEPRECATED) |
| 2009       | Invalid value for cpi |
| 2010       | API user is not allowed to set project cpi |
| 2011       | API user is not allowed to use alphanumeric project_id’s |
| 2012       | Invalid value for status |
| 2013       | Project status cannot be set to LIVE (No quotas) |
| 2014       | No further changes can be made once project is in COMPLETE status |
| 2015       | Non-PENDING projects cannot be set back to PENDING status |
| 2016       | PENDING Projects cannot transition to PAUSED or COMPLETE |
| 2017       | PAUSED Projects can only transition to LIVE or COMPLETE |
| 2018       | Project URL must contain %transid% |
| 2019       | Project URL invalid: url should be properly formatted with http:// |
| 2032       | Invalid project URL: must be no more than 255 characters |
| 2033       | Invalid placeholders in project URL: @pl [@pl represents the invalid “q” placeholders that were included in the project URL] |
| 2034       | API User is not allowed to set project_incentive |
| 2035       | Invalid value for incentive_amount: must be > 0 and <= cpi |
| 2036       | API user is not allowed to create qualitative surveys |
| 2037       | API User is not allowed to set project_intro |
| 2038       | Value for project_intro must be no more than 500 characters |
| 2039       | Value for project_intro must be a valid JSON |
| 2078       | Non-pending projects cannot be deleted |
| 3001       | Invalid value for number_of_respondents |
| 3002       | Value for targeting_criteria should be a valid JSON |
| 3003       | Invalid question_id: @q [@q is a placeholder for the question_id] |
| 3004       | Invalid precode data for question @q: @p [@p is a placeholder for the invalid precodes] |
| 3005       | Quota not found |
| 3010       | Quotas with activity cannot be deleted |
| 4001       | Value for reconciliation_entries should be a valid JSON |
| 4002       | Invalid new status for transaction_id @tr: @st [@tr is a placeholder for the transaction_id, @st is a placeholder for the completion_type] |
| 4003       | Invalid transaction_id @tr |
| 4004       | Project not found for transaction_id @tr |
| 4005       | Project is in COMPLETE status. transaction_id: @tr |
| 4006       | Transaction not found |
| 4007       | Project URL not found |
| 4008       | Panelist not found for Recontact project |
| 4009       | Invalid reconciliation entry value: @re |
| 4010       | Invalid panelist_id |
| 4011       | API User is not allowed access to pmr-unsigned-transaction-completion |
| 4012       | Transaction is not associated with API User on request |
| 4013       | Project URL must be provided before the survey can be set to LIVE |
| 4014       | Could not retrieve test link from multi link source |
| 4015       | Transaction is associated with non-member |
| 4016       | Could not create transaction for COMPLETED projects |
| 5001       | Invalid value for expected_incidence_rate |
| 5002       | Invalid country_id Question |
| 5003       | Invalid value for last_login_in_days, should be greater than 0 |
| 5004       | Invalid value for panelist_ids |
| 5005       | Invalid value for transaction_ids |
| 5006       | Can not calculate respondents |
| 5007       | You do not have permissions to use last_login_in_days parameter |
| 6001       | Value for panelist_recontacts should be a valid JSON |
| 6002       | Value for transaction_recontacts should be a valid JSON |
| 6003       | Project should be recontact type |
| 6004       | Survey URL: missing url placeholder for transid |
| 6005       | Survey URL: missing url placeholder for panelistid |
| 6006       | Invalid expiration date |
| 6007       | Invalid recontact entry value: @re |
| 6008       | Recontact Project cannot have both Project-level and Panelist-level URLs at the same time |
| 6009       | Recontact Project cannot be missing both Project-level and Panelist-level URLs at the same time |
