Skip to content

Status codes

Last updated: 2025-11-14

Status codes is a part multiple different objects, but primarily used in the the CampaignMember model in our API, and are named AdditionStatus. It is used to describe the current state of a single respondents participation in a survey. Other status codes are mentioned later in this document.

Structure

Our status codes are split into groups that tries to mimic HTTP status codes but with an extra digit. 0-1999 means that the entity is still being processed but got this far, 2000-3999 is sucesses and above 4000 is errors so the codes may be easier to recognize and sort for developers. For everyone else, it will appear with shortcodes and detailed descriptions.

Range description
0-999 Indicates different stages of nps.today sucessfully received new campaignMembers.
2000-2499 Successful status that happens after nps.today has sucessfully recieved handled campaignMembers including handover to subproviders and sucessfull user actions.
2500-2999 Survey sucessfully answered.
3000-3999 Successful status of negative events that are not ment to be in common reports and dashboards.
4000-4999 Errors occuring at nps.today.
5000-5099 Unknown errors occuring at our providers.
5100-5199 Errors occuring at our E-mail providers.
5200-5299 Errors occuring at our SMS providers.

Status code list

code shortcode description
0 Added respondent / campaignMember sucessfully added to nps.today.
10 Scheduled survey has been scheduled for processing.
2010 Sent survey has been sucessfully handed over to a subprovider.
2020 Delivered survey has been sucessfully delivered as per notification from our providers. (Not guaranteed as we are not always provided with this data)
2030 Opened respondent has opened an e-mail survey (not guaranteed as some providers prohibit this behaviour)
2040 Clicked respondent has clicked on a link in the survey. (Only E-mail, and not guaranteed as some providers prohibit this behaviour)
2050 Reminded A reminder has been send to the respondent.
2051 Reminded A reminder has been attempt to send but failed to do so.
2510 Rated respondent has given a rating, but not fully completed the survey.
2520 Commented respondent has added a comment, but not fully completed the survey.
2600 Completed respondent has fully completed a survey and clicked the final submit button.
2701 ScoreChangedInternally When the score is changed by a user in the dashboard.
2702 CommentChangedInternally When the comment is changed by a user in the dashboard.
3010 Unsubscribed respondent has unsubscribed from this exact surevy participation.
4000 InternalUnknownError Any internal error that is not described with a 4xxx number below.
4001 Duplicate respondent already exists on this campaign and duplicates are not allowed on this campaign.
4002 Throttled respondent has recently received another survey from your account and a Throttling period on your campaign prevents the survey from being delivered.
4003 CallDurationTooShort When a survey is triggered from a call to a connected contact center but the call was shorter than a preset minimum talk time (default 10 seconds).
4004 InvalidPhone respondents phonenumber is invalid. Ensure the phonenumber is provided in the E.164 format. (+45... for DK, +1... for USA)
4005 InvalidEmail respondents e-mail address is clearly invalid. Ex. Missing @ or has no valid domain ending like .com no delivery attempt will be made.
4006 AlreadyUnsubscribed respondent has unsubscribed before this campaign participation. (see 3010)
4007 CampaignEnded A respondent was added or survey scheduled after the target campaign has been closed.
4008 DuplicatedDetected A respondent received a survey 30 or less seconds ago. Even when "Throttling" is not enabled or "Allow Dublicates" is enabled, this mechanism works as an anti-spam safe guard.
4009 WasAnonymousSendout Sendout was attempted to a respondent which has already been anonymized.
4010 SurveyExpired A respondent tried to respond to a survey after the survey had expired.
5000 ExternalUnknownError Unknown external error.
5001 ExternalBounced Unknown bounce error at a provider. Delivery failed or not attempted from provider.
5100 EmailServiceFailed Unknown error occuring at our e-mail provider provider.
5101 EmailServiceBounced E-mail address is either invalid, blocked, unsubscribed (outside your account), does not exist or is in another way blacklisted at our e-mail provider.
5200 SMSServiceFailed Unknown error occuring at our SMS provider.
5201 SMSServiceBounced The targeted phonenumber is blacklisted by our SMS provider and no delivery attempt will be made.
5202 SMSServiceNumberNotCapableOfReceivingSMS The targeted phone does not support the message we are trying to deliver. Ex. phone could be landline, or older cellphone with insufficient SMS storage space.

SMS codes

For most of these codes please refer to the CampaignMember status codes as other things may have happened that is not visible in the codes below.

SMS status codes

code shortcode description
0 Added The SMS survey has been added, but not yet processed.
1 Sent The SMS message has been sucessfully delivered to a provider.
2 Cancelled Something caused the message to not be sent.
3 CancelledThrottle SMS not sent cause the respondent is throttled.
4 NotCapableOfReceivingSMS The device this phonenumber belongs to is not capable of receiving SMS messages.

SMS types

type shortcode description
0 survey The original SMS survey send to a respondent.
1 reminder A reminder copy of the original survey.
2 manualResend A user triggered resend of the above survey.

E-mail codes

For most of these codes please refere to the CampaignMember status codes as other things may have happend that is not vislble in the codes below.

E-mail status codes

code shortcode description
0 Scheduled Scheduled for delivery.
1 Sent Handed over to Sendgrid or Flowmailer.
2 Opened* Respondent has opened the e-mail. (Note that this is not always posible to detect)
3 CancelledThrottle The respondent is throttled, e-mail is not sent.
4 Bounced The e-mail has bounced. i.e. not delivered because e-mail does not exist, unreacheable or have blacklisted this sender.
5 Clicked Respondent has clicked a link in the e-mail.
6 CancelledInactive Respondent did not recieve e-mail because they were unsubscribed or "blacklisted".
7 CancelledDoNotContact Respondent did not recieve e-mail because they were unsubscribed or "blacklisted".
8 CancelledEndedCampaign E-mail was not sent because the campaign was closed when delivery was attempted.
9 CancelledReminder Reminder e-mail not delivered becasue survey was already answered.

E-mail types

type shortcode description
0 survey The original e-mail survey sent to a respondent.
1 reminder A reminder copy of the original survey.
2 manualResend A user triggered resend of the above survey.