openapi: 3.1.1 info: title: Panel Management Community API version: '' servers: - url: https://{server} description: Replace server with your instance domain. variables: server: default: staging.panel.dev.focusvision.com/ description: Server domain security: - ApiKey: [] paths: /api.pro#method=portal.auth.login: post: operationId: portal.auth.login summary: Create a panelist session description: Create a panelist session and return panelist information needed for future API requests. The session remains active for 60 minutes. For existing sessions, a login request resets the session timer back to 60 minutes. Another way to reset the session's expiration timer is by making a request to [/api.pro?method=portal.auth.validate](#tag/Auth/operation/portal.auth.validate) tags: - Auth security: [] parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.auth.login requestBody: required: true content: application/json: schema: type: object properties: panelid: type: integer description: The panelid the session will log as the current panel. portalid: type: integer description: The portalid the session will log as the current community. username: type: string description: The email address associated with the panelist. password: type: string description: The password associated with the panelist. required: - panelid - portalid - username - password example: panelid: 1 portalid: 1 username: demo password: demo responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The login was successful. seskey: type: string description: The sessionKey of the user session. panelistid: type: integer description: The id of the panelist who has logged in. email: type: string description: The email address of the panelist who has logged in. fullname: type: string description: The full name of the panelist who has logged in. firstname: type: string description: The first name of the panelist who has logged in. lastname: type: string description: The last name of the panelist who has logged in. examples: success: summary: Success value: success: true seskey: ce512c91 panelistid: 15 email: demo@example.com fullname: Demo Panelist firstname: Demo lastname: Panelist error-0: description: Panelist with supplied username is not found. summary: Username incorrect value: success: false error: Invalid username/password. errno: '0' error-1: description: The password entered for panelist is not correct. summary: Password incorrect value: success: false error: Invalid username/password. errno: '0' error-2: description: There have been 255 failed attempts from this IP address within the past 15 minutes. summary: IP locked value: success: false error: Invalid username/password. errno: '0' error-3: description: Panelist is not confirmed. summary: Panelist not confirmed value: success: false error: Invalid username/password. errno: '0' error-4: description: If community setting "Allow login for unsubscribed panelist" is "No" and panelist is not subscribed. summary: Panelist not subscribed value: success: false error: Invalid username/password. errno: '0' error-5: description: If community setting "Allow login for blacklisted panelist" is "No" and panelist is blacklisted. summary: Panelist blacklisted value: success: false error: Invalid username/password. errno: '0' error-6: description: The supplied portal ID is invalid for panelist. summary: Portal ID incorrect value: success: false error: The supplied community portal ID invalid. errno: '20102' /api.pro#method=portal.auth.logout: post: operationId: portal.auth.logout summary: Logout the current description: Logout of the current open API session. tags: - Auth parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.auth.logout requestBody: required: true content: application/json: schema: type: object properties: seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The logout was successful. examples: success: summary: Success value: success: true error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' error-3: description: Session is not found or is expired for supplied session key. summary: Session incorrect value: success: false error: Session not found errno: '30200' /api.pro#method=portal.auth.validate: post: operationId: portal.auth.validate summary: Checks the current seskey description: Checks that the current seskey is valid and return panelist information needed for future API requests. tags: - Auth parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.auth.validate requestBody: required: true content: application/json: schema: type: object properties: seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The validation was successful. panelistid: type: integer description: The panelistid of the validated panelist email: type: string description: The email address of the validated panelist. fullname: type: string description: The full name of the validated panelist. seskey: type: string description: A valid login hash. examples: success: summary: Success value: success: true seskey: ce512c91 panelistid: 15 email: demo@example.com fullname: Demo Panelist error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.email.sendOptOutConfirmation: post: operationId: portal.email.sendOptOutConfirmation summary: Sends an opt-out confirmation email to a panelist. description: Sends an opt-out confirmation email to a panelist. The system will automatically use the pre-defined email template from the community the panelist belongs to. When the panelist clicks on the link embedded in the email the system will mark the panelist as unsubscribed. If a custom API powered community is used then panelists will be redirected to "Receiver URL for landing pages" which is setup in the community properties.

Example redirect:
https://www.customcommunity.com/landing.php?kslp=AkjdJDEcnj3ddf

The kslp parameter specifies the appropriate landing page which can be obtained using integration.community.getLandingPage call. tags: - Email parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.email.sendOptOutConfirmation requestBody: required: true content: application/json: schema: type: object properties: mobile: type: boolean description: If true send an SMS, if false send an Email. default: false seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 mobile: false responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The email was successful. examples: success: summary: Success value: success: true error-0: description: Due to an internal error, sending the email failed. summary: Internal error value: success: false error: Failed to send optout email. errno: '0' error-1: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-2: description: The supplied mobile is not a boolean value. summary: Mobile invalid value: success: false error: The mobile flag type is invalid errno: '20102' error-3: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-4: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.email.sendReferFriend: post: operationId: portal.email.sendReferFriend summary: Send a refer a friend email to the supplied email address. description: Send a refer a friend email to the supplied email address. The system will automatically use the pre-defined email template from the community the panelist belongs to. If a custom API powered community is used then panelists will be redirected to "Receiver URL for landing pages" which is setup in the community properties.

Example redirect:
https://www.customcommunity.com/landing.php?kslp=AkjdJDEcnj3ddf

The kslp parameter specifies the appropriate landing page which can be obtained using integration.community.getLandingPage call. tags: - Email parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.email.sendReferFriend requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: The email address to refer. points: type: integer description: The points rewarded to the referrer. mobile: type: boolean description: If true send an SMS, if false send an Email. default: false seskey: type: string description: A valid login hash. required: - seskey - email - points example: seskey: ce512c91 email: person@example.com points: 100 mobile: false responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The email was successful. examples: success: summary: Success value: success: true error-0: description: Due to an internal error, sending the email failed. summary: Internal error value: success: false error: Failed to send refer friend email. errno: '0' error-1: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-2: description: The supplied email is not a valid email address. summary: Email invalid value: success: false error: The supplied email address is invalid errno: '20102' error-3: description: The supplied points value is not numeric. summary: Points invalid value: success: false error: The supplied points value is invalid errno: '20103' error-4: description: The supplied mobile is not a boolean value. summary: Mobile invalid value: success: false error: The mobile flag type is invalid errno: '20104' error-5: description: The supplied email address is a member or has been sent a referral by the current panelist. Additional referrals cannot be sent to this email address. summary: Email member already referred value: success: false error: The person you were trying to refer is already a member or has already been referred by you errno: '20202' error-6: description: The supplied email address is opted-out of referrals and cannot be sent additional referrals. summary: Email referral opt-out value: success: false error: The person you were trying to refer does not wish to be referred again errno: '20302' error-7: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-8: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.email.sendResetPassword: post: operationId: portal.email.sendResetPassword summary: Send a reset password email description: Send a reset password email to the e-mail address provided. The system will automatically use the pre-defined email template from the community the panelist belongs to. If a custom API powered community is used then panelists will be redirected to "Receiver URL for landing pages" which is setup in the community properties.

Example redirect:
https://www.customcommunity.com/landing.php?kslp=AkjdJDEcnj3ddf

The kslp parameter specifies the appropriate landing page which can be obtained using integration.community.getLandingPage call. tags: - Email security: [] parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.email.sendResetPassword requestBody: required: true content: application/json: schema: type: object properties: panelid: type: integer description: The panelid that the email address is registered to. email: type: string description: The email address to send the email to. mobile: type: boolean description: If true send an SMS, if false send an Email. default: false required: - panelid - email example: panelid: 1 email: demo@example.com mobile: false responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The email was successful. examples: success: summary: Success value: success: true error-0: description: Due to an internal error, sending the email failed. summary: Internal error value: success: false error: Failed to send reset password email. errno: '0' error-1: description: Panel with supplied panel ID is not found. summary: Panel not found value: success: false error: Panel ID does not exist, or is currently inaccessible. errno: '10000' error-2: description: The supplied panel ID is not numeric. summary: Panel ID invalid value: success: false error: Panel ID is invalid errno: '20101' error-3: description: The supplied email is not a valid email address. summary: Email invalid value: success: false error: The supplied email address is invalid errno: '20102' error-4: description: Panelist with supplied email address is not found. summary: Email not found value: success: false error: The supplied email address could not be found errno: '20102' error-5: description: The supplied mobile is not a boolean value. summary: Mobile invalid value: success: false error: The mobile flag type is invalid errno: '20103' /api.pro#method=portal.email.sendOptInConfirmation: post: operationId: portal.email.sendOptInConfirmation summary: Sends an opt-in email to the e-mail address provided. description: Sends an opt-in email to the e-mail address provided. The system will automatically use the pre-defined email template from the community the panelist belongs to. If a custom API powered community is used then panelists will be redirected to "Receiver URL for landing pages" which is setup in the community properties.

Example redirect:
https://www.customcommunity.com/landing.php?kslp=AkjdJDEcnj3ddf

The kslp parameter specifies the appropriate landing page which can be obtained using integration.community.getLandingPage call. tags: - Email security: [] parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.email.sendOptInConfirmation requestBody: required: true content: application/json: schema: type: object properties: panelid: type: integer description: The panelid that the email address is registered to. email: type: string description: The email address to send the email to. mobile: type: boolean description: If true send an SMS, if false send an Email. default: false required: - panelid - email example: panelid: 1 email: demo@example.com mobile: false responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The email was successful. examples: success: summary: Success value: success: true error-0: description: Due to an internal error, sending the email failed. summary: Internal error value: success: false error: Failed to send optin email. errno: '0' error-1: description: Panelist cannot resend confirmation because panelist is unconfirmed. summary: Panelist unconfirmed value: success: false error: Failed to send optin email. errno: '0' error-2: description: Panel with supplied panel ID is not found. summary: Panel not found value: success: false error: Panel ID does not exist, or is currently inaccessible. errno: '10000' error-3: description: The supplied panel ID is not numeric. summary: Panel ID invalid value: success: false error: Panel ID is invalid errno: '20101' error-4: description: The supplied email is not a valid email address. summary: Email invalid value: success: false error: The supplied email address is invalid errno: '20102' error-5: description: Panelist with supplied email address is not found. summary: Email not found value: success: false error: The supplied email address could not be found errno: '20102' error-6: description: The supplied mobile is not a boolean value. summary: Mobile invalid value: success: false error: The mobile flag type is invalid errno: '20103' /api.pro#method=portal.panel.validateSource: post: operationId: portal.panel.validateSource summary: Validate sourceid for panelid. description: Validate that the given sourceid is valid for the given panelid. tags: - Panel security: [] parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.panel.validateSource requestBody: required: true content: application/json: schema: type: object properties: panelid: type: integer description: The panelid in which the sourceid should be found. sourceid: type: integer description: The sourceid to be validated. required: - panelid - sourceid example: panelid: 1 sourceid: 10 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The validation was successful. examples: success: summary: Success value: success: true error-0: description: Panel with supplied panel ID is not found. summary: Panel not found value: success: false error: Panel ID does not exist, or is currently inaccessible. errno: '10000' error-1: description: The supplied panel ID is not numeric. summary: Panel ID invalid value: success: false error: Panel ID is invalid errno: '20101' /api.pro#method=portal.panel.validateEmail: post: operationId: portal.panel.validateEmail summary: Validate the email into panelid. description: Validate that the given email is valid for the given panelid. tags: - Panel security: [] parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.panel.validateEmail requestBody: required: true content: application/json: schema: type: object properties: panelid: type: integer description: The panelid in which the email address should be registered. email: type: string description: The email address to be validated. required: - panelid - email example: panelid: 1 email: demo@example.com responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The validation was successful. examples: success: summary: Success value: success: true error-0: description: Panel with supplied panel ID is not found. summary: Panel not found value: success: false error: Panel ID does not exist, or is currently inaccessible. errno: '10000' error-1: description: The supplied email address is used by another panelist on the panel. summary: Email duplicate value: success: false error: The supplied email address is already in use errno: '20002' error-2: description: The supplied panel ID is not numeric. summary: Panel ID invalid value: success: false error: Panel ID is invalid errno: '20101' error-3: description: The supplied email is not a valid email address. summary: Email invalid value: success: false error: The supplied email address is invalid errno: '20102' /api.pro#method=portal.panelist.create: post: operationId: portal.panelist.create summary: Create a new panelist. description:

NOTE:
In most cases, portal.email.sendOptInConfirmation will need to be called after panelist is created successfully. tags: - Panelist parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.panelist.create requestBody: required: true content: application/json: schema: type: object properties: panelid: type: integer description: The panelid in which the new panelist should be assigned. datapoints: type: array description: Array of data points and values to assign to the new panelist. items: required: - label - answer properties: label: type: string description: The datapoint label, may also be one of the reserved labels (email, password, identifier, sourceid, etc.). Email is the only required field.
Please note, that data point labels are case sensitive! answer: oneOf: - type: - string - 'null' - type: - number - 'null' description: The panelist's data point or system field value. Checkboxes should be passed-in as a comma-separated list. Password can be plain text or a bcrypt hash. referral: type: - string - 'null' description: A referral hash, as returned by portal.panelist.referralHash, or NULL if this isn't a referral. points: type: string description: Initial number of points awarded for joining required: - panelid - datapoints example: panelid: 1 datapoints: - label: email answer: demo@example.com - label: password answer: demopassword - label: QGENDER answer: Female referral: 4a2642645e73235ee9daafb0b2df287b responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The panelist creation was successful. panelistid: type: integer description: The panelistid of the newly created panelist. verification: type: string description: The confirmation hash - needed for portal.panelist.confirm. examples: success: summary: Success value: success: true panelistid: 2 verification: c50dea019651460501d2b9dcc0a8aafa error-0: description: Panel with supplied panel ID is not found. summary: Panel not found value: success: false error: Panel ID does not exist, or is currently inaccessible. errno: '10000' error-1: description: At least one of the supplied datapoints does not contain a label. summary: Datapoints invalid value: success: false error: Answer data did not contain dataid or label! errno: '20000' error-2: description: The supplied datapoints do not contain a answer. summary: Datapoints invalid value: success: false error: No answer data supplied! errno: '20000' error-3: description: At least one of the supplied datapoints is not defined in this panel. summary: Datapoint unknown value: success: false error: The following labels for which you tried to store data are not defined for this panel… errno: '20000' error-4: description: The supplied panel ID is not numeric. summary: Panel ID invalid value: success: false error: Panel ID is invalid errno: '20101' error-5: description: The supplied referral hash was not valid. summary: Referral hash invalid value: success: false error: The supplied referral hash is invalid errno: '20103' error-6: description: The supplied points is not numeric. summary: Points invalid value: success: false error: The supplied initial points value is invalid errno: '20104' error-7: description: The supplied email is not a valid email address. summary: Email invalid value: success: false error: The supplied email address is invalid errno: '40006' /api.pro#method=portal.panelist.update: post: operationId: portal.panelist.update summary: Update the current panelist's information. tags: - Panelist parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.panelist.update requestBody: required: true content: application/json: schema: type: object properties: datapoints: type: array description: Array of data points and values to assign to the panelist. items: required: - label - answer properties: label: type: string description: The datapoint label, may also be one of the reserved labels (email, password, identifier, sourceid, etc.). Email is the only required field.
Please note, that data point labels are case sensitive! answer: oneOf: - type: - string - 'null' - type: - number - 'null' description: The panelist's data point or system field value. Checkboxes should be passed-in as a comma-separated list. Password can be plain text or a bcrypt hash. seskey: type: string description: A valid login hash. required: - seskey - datapoints example: seskey: ce512c91 datapoints: - label: QGENDER answer: Female - label: QCHECKBOX answer: 2,4,5,8 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The update was successful. examples: success: summary: Success value: success: true error-0: description: At least one of the supplied datapoints does not contain a label. summary: Datapoints invalid value: success: false error: Answer data did not contain dataid or label! errno: '20000' error-1: description: The subscribed is invalid. Subscribed can only be set to "yes" or "no". summary: Subscribed invalid value: success: false error: The supplied value for label 'subscribed' is invalid errno: '20000' error-2: description: At least one of the supplied datapoints is not defined in this panel. summary: Datapoint unknown value: success: false error: The following labels for which you tried to store data are not defined for this panel… errno: '20000' error-3: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-4: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-5: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' error-6: description: The supplied email is not a valid email address. summary: Email invalid value: success: false error: The supplied email address is invalid errno: '40003' /api.pro#method=portal.panelist.optOut: post: operationId: portal.panelist.optOut summary: Unsubscribes a panelist description: This method unsubscribes a panelist. The panelist is not deleted, only marked as unsubscribed. tags: - Panelist parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.panelist.optOut requestBody: required: true content: application/json: schema: type: object properties: seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The opt out was successful. examples: success: summary: Success value: success: true error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.panelist.read: post: operationId: portal.panelist.read summary: Panelist information description: This method returns a panelist information for a specific datapoint. tags: - Panelist parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.panelist.read requestBody: required: true content: application/json: schema: type: object properties: datapoints: type: array description: An array of datapoint Labels items: type: string seskey: type: string description: A valid login hash. required: - seskey - datapoints example: seskey: ce512c91 datapoints: - QGENDER - IDENTIFIER - QCHECKBOX responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: Retrieving panelist information was successful. values: type: array description: Array of datapoint values requested. items: properties: label: type: string description: The datapoint label, may also be one of the reserved labels (email, password, identifier, sourceid, etc.). answer: oneOf: - type: - string - 'null' - type: - number - 'null' description: The panelist's data point value. Checkboxes are a comma-separated list. examples: success: summary: Success value: success: true values: - label: QGENDER answer: Female - label: IDENTIFIER answer: Demo1 - label: QCHECKBOX answer: 2,4,5 error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.panelist.confirm: post: operationId: portal.panelist.confirm summary: Confirms panelist join to the panel description: Confirms that a panelist wished to join the panel, and that the email address used to sign-up is valid. tags: - Panelist parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.panelist.confirm requestBody: required: true content: application/json: schema: type: object properties: panelid: type: integer description: The panelid of the panel the panelist wishes to join. panelistid: type: integer description: The id of the panelist that wishes to join. verification: type: string description: The verification hash returned by the portal.panelist.create function. required: - panelid - panelistid - verification example: panelid: 1 panelistid: 15 verification: c50dea019651460501d2b9dcc0a8aafa responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: Confirming the panelist was successful. panelistid: type: integer description: The panelistid of the confirmed panelist. seskey: type: string description: The sessionKey of the confirmed panelist. fullname: type: string description: The full name of the confirmed panelist. email: type: string description: The email address of the confirmed panelist. firstname: type: string description: The first name of the panelist who has logged in. lastname: type: string description: The last name of the panelist who has logged in. examples: success: summary: Success value: success: true panelistid: 15 seskey: ce512c91 fullname: Demo Panelist email: demo@example.com firstname: Demo lastname: Panelist error-0: description: Panel with supplied panel ID is not found. summary: Panel not found value: success: false error: Panel ID does not exist, or is currently inaccessible. errno: '10000' error-1: description: The supplied panel ID is not numeric. summary: Panel ID invalid value: success: false error: Panel ID is invalid errno: '20101' error-2: description: The supplied panelist ID is not numeric. summary: Panelist ID invalid value: success: false error: The supplied panelist ID is invalid errno: '20102' error-3: description: The supplied verification is not valid. summary: Verification invalid value: success: false error: The registration confirmation code is invalid errno: '20103' error-4: description: Panelist with supplied panelist ID is not found. summary: Panelist not found value: success: false error: The supplied panelist ID could not be found errno: '20302' /api.pro#method=portal.panelist.referralHash: post: operationId: portal.panelist.referralHash summary: Returns the referral hash. tags: - Panelist parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.panelist.referralHash requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: The email address of the referrer. points: type: integer description: The number of points awarded. seskey: type: string description: A valid login hash. required: - seskey - email - points example: seskey: ce512c91 email: person@example.com points: 25 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: Retrieving the referral hash was unsuccessful. referralHash: type: string description: A hash used in portal.panelist.create in order for a referrer to get their points. examples: success: summary: Success value: success: true referralHash: 4a2642645e73235ee9daafb0b2df287b error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: The supplied email is not a valid email address. summary: Email invalid value: success: false error: The supplied email address is invalid errno: '20102' error-2: description: The supplied points value is not numeric. summary: Points invalid value: success: false error: The supplied points value is invalid errno: '20103' error-3: description: The supplied email address is a member or has been sent a referral by the current panelist. Additional referrals cannot be sent to this email address. summary: Email member already referred value: success: false error: The person you were trying to refer is already a member or has already been referred by you errno: '20202' error-4: description: The supplied email address is opted-out of referrals and cannot be sent additional referrals. summary: Email referral opt-out value: success: false error: The person you were trying to refer does not wish to be referred again errno: '20302' error-5: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-6: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.panelist.contactFrequenciesGet: post: operationId: portal.panelist.contactFrequenciesGet summary: Gets the currently set panelist contact frequencies. description:

Notice:
Panelists don't have a contact frequencies record by default. tags: - Panelist parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.panelist.contactFrequenciesGet requestBody: required: true content: application/json: schema: type: object properties: seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: Retrieving the contact frequencies was successful. maxMessages: type: integer description: The number of messages the panelist wants to receive in the specified time frame. nextMessage: type: string description: Date string of the projected time, when panelist is ready to receive the next email invitation (YYYY-MM-DD HH:MM:SS). timeFrame: type: string description: The time frame (week or day). SMSFrom: type: string description: The time when it is acceptable to start sending SMS to the panelist. SMSTo: type: string description: The time after which the panelist does not wish to receive SMS. examples: success-1: summary: Success value: success: true maxMessages: 5 nextMessage: '2014-12-08 11:34:00' timeFrame: week SMSFrom: '09:00:00' SMSTo: '21:00:00' success-2: summary: Success - no record value: success: true error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.panelist.contactFrequenciesSet: post: operationId: portal.panelist.contactFrequenciesSet summary: Set the contact frequencies for the current panelist description:
Notice:

TheSMSFrom and SMSTo settings are only of importance, if you're sending SMS invitations from your panel. tags: - Panelist parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.panelist.contactFrequenciesSet requestBody: required: true content: application/json: schema: type: object properties: maxMessages: type: - integer - 'null' description: Set the number of messages a panelist wants to receive per time frame. A value of NULL means unlimited. timeFrame: type: string enum: - week - day description: The time frame (week or day) in which we apply the maxMessages limit. SMSFrom: type: string description: The time when it is acceptable to start sending SMS to the panelist. The time format is expected in 24 hour HH:MM:SS. If omitted, it will default to 09:00:00. SMSTo: type: string description: The time after which the panelist does not wish to receive SMS. The time format is expected in 24 hour HH:MM:SS. If omitted, it will default to 21:00:00. seskey: type: string description: A valid login hash. required: - seskey - maxMessages - timeFrame examples: Example 1: description: Set limit of 5 invitations by email/sms per week. value: seskey: ce512c91 maxMessages: 5 timeFrame: week Example 2: description: Set limit of 1 invitations by email/sms per day. No SMS between 8pm and 5pm. value: seskey: ce512c91 maxMessages: 1 timeFrame: day SMSFrom: '17:00:00' SMSTo: '20:00:00' Example 3: description: Set unlimited number of invitations by email/sms per day. value: seskey: ce512c91 maxMessages: null timeFrame: day responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: Setting the contact frequencies was successful. examples: success: summary: Success value: success: true error-0: description: 'Missing a time constraint: SMSFrom or SMSTo.' summary: SMSFrom and SMSTo invalid value: success: false error: Both time constraints must be supplied or none. errno: '0' error-1: description: The supplied SMSFrom needs to be a valid time. summary: SMSFrom invalid value: success: false error: Invalid time stamp received errno: '0' error-2: description: The supplied SMSTo needs to be a valid time. summary: SMSTo invalid value: success: false error: Invalid time stamp received errno: '0' error-3: description: The time frame is invalid. The time frame can only be set to "day" or "week". summary: Time frame invalid value: success: false error: Time frame out of range, allowed values are 'day' and 'week' errno: '0' error-4: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-5: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-6: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.points.total: post: operationId: portal.points.total summary: Get the panelist's currently available reward points. description: Get the panelist's currently available reward points. This total excludes any reward points already used or any pending point redemption. tags: - Points parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.points.total requestBody: required: true content: application/json: schema: type: object properties: seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: Retrieving the total points was successful. points: type: integer description: Retrieving the panelist's current total reward points. examples: success: summary: Success value: success: true points: 1845 error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.points.earned: post: operationId: portal.points.earned summary: Get points of panelist description: Get the amount of points the panelist has earned so far. This includes points from referrals, registration points and surveys. tags: - Points parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.points.earned requestBody: required: true content: application/json: schema: type: object properties: seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: Retrieving the total points was successful. points: type: integer description: Retrieving the amount of points the panelist has earned so far. examples: success: summary: Success value: success: true points: 1845 error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.points.surveys: post: operationId: portal.points.surveys summary: Get the amount of points the panelist has received for completing surveys. tags: - Points parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.points.surveys requestBody: required: true content: application/json: schema: type: object properties: seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: Retrieving the total points was successful. points: type: integer description: Retrieving the amount of points the panelist has received for completing surveys. examples: success: summary: Success value: success: true points: 1845 error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.points.referred: post: operationId: portal.points.referred summary: Get the amount of points the panelist has received for referring other panelists. tags: - Points parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.points.referred requestBody: required: true content: application/json: schema: type: object properties: seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: Retrieving the total points was successful. points: type: integer description: Retrieving the amount of points the panelist has earned for referring other panelists. examples: success: summary: Success value: success: true points: 1845 error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.points.other: post: operationId: portal.points.other summary: Get points that were given to the panelist by an administrator tags: - Points parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.points.other requestBody: required: true content: application/json: schema: type: object properties: seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: Retrieving the total points was successful. points: type: integer description: Retrieving the amount of points that were given to the panelist by an administrator. examples: success: summary: Success value: success: true points: 1845 error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.quickpoll.available: post: operationId: portal.quickpoll.available summary: Available quick polls for the user session. description: This method returns available quick polls for the user session. It is possible to return just a single random poll and fetch all available polls in the order created or optionally in random order. It is also possible to return quick polls using programmed pagination that utilizes limit and offset parameters. The count value always equals to the total number of items available regardless if the limit and the offset parameters are used. tags: - Quickpoll parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.quickpoll.available requestBody: required: true content: application/json: schema: type: object properties: randomize: type: boolean description: Randomize the returned quick polls. default: false limit: type: - integer - 'null' description: Max number of items to return. default: null offset: type: - integer - 'null' description: Offset the output for pagination. default: null seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 limit: 10 offset: 20 randomize: false responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The call was successful. count: type: string description: The total count of items available (regardless of limit and offset) limit: type: - integer - 'null' description: The limit supplied in the call offset: type: - integer - 'null' description: The offset supplied in the call quickpolls: type: array description: An array of quickpolls items: properties: quickpollid: type: string description: The quick poll ID startdate: type: string description: Start date of the quick poll enddate: type: string description: End date of the quick poll questiontype: type: string enum: - radio - checkbox description: The question type of the quick poll (radio/checkbox) qtext: type: string description: The (localized) question text options: type: array description: An array of options items: properties: optionid: type: string description: The option ID of the choice optiontext: type: string description: The (localized) choice text examples: success: summary: Success value: success: true count: '1' limit: null offset: null quickpolls: - quickpollid: '4' startdate: '2013-07-28 12:00:00' enddate: '2013-08-21 12:00:00' questiontype: radio qtext: Another random quickpoll options: - optionid: '9' optiontext: Choice 1 - optionid: '10' optiontext: Choice 2 - optionid: '11' optiontext: Choice 3 - optionid: '12' optiontext: Choice 4 error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.quickpoll.availableCount: post: operationId: portal.quickpoll.availableCount summary: This method returns available quick poll count for the panelist. tags: - Quickpoll parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.quickpoll.availableCount requestBody: required: true content: application/json: schema: type: object properties: seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The call was successful. count: type: string description: The number of items available examples: success: summary: Success value: success: true count: '1' error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.quickpoll.completed: post: operationId: portal.quickpoll.completed summary: Get completed quick polls for the user session. description: This method returns completed quick polls for the user session. It is also possible to return quick polls using programmed pagination that utilizes limit and offset parameters. The count value always equals to the total number of items available regardless if the limit and the offset parameters are used. tags: - Quickpoll parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.quickpoll.completed requestBody: required: true content: application/json: schema: type: object properties: limit: type: - integer - 'null' description: Max number of items to return. default: null offset: type: - integer - 'null' description: Offset the output for pagination. default: null seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 limit: 10 offset: 20 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The call was successful. count: type: string description: The total count of items (regardless of limit and offset) limit: type: - integer - 'null' description: The limit supplied in the call offset: type: - integer - 'null' description: The offset supplied in the call quickpolls: type: array description: An array of quickpolls items: properties: quickpollid: type: string description: The quick poll ID startdate: type: string description: Start date of the quick poll enddate: type: string description: End date of the quick poll questiontype: type: string enum: - radio - checkbox description: The question type of the quick poll (radio/checkbox) qtext: type: string description: The (localized) question text options: type: array description: An array of options items: properties: optionid: type: string description: The option ID of the choice optiontext: type: string description: The (localized) choice text examples: success: summary: Success value: success: true count: '1' limit: null offset: null quickpolls: - quickpollid: '5' startdate: '2013-07-28 12:00:00' enddate: '2013-08-21 12:00:00' questiontype: radio qtext: Another random quickpoll options: - optionid: '13' optiontext: Choice 1 - optionid: '14' optiontext: Choice 2 - optionid: '15' optiontext: Choice 3 - optionid: '16' optiontext: Choice 4 error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.quickpoll.completedCount: post: operationId: portal.quickpoll.completedCount summary: Returns completed quick poll count for the panelist. tags: - Quickpoll parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.quickpoll.completedCount requestBody: required: true content: application/json: schema: type: object properties: seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The call was successful. count: type: string description: The number of items available examples: success: summary: Success value: success: true count: '1' error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.quickpoll.saveResponse: post: operationId: portal.quickpoll.saveResponse summary: Save the response from the panelist. description: This method is used to save the response received from the panelist. tags: - Quickpoll parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.quickpoll.saveResponse requestBody: required: true content: application/json: schema: type: object properties: quickpollid: type: integer description: A valid quick poll ID response: type: array description: Panelists response; Array of optionids (must be one for radio questions) items: type: integer seskey: type: string description: A valid login hash. required: - seskey - quickpollid - response example: seskey: ce512c91 quickpollid: 42 response: - 259 - 260 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The call was successful. examples: success: summary: Success value: success: true error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: The supplied quick poll ID is not numeric. summary: Quick poll ID invalid value: success: false error: Supplied quick poll id is invalid. errno: '20102' error-2: description: Quick poll with the supplied quick poll ID is not found. summary: Quick poll not found value: success: false error: Supplied quick poll id is invalid. errno: '20102' error-3: description: Quick poll with the supplied quick poll ID has a response recorded for panelist. Additional responses cannot be saved. summary: Quick poll already answered value: success: false error: Answers for supplied quick poll id already received. errno: '20102' error-4: description: The quick poll with the supplied quick poll ID is closed and responses can no longer be saved. summary: Quick poll expired value: success: false error: Quick poll is closed. errno: '20102' error-5: description: The response supplied is empty. summary: Empty response value: success: false error: Quick poll response can not be empty. errno: '20103' error-6: description: Quick poll with the supplied quick poll ID can only have one choice for a response. summary: Response invalid value: success: false error: Supplied quick poll response is invalid. There can only be one selected choice for radio questions. errno: '20103' error-7: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-8: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.quickpoll.stats: post: operationId: portal.quickpoll.stats summary: Get the result for a quick polls by ID. description: This method returns the result for a single quick polls using ID. The result set is calculated among all the panelist who participated. If a quick poll ID is supplied then results for this poll are returned. If omitted, results of a random past quick poll that the panelist has participated in are returned. If quick poll ID is omitted and the panelist has no history of participating in any quick polls, an error is returned. tags: - Quickpoll parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.quickpoll.stats requestBody: required: true content: application/json: schema: type: object properties: quickpollid: type: integer description: A valid quick poll ID (If omitted, a random quick poll is returned) default: null seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 quickpollid: 42 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The call was successful. quickpollid: type: string description: The ID of the quick poll that was selected (randomly or not) startdate: type: string description: Start date of the quick poll enddate: type: string description: End date of the quick poll questiontype: type: string enum: - radio - checkbox description: The question type of the quick poll (radio/checkbox) qtext: type: string description: The (localized) question text answercount: type: string description: Total number of panelists who have answered the quick poll options: type: array description: An array of options items: properties: optionid: type: string description: The option ID of the choice optiontext: type: string description: The (localized) choice text frequency: type: string description: Total number of times that this answer was selected percentage: type: string description: Percentage of how often this answer was selected examples: success: summary: Success value: success: true quickpollid: '5' startdate: '2013-07-28 12:00:00' enddate: '2013-08-21 12:00:00' questiontype: radio qtext: Another random quickpoll options: - optionid: '22' optiontext: Choice 1 frequency: '25' percentage: '43' - optionid: '23' optiontext: Choice 2 frequency: '33' percentage: '57' error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: The panelist does not have any responses recored for any quick polls. summary: Empty quick poll history value: success: false error: Panelist has no history of participating in quick polls. errno: '20102' error-2: description: The supplied quick poll ID is not numeric. summary: Quick poll ID invalid value: success: false error: Supplied quick poll id is invalid. errno: '20102' error-3: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-4: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.redemption.create: post: operationId: portal.redemption.create summary: Create a Redemption request. tags: - Redemption parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.redemption.create requestBody: required: true content: application/json: schema: type: object properties: type: type: string description: The redemption typeid or type. value: type: integer description: Value of the requested reward. Required for Tremendous, TangoCard and Virtual Incentives sku: type: string description: SKU of the requested reward. currency: type: string description: Currency code required for Tremendous seskey: type: string description: A valid login hash. required: - seskey - type example: seskey: ce512c91 type: '2' responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The creation was successful. transactionId: type: integer description: The transaction ID resulting from this request. examples: success: summary: Success value: success: true transactionId: 42 error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Redemption with supplied redemption type is not found. summary: Type not found value: success: false error: The redemption type you are trying to use does not exist. errno: '20102' error-2: description: The redemption type supplied does not exist or is disabled for community. summary: Type disabled value: success: false error: The redemption type you are trying to use is not available for this community. errno: '20102' error-3: description: The redemption type supplied is disabled for panel. summary: Type disabled value: success: false error: The redemption type you are trying to use has been disabled. errno: '20102' error-4: description: Redemption with supplied redemption type has an error. summary: Type Error value: success: false error: The redemption type you are trying to use has been disabled because of a previous error. errno: '20102' error-5: description: The redemption type supplied is not available through the API. summary: Type invalid value: success: false error: The redemption type you are trying to use can not be used via API. errno: '20102' error-6: description: Panelist does not have enough points to claim redemption. summary: Insufficient points value: success: false error: The number of points to redeem exceeds the total points available. Remember that any points currently pending approval are not available for redemption. errno: '20402' error-7: description: Due to an internal error, processing the redemption failed. summary: Internal error value: success: false error: There was a problem processing the redemption request. errno: '20402' error-8: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-9: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' error-10: description: Maximum daily redemption exceeded. Wait 24 hours and try again. summary: Maximum daily redemption exceeded value: success: false error: Maximum daily redemption exceeded errno: '40001' /api.pro#method=portal.redemption.read: post: operationId: portal.redemption.read summary: Returns redemption requests made by the active panelist. tags: - Redemption parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.redemption.read requestBody: required: true content: application/json: schema: type: object properties: limit: type: - integer - 'null' description: Limit the output (i.e. 20, 100 OR 100). default: null offset: type: - integer - 'null' description: Offset the output for pagination. default: false filter: type: string enum: - pending - approved - denied description: 'Filter redemptions by status (default: no filter)' seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 limit: 100 filter: approved responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: Retrieving the redemption request was successful. limit: type: - integer - 'null' description: The limit supplied in the call offset: type: - integer - 'null' description: The offset supplied in the call count: type: string description: The total count of items available (regardless of limit and offset) requests: type: array description: Array of redemption requests made by the active panelist. items: properties: name: type: string description: Localized vendor name that was configured in the Redemption Manager points: type: string description: The number of points redeemed. status: type: string enum: - pending - approved - denied description: 'Current status: pending, approved or denied.' dateModified: type: string description: Date and time of last status change in yyyy-mm-dd hh:mm:ss format. dateCreated: type: string description: Date and time panelist requested the redemption in yyyy-mm-dd hh:mm:ss format. examples: success: summary: Success value: success: true limit: null offset: null count: '2' requests: - name: 10% Off Store Coupon points: '-100' status: pending dateModified: '2011-11-01 08:32:12' dateCreated: '2011-11-01 08:32:12' - name: $10 PayPal Gift points: '-200' status: approved dateModified: '2011-10-31 20:12:43' dateCreated: '2011-10-28 16:24:49' error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: The supplied filter is invalid. Filter can only be set to "pending", "approved" or "denied". summary: Filter invalid value: success: false error: The supplied redemption status is invalid errno: '20104' error-2: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-3: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.reward.types: post: operationId: portal.reward.types summary: Returns the reward types available. tags: - Reward parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.reward.types requestBody: required: true content: application/json: schema: type: object properties: seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: Retrieving the reward types was successful. types: type: - array - 'null' description: Array of reward types available. items: properties: type: type: string description: Redemption reward type. name: type: string description: Type display name. rewardImage: type: string description: The reward image. available: type: boolean description: Whether or not this redemption type is available to the current panelist. examples: success: summary: Success value: success: true types: - type: '1' name: $1 VISA Gift Card rewardImage: rewardimage_a68bb50a4dafff037703aecaf8e615e2.png available: true - type: '2' name: $5 VISA Gift Card rewardImage: rewardimage_9f8a915a6d0a8cf6dcc83affecdd12b2.png available: true error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.reward.skus: post: operationId: portal.reward.skus summary: Get list of available SKUs request. tags: - Reward parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.reward.skus requestBody: required: true content: application/json: schema: type: object properties: typeId: type: integer description: The redemption typeid. seskey: type: string description: A valid login hash. required: - seskey - typeId example: seskey: ce512c91 typeId: '2' responses: '200': description: OK content: application/json: schema: type: array items: type: object properties: name: type: string description: Reward name image: type: string description: URL for the reward image currency: type: string description: Currency code denominations: type: array items: type: object properties: points: type: integer description: Required points to redeem the reward value: type: integer description: Value of the reward sku: type: string descriotion: SKU of the reward example: - name: Amazon giftcard image: https://test.fake-inventory.com/sku.gif currency: USD denominations: - points: 100 value: 100 sku: TEST-SKU /api.pro#method=portal.reward.history: post: operationId: portal.reward.history summary: Returns the reward history of the panelist. tags: - Reward parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.reward.history requestBody: required: true content: application/json: schema: type: object properties: seskey: type: string description: A valid login hash. limit: type: - integer - 'null' description: Max number of surveys to return. default: null offset: type: - integer - 'null' description: Offset the output for pagination. default: null required: - seskey example: seskey: ce512c91 limit: 10 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: Retrieving the reward history was successful. limit: type: - integer - 'null' description: The limit supplied in the call offset: type: - integer - 'null' description: The offset supplied in the call count: type: string description: The total count of items available (regardless of limit and offset) records: type: array description: An array of rewards the panelist has received. items: properties: points: type: string description: The number of points awarded for a completed survey. time: type: string description: The ISO 8601 time the survey was finished. project: type: - string - 'null' description: Name of the project, as defined in Panel Management, or NULL. note: type: string description: Reason for points. name: type: string deprecated: true description: This will contain whichever of the project or note fields is not NULL. You can use it, but it's not recommended. portalDisplayName: type: string description: Multilingual survey name from campaign properties projectid: type: integer description: The project ID. examples: success: summary: Success value: success: true limit: null offset: null count: '2' records: - points: '200' time: '2011-10-15 18:34:29' project: Sample project note: Successful referral portalDisplayName: Sample portal projectid: 2 - points: '200' time: '2011-10-02 13:56:28' project: Sample project note: Successful referral portalDisplayName: Sample portal projectid: 2 error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: The limit supplied is not numeric. summary: Limit invalid value: success: false error: The supplied limit is invalid errno: '20102' error-2: description: The offset supplied in not numeric. summary: Offset invalid value: success: false error: The supplied offset is invalid errno: '20103' error-3: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-4: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.reward.historyCount: post: operationId: portal.reward.historyCount summary: Returns the number of reward history items of the panelist. tags: - Reward parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.reward.historyCount requestBody: required: true content: application/json: schema: type: object properties: seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: Retrieving the reward history was successful. count: type: string description: The total count of items available examples: success: value: success: true count: '2' error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.survey.completed: post: operationId: portal.survey.completed summary: This method returns a list of completed surveys. tags: - Survey parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.survey.completed requestBody: required: true content: application/json: schema: type: object properties: limit: type: - integer - 'null' description: Max number of surveys to return. default: null offset: type: - integer - 'null' description: Offset the output for pagination. default: null seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 limit: 10 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The list of completed surveys was successful. limit: type: - integer - 'null' description: The limit supplied in the call offset: type: - integer - 'null' description: The offset supplied in the call count: type: integer description: The total count of items available (regardless of limit and offset) surveys: type: array description: Array of surveys the panelist has completed or been terminated from. items: properties: subject: type: string description: Multilingual survey name from the campaign body: type: string description: Multilingual survey description from the campaign status: type: string enum: - completed - profile - quota description: Survey status, 'completed', 'profile' or 'quota'. time: type: string description: The ISO 8601 time the survey was finished. points: type: integer description: The number of points awarded for a completed survey/ projectid: type: integer description: The project ID. categoryids: type: array description: Array of category IDs examples: success: summary: Success value: success: true limit: null offset: null count: 2 surveys: - subject: Vacation survey body: Take this survey to win a new iPad status: completed time: 2013-06-14 11:32 points: 200 projectid: 45 - subject: Foo bar survey body: Take this survey to earn 200 reward points status: quota time: 2013-06-13 09:32 points: 200 projectid: 34 error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.survey.completedByCategory: post: operationId: portal.survey.completedByCategory summary: Returns a list of completed surveys - filtered by category id. tags: - Survey parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.survey.completedByCategory requestBody: required: true content: application/json: schema: type: object properties: limit: type: - integer - 'null' description: Max number of surveys to return. default: null offset: type: - integer - 'null' description: Offset the output for pagination. default: null categoryid: type: integer description: Category ID seskey: type: string description: A valid login hash. required: - seskey - categoryid example: seskey: ce512c91 limit: 10 offset: 20 categoryid: 42 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The list of completed surveys was successful. limit: type: - integer - 'null' description: The limit supplied in the call offset: type: - integer - 'null' description: The offset supplied in the call count: type: string description: The total count of items available (regardless of limit and offset) surveys: type: array description: Array of surveys the panelist has completed or been terminated from. items: properties: subject: type: string description: Multilingual survey name from the campaign body: type: string description: Multilingual survey description from the campaign status: type: string enum: - completed - profile - quota description: Survey status, 'completed', 'profile' or 'quota'. time: type: string description: The ISO 8601 time the survey was finished. points: type: integer description: The number of points awarded for a completed survey/ projectid: type: integer description: The project ID. categoryids: type: array description: Array of category IDs items: type: integer examples: success: summary: Success value: success: true limit: null offset: null count: '2' surveys: - subject: Vacation survey body: Take this survey to win a new iPad status: completed time: 2013-06-14 11:32 points: 200 projectid: 45 categoryids: [] - subject: Foo bar survey body: Take this survey to earn 200 reward points status: quota time: 2013-06-13 09:32 points: 200 projectid: 34 categoryids: - 1 - 2 error-0: description: Category ID is required and must be numeric. summary: Category ID invalid value: success: false error: Category ID missing or invalid errno: '0' error-1: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-2: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-3: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.survey.completedCount: post: operationId: portal.survey.completedCount summary: Retrieves the number of surveys completed by the panelist. tags: - Survey parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.survey.completedCount requestBody: required: true content: application/json: schema: type: object properties: seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The call status. count: type: integer description: The number of items available examples: success: summary: Success value: success: true count: 42 error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.survey.completedCountByCategoryID: post: operationId: portal.survey.completedCountByCategory summary: Retrieves the number of surveys completed by the panelist - filtered by category id. tags: - Survey parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.survey.completedCountByCategory requestBody: required: true content: application/json: schema: type: object properties: categoryid: type: integer description: A valid category id seskey: type: string description: A valid login hash. required: - seskey - categoryid example: seskey: ce512c91 categoryid: 42 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The call status. count: type: integer description: The number of items available examples: success: summary: Success value: success: true count: 42 error-0: description: Category ID is required and must be numeric. summary: Category ID invalid value: success: false error: Category ID missing or invalid errno: '0' error-1: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-2: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-3: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.survey.available: post: operationId: portal.survey.available summary: Returns all available surveys for the panelist. tags: - Survey parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.survey.available requestBody: required: true content: application/json: schema: type: object properties: limit: type: - integer - 'null' description: Max number of surveys to return. default: null offset: type: - integer - 'null' description: Offset the output for pagination. default: null seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 limit: 10 offset: 20 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The call status. limit: type: - integer - 'null' description: The limit supplied in the call offset: type: - integer - 'null' description: The offset supplied in the call count: type: integer description: The total count of items available (regardless of limit and offset) surveys: type: array description: An array of surveys to which the panelist has been invited, but has not yet taken. It will not include surveys from closed projects, or from invitations that have expired. items: properties: subject: type: string description: Multilingual survey name from the campaign body: type: string description: Multilingual survey description from the campaign status: type: - string - 'null' description: '''started'' if the panelist has started, but not completed the survey, otherwise NULL.' time: type: string description: The time this invitation was sent. points: type: integer description: The number of points awarded for a completed survey. url: type: string format: url description: URL to take the panelist to the survey, as defined in the project. previewurl: type: - string - 'null' format: url description: URL to take the panelist to the original invitation. If the campaign did not have an invitation (community launch only) this field will be NULL. type: type: - string - 'null' enum: - emailhtml - SMS description: The type of invitation that was used. If the type is not available (community launch only), this field will be NULL. endtime: type: string description: The time when the campaign expires and the survey links will stop working. invited: type: string description: The time when the panelist was invited. purpose: type: string enum: - invitation - automated - diary - profiler - portal description: The campaign purpose. projectid: type: integer description: The project ID categoryids: type: array description: Array of category IDs items: type: integer examples: success: summary: Success value: success: true limit: null offset: null count: 1 surveys: - subject: Today's 5 minute Survey body: This survey is about your favorite type of car. status: null time: '2011-10-15 12:18:19' points: 200 url: http://www.example.com/receiver.pro?seskey=ce512c91 previewurl: http://www.example.com/portalinvite.pro?seskey=ce512c91 type: emailhtml endtime: '2012-01-15 20:00:00' invited: '2011-10-15 12:18:19' purpose: invitation projectid: 10 categoryids: - 1 - 2 error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.survey.availableByCategory: post: operationId: portal.survey.availableByCategory summary: Returns all available surveys for the panelist - filtered by category id. tags: - Survey parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.survey.availableByCategory requestBody: required: true content: application/json: schema: type: object properties: limit: type: - integer - 'null' description: Max number of surveys to return. default: null offset: type: - integer - 'null' description: Offset the output for pagination. default: null categoryid: type: integer description: A valid category id seskey: type: string description: A valid login hash. required: - seskey - categoryid example: seskey: ce512c91 limit: 10 offset: 20 categoryid: 42 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The call status. limit: type: - integer - 'null' description: The limit supplied in the call offset: type: - integer - 'null' description: The offset supplied in the call count: type: integer description: The total count of items available (regardless of limit and offset) surveys: type: array description: An array of surveys to which the panelist has been invited, but has not yet taken. It will not include surveys from closed projects, or from invitations that have expired. items: properties: subject: type: string description: Multilingual survey name from the campaign body: type: string description: Multilingual survey description from the campaign status: type: - string - 'null' description: '''started'' if the panelist has started, but not completed the survey, otherwise NULL.' time: type: string description: The time this invitation was sent. points: type: integer description: The number of points awarded for a completed survey. url: type: string format: url description: URL to take the panelist to the survey, as defined in the project. previewurl: type: - string - 'null' format: url description: URL to take the panelist to the original invitation. If the campaign did not have an invitation (community launch only) this field will be NULL. type: type: - string - 'null' enum: - emailhtml - SMS description: The type of invitation that was used. If the type is not available (community launch only), this field will be NULL. endtime: type: string description: The time when the campaign expires and the survey links will stop working. invited: type: string description: The time when the panelist was invited. purpose: type: string enum: - invitation - automated - diary - profiler - portal description: The campaign purpose. projectid: type: integer description: The project ID categoryids: type: array description: Array of category IDs items: type: integer examples: success: summary: Success value: success: true limit: null offset: null count: 1 surveys: - subject: Today's 5 minute Survey body: This survey is about your favorite type of car. status: null time: '2011-10-15 12:18:19' points: 200 url: http://www.example.com/receiver.pro?seskey=ce512c91 previewurl: http://www.example.com/portalinvite.pro?seskey=ce512c91 type: emailhtml endtime: '2012-01-15 20:00:00' invited: '2011-10-15 12:18:19' purpose: invitation projectid: 10 categoryids: - 1 - 2 error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.survey.availableCount: post: operationId: portal.survey.availableCount summary: Retrieves the number of surveys available to the panelist. tags: - Survey parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.survey.availableCount requestBody: required: true content: application/json: schema: type: object properties: seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The call status. count: type: integer description: The number of items available examples: success: summary: Success value: success: true count: 42 error-0: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-1: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-2: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.survey.availableCountByCategoryID: post: operationId: portal.survey.availableCountByCategory summary: Retrieves the number of surveys available to the panelist - filtered by category id. tags: - Survey parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.survey.availableCountByCategory requestBody: required: true content: application/json: schema: type: object properties: categoryid: type: integer description: A valid category id seskey: type: string description: A valid login hash. required: - seskey - categoryid example: seskey: ce512c91 categoryid: 42 responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: The call status. count: type: integer description: The number of items available examples: success: summary: Success value: success: true count: 42 error-0: description: Category ID is required and must be numeric. summary: Category ID invalid value: success: false error: Category ID missing or invalid errno: '0' error-1: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-2: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-3: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' /api.pro#method=portal.survey.registerUrl: post: operationId: portal.survey.registerUrl summary: Returns URL for the primary registration survey URL description: Returns URL for the primary registration survey URL. This registration URL is only available if Decipher or Kinesis Survey is used for the initial registration survey. tags: - Survey parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.survey.registerUrl requestBody: required: true content: application/json: schema: type: object properties: panelid: type: integer description: The Panel ID. portalid: type: integer description: The Community Portal ID. mobile: type: boolean description: Should a mobile link be returned or not. default: false required: - panelid - portalid example: panelid: 77 portalid: 21 mobile: false responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: Retrieving the registration url was successful. url: type: string description: The Survey Link. examples: success: summary: Success value: success: true url: http://www.example.com/surveyinstall/html.pro?ID=469&ks_cid=22 error-0: description: The feature setting internal services must be enabled. summary: Internal services disabled value: success: false error: Internal services must not be disabled! errno: '10000' error-1: description: Panel with supplied panel ID is not found. summary: Panel not found value: success: false error: Panel ID does not exist, or is currently inaccessible. errno: '10000' error-2: description: The supplied panel ID is not numeric. summary: Panel ID invalid value: success: false error: Panel ID is invalid errno: '20101' error-3: description: The supplied portal ID is not numeric. summary: Portal invalid value: success: false error: The supplied community portal ID invalid errno: '20102' error-4: description: Community with supplied portal ID is not found. summary: Portal ID not found value: success: false error: The supplied community portal ID could not be found errno: '20102' error-5: description: The supplied mobile is not a boolean value. summary: Mobile invalid value: success: false error: The mobile flag type is invalid errno: '20102' error-6: description: Panel with supplied panel ID does not have a registration survey. summary: Registration survey not found value: success: false error: This panel is not connected to a registration survey! This can be done by creating a survey and linking it to your panel. errno: '40001' /api.pro#method=portal.survey.registerUpdateUrl: post: operationId: portal.survey.registerUpdateUrl summary: Returns URL for the profile update survey URL description: Returns URL for the profile update survey URL. This registration URL is only available if Decipher or Kinesis Survey is used for the profile update survey. tags: - Survey parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.survey.registerUpdateUrl requestBody: required: true content: application/json: schema: type: object properties: mobile: type: boolean description: Should a mobile link be returned or not. default: false seskey: type: string description: A valid login hash. required: - seskey example: seskey: ce512c91 mobile: true responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/error' - type: object properties: success: type: boolean description: Retrieving the registration url was successful. url: type: string format: url description: The Survey Link. examples: success: summary: Success value: success: true url: http://www.example.com/surveyinstall/?ID=512&ks_identifier=F6EF7EWQ&ks_hash=5aae5a28b5bcf4142f94e40b75f143c5 error-0: description: The feature setting internal services must be enabled. summary: Internal services disabled value: success: false error: Internal services must not be disabled! errno: '10000' error-1: description: Session key is not in correct format. summary: Session invalid value: success: false error: Session string is invalid errno: '20101' error-2: description: The supplied mobile is not a boolean value. summary: Mobile invalid value: success: false error: The mobile flag type is invalid errno: '20102' error-3: description: Session is not valid or is not found for supplied session key. summary: Session invalid value: success: false error: Session invalid errno: '30100' error-4: description: Session has expired. summary: Session expired value: success: false error: Session expired errno: '30100' error-5: description: Panel with supplied panel ID does not have a registration update survey. summary: Registration update survey not found value: success: false error: This panel is not connected to a registration update survey! This can be done by creating a registration update survey and linking it to your panel. errno: '40001' /api.pro#method=portal.system.carriers: post: operationId: portal.system.carriers summary: Get all the carriers tags: - System security: [] parameters: - $ref: '#/components/parameters/method' schema: enum: - portal.system.carriers responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Getting a list of carriers was successful. carriers: type: array description: An array of carrier IDs and names that are valid for this installation. NULL if no carriers are found. items: properties: carrierid: type: integer description: Carriers ID. name: type: string description: Carriers name. examples: success: summary: Success value: success: true carriers: - carrierid: 1 name: AT&T - carrierid: 2 name: Verizon - carrierid: 3 name: Sprint - carrierid: 4 name: T-Mobile - carrierid: 5 name: Cricket components: securitySchemes: ApiKey: type: apiKey in: query name: seskey parameters: method: name: method in: query required: true description: Method schema: type: string schemas: error: type: object properties: success: type: boolean error: description: The error message. type: string errno: description: The error code. type: string x-tagGroups: - name: Data Input and Output tags: - Auth - Email - Panel - Panelist - Points - Quickpoll - Redemption - Reward - Survey - System