openapi: 3.2.0 info: title: Decipher Rest Campaign Exports API version: '1.0' description: The Decipher REST API allows comprehensive automation of your private or shared Decipher instance. servers: - url: https://{server}/api/v1 description: Replace server with your instance domain. variables: server: default: selfserve.decipherinc.com description: Server domain security: - APIKey: [] tags: - name: Campaign Exports paths: /surveys/{survey}/campaigns/{listfile}/blocks: get: operationId: getSurveyCampaignBlocks summary: Get campaign blocks description: 'Get all blocks for the given campaign including a code and reason when available.' tags: - Campaign Exports parameters: - $ref: '#/components/parameters/survey' - $ref: '#/components/parameters/cm_listfile' responses: '200': description: OK content: application/json: schema: type: array items: type: object properties: code: description: The error code for the block example: '500' type: string email: description: 'The recipient to whom the email that was blocked was addressed ' example: test@example.com type: string reason: description: A description of the reason for the block example: sender ip address found on block list type: string '403': description: Permission denied content: application/json: schema: type: object properties: $error: description: A description of the error example: permission denied (need cm.edit) for selfserve/53a/240300 $code: description: The HTTP status code example: 403 extra: description: Extra information about this error if applicable example: null '404': description: Campaign not found content: application/json: schema: type: object properties: $error: description: A description of the error example: 'Campaign # ''1000'' not found' $code: description: The HTTP status code example: 404 extra: description: Extra information about this error if applicable example: null /surveys/{survey}/campaigns/{listfile}/bounces: get: operationId: getSurveyCampaignBounces summary: Get campaign bounce-backs description: 'Get all bounce-backs for the given campaign including a code and reason when available.' tags: - Campaign Exports parameters: - $ref: '#/components/parameters/survey' - $ref: '#/components/parameters/cm_listfile' responses: '200': description: OK content: application/json: schema: type: array items: type: object properties: code: description: The error code for the bounce example: '500' type: string email: description: 'The recipient to whom the email that bounced was addressed ' example: test@example.com type: string reason: description: A description of the reason for the bounce example: unknown recipient type: string '403': description: Permission denied content: application/json: schema: type: object properties: $error: description: A description of the error example: permission denied (need cm.edit) for selfserve/53a/240300 $code: description: The HTTP status code example: 403 extra: description: Extra information about this error if applicable example: null '404': description: Campaign not found content: application/json: schema: type: object properties: $error: description: A description of the error example: 'Campaign # ''1000'' not found' $code: description: The HTTP status code example: 404 extra: description: Extra information about this error if applicable example: null /surveys/{survey}/campaigns/{listfile}/optouts: get: operationId: getSurveyCampaignOptouts summary: Get campaign optouts description: 'Get all global and company level optouts for email addresses in this campaign. Note that global optouts that match email addresses in this campaign will always be returned, but the global optout list is only used to suppress emails in a campaign if that campaign is not fully branded. If your campaign is fully branded, you can effectively ignore any global optouts that are returned, though that information may still be useful for future unbranded campaigns if applicable.' tags: - Campaign Exports parameters: - $ref: '#/components/parameters/survey' - $ref: '#/components/parameters/cm_listfile' responses: '200': description: OK content: application/json: schema: type: array items: type: object properties: email: description: The email address that opted out type: string list: description: The list where the optout was found type: string example: - email: company@example.com list: selfserve/53a/remove - email: global@example.com list: global '403': description: Permission denied content: application/json: schema: type: object properties: $error: description: A description of the error example: permission denied (need cm.edit) for selfserve/53a/240300 $code: description: The HTTP status code example: 403 extra: description: Extra information about this error if applicable example: null '404': description: Campaign not found content: application/json: schema: type: object properties: $error: description: A description of the error example: 'Campaign # ''1000'' not found' $code: description: The HTTP status code example: 404 extra: description: Extra information about this error if applicable example: null /surveys/{survey}/campaigns/{listfile}/spam: get: operationId: getSurveyCampaignSpam summary: Get campaign spam reports description: 'Returns the list of unique email addresses that have reported an email from the given campaign as spam.' tags: - Campaign Exports parameters: - $ref: '#/components/parameters/survey' - $ref: '#/components/parameters/cm_listfile' responses: '200': description: OK content: application/json: schema: type: array items: type: object properties: email: description: 'The email address of the recipient who reported spam. ' type: string example: - email: someone@example.com - email: another@example.com '403': description: Permission denied content: application/json: schema: type: object properties: $error: description: A description of the error example: permission denied (need cm.edit) for selfserve/53a/240300 $code: description: The HTTP status code example: 403 extra: description: Extra information about this error if applicable example: null '404': description: Campaign not found content: application/json: schema: type: object properties: $error: description: A description of the error example: 'Campaign # ''1000'' not found' $code: description: The HTTP status code example: 404 extra: description: Extra information about this error if applicable example: null components: parameters: survey: name: survey in: path required: true description: The survey path. example: selfserve/1a/123456 schema: type: string format: uri cm_listfile: name: listfile in: path description: 'The numeric campaign id or the listfile name relative to the survey mail directory. For example, either `42` or `list_42-p5xflU.txt`. ' example: 42 required: true schema: oneOf: - type: integer description: The numeric campaign id - type: string description: The listfile name securitySchemes: APIKey: type: apiKey in: header name: x-apikey description: 'In order to access the api, you''ll need to generate an API key. Refer to the instructions [here](/docs/decipher/api#section/API-Keys) to generate and configure an API key with the appropriate permission sets. You can generate as many keys as required. Configure each request to include your API key in the request header. For example: ``` x-apikey: dp48ss3mgsaucyjtybxw728h7s4cgnwzhejtszdwhf4xpe8yhmtdwpk2ntdhtwbs ``` ' x-tagGroups: - name: Autoclose tags: - Autoclose - name: Data Input and Output tags: - Data - Data Feed - Response Summary - Modifying Data - Datasources - Datasources Data - Umerge - name: Survey Metadata tags: - Simulated Data - Survey State - Survey Evaluate - Survey Quotas - Survey Files - Survey Warnings - Survey Terms - Survey Subscribers - Survey Users - Survey Tasks - name: Panels tags: - Panel Data - Panel Datapoints - Survey Panels - name: Research Hub tags: - Users - Companies - Categories - Surveys - Panels - Crosstabs - Archives - Archival Reports - API Keys - Usage - Warnings Summary - name: Crosstabs tags: - Crosstabs Configuration - Crosstabs Execution - Crosstabs Nets - Saved Crosstabs - Crosstabs Table Settings - Crosstabs Validation - Crosstabs Rim Weighting - name: Dashboards tags: - Dashboards - name: DQ APIs tags: - DQ-Specific API Calls - MaxDiff API Calls - Discrete Choice Model API Calls - Media Testimonial API Calls - name: Response Summary tags: - Share Link - name: Sample Management tags: - Bounced Emails - Participant Sources - name: Distribution tags: - Email Distribution - SFTP Distribution - Slack Distribution - name: Campaign Manager tags: - Campaigns - Campaign Email Invites - Campaign Exports - Campaign Lists - Shared Campaign Lists - Campaign Sends - Campaign Status Lists - Supression Lists - name: Question Library tags: - Company Element - Company Elements - Survey Elements - Survey Element Report Settings - name: Language Manager tags: - LM Application Data - LM Application Translations - Translation Resources - Translations - Translation Deltas - Translation Reservations - Primary Survey Language - Other Survey Languages - Unused Survey Languages - name: Project Parameters tags: - Available Project Parameters - Saved Project Parameters - Project Parameters Configuration - name: Multi-User Editing tags: - Available Sections - Check Out Section - Check In Section - Sync Section - Section Editor - Abandon Section - Validate Section - name: Video Management tags: - Videos - Watermarked Videos - name: Miscellaneous tags: - System Information - Logic Nodes - Logic Events - CATI - Global Search - Miscellaneous