openapi: 3.2.0 info: title: Decipher Rest Umerge 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: Umerge paths: /surveys/{survey}/umerge: post: operationId: postSurveysUmerge summary: Umerge description: 'Allows for flexible copy, transformation, and review of data when one or both surveys have delphi="1". Data is converted based on matching answer labels. You can correctly merge data from q1 with r1, r2, r3 as answers into a survey where q1 answers are r3, r2, r1. **Note**: This is an __asynchronous__ API call, which means that the initial call will return only an `ident` which must then be used with the https://{server}/api/v1/status API call to check on the progress of the process, and when it is finished, to get the results. The documented return types and examples are the results that you would get from calling the status API call with the returned `ident`.' tags: - Umerge parameters: - name: survey in: path description: Path of the source survey; `data.view` permission is needed. example: selfserve/XYZ/200000 schema: type: string requestBody: content: application/json: schema: type: object properties: target: description: 'Survey to which to write; `data.edit` permission is needed. ' example: selfserve/XYZ/200000 type: string key: description: Key to match records with. default: uuid type: string example: source cond: description: 'Filter source survey by crosstabs compatible conditions. Specify ''everything'' to include partials. ' type: string default: ALL example: qualified join: description: "The types of joins available are\n - append - New records only\n - merge - Existing records only\n - join - Append + merge\n - delete - Delete matching\n" example: append type: string default: append enum: - append - merge - join - delete variables: description: 'Include only these specific variables or question labels in the data processed. ' type: array example: - q1 - q2 items: type: string action: description: "The available actions are\n - test - Show what's possible\n - preview_data - Generate data fill\n - preview_changes - Try to import and list what would happen\n - execute - Do the import\n" type: string enum: - test - preview_data - preview_changes - execute exclude_variables: description: 'Exclude specific variables or questions from the output. These are removed after the inclusion is processed. ' example: - q5 - q6 type: array items: type: string code: description: 'Run custom code for each row after generating the data. ' example: d.q1r1 = d.q1r1.upper() type: string rename: description: 'Change the name of the question while transferring data over. ' type: object example: q1: q2 required: - target responses: '200': description: OK content: application/json: schema: type: object properties: status: type: string description: The current status of the async process what: type: string description: What the task is currently working on ident: type: string description: The unique identifier of the task user_id: type: integer description: The id of the user who initiated the task extra: description: 'The actual response from the requested action will be returned here if the request has finished. The four different object types here correspond to the four different actions. See the example responses for more information. ' oneOf: - type: object properties: excluded_count: type: string example: 0 plan: description: 'Group content of a plan result by question label ' type: array - type: object properties: raw_data: description: 'It is the respondent data in text format ' type: string excluded_count: type: string example: 0 plan: description: 'Group content of a plan result by question label ' type: array - type: object properties: excluded_count: type: integer example: 0 changes: type: array description: 'Every change it will apply. ' plan: description: 'Group content of a plan result by question label. ' type: array - type: object properties: url: type: string example: http://{server}/rep/selfserve/53d/220901:api/edits/7.txt?cols=uuid,changes stats: type: object properties: terminated: type: integer example: 0 fieldsIgnored: type: integer example: 0 rows: type: integer example: 200 partial: type: integer example: 0 rewritten: type: integer example: 0 created: type: integer example: 200 deleted: type: integer example: 0 unchanged: type: integer example: 0 fieldsProcessed: type: integer example: 16200 bad: type: array example: [] qualified: type: integer example: 200 fieldsUpdated: type: integer example: 14848 unseen: type: integer example: 0 fieldsIdentical: type: integer example: 1352 inrows: type: integer example: 0 fieldsErronous: type: integer example: 0 disqualified: type: integer example: 0 disqualifiedImports: type: integer example: 0 unmatchedDeletions: type: integer example: 0 overquota: type: integer example: 0 backup: type: string example: null changeset: type: integer example: 7 excluded_count: type: integer example: 0 timestamp: type: string description: The timestamp at which this status was generated pid: type: string description: The pid of the process running the task task: type: string description: Description of the task survey: type: string description: The survey associated with the task result: type: string description: The basic result of the task progress: type: string description: 'A numeric representation of progress in the same units as `total` where 0 would be no progress and the same value as `total` would indicate that it is complete. ' percentage: type: string description: Percentage complete total: type: string description: 'A numeric representation of what the `progress` will be when the task is complete. ' type: type: string description: The type of async task examples: test: value: status: finished what: finished ident: v7wd2qyuj0hrb2su user_id: 1 extra: excluded_count: 0 plan: - - qtime - missing: [] ok: - - qtime - qtime incompatible: [] - - null - missing: [] ok: - - record - record - - uuid - uuid - - date - date - - markers - markers - - source - source - - declang - declang - - list - list - - useragent - useragent - - dcua - dcua - - url - url - - session - session incompatible: [] - - c3 - missing: [] ok: - - c3r1 - c3r1 - - c3r2 - c3r2 incompatible: [] - - c2 - missing: [] ok: - - c2r1 - c2r1 - - c2r2 - c2r2 incompatible: [] - - c1 - missing: [] ok: - - c1r1 - c1r1 - - c1r2 - c1r2 incompatible: [] - - start_date - missing: [] ok: - - start_date - start_date incompatible: [] - - c4 - missing: [] ok: - - c4r1 - c4r1 - - c4r2 - c4r2 incompatible: [] timestamp: 1663692717 pid: 1147 task: null survey: selfserve/53d/220901 result: ok progress: 100 percentage: 100 total: 100 type: /api/v1/surveys/selfserve/53d/220604/umerge preview_changes: value: status: finished what: finished ident: 6z2n7te2yydnwrnq user_id: 1 extra: excluded_count: 0 changes: [] plan: - - qtime - missing: [] ok: - - qtime - qtime incompatible: [] - - null - missing: [] ok: - - record - record - - uuid - uuid - - date - date - - markers - markers - - source - source - - decLang - decLang - - list - list - - userAgent - userAgent - - dcua - dcua - - url - url - - session - session incompatible: [] - - C3 - missing: [] ok: - - C3r1 - C3r1 - - C3r2 - C3r2 - - C3r3 - C3r3 - - C3r4 - C3r4 - - C3r5 - C3r5 - - C3r6 - C3r6 - - C3r7 - C3r7 - - C3r8 - C3r8 - - C3r9 - C3r9 - - C3r11 - C3r11 - - C3r12 - C3r12 - - C3r13 - C3r13 - - C3r14 - C3r14 - - C3r15 - C3r15 - - C3r16 - C3r16 - - C3r10 - C3r10 - - C3r10oe - C3r10oe incompatible: [] - - C2 - missing: [] ok: - - C2r1 - C2r1 - - C2r2 - C2r2 - - C2r3 - C2r3 - - C2r4 - C2r4 - - C2r5 - C2r5 - - C2r6 - C2r6 - - C2r7 - C2r7 - - C2r8 - C2r8 - - C2r9 - C2r9 - - C2r11 - C2r11 - - C2r12 - C2r12 - - C2r13 - C2r13 - - C2r14 - C2r14 - - C2r15 - C2r15 - - C2r16 - C2r16 - - C2r10 - C2r10 - - C2r10oe - C2r10oe incompatible: [] - - C1 - missing: [] ok: - - C1r1 - C20r1 - - C1r2 - C20r2 - - C1r3 - C20r3 - - C1r4 - C20r4 - - C1r5 - C20r5 - - C1r6 - C20r6 - - C1r7 - C20r7 - - C1r8 - C20r8 - - C1r9 - C20r9 - - C1r11 - C20r11 - - C1r12 - C20r12 - - C1r13 - C20r13 - - C1r14 - C20r14 - - C1r15 - C20r15 - - C1r16 - C20r16 - - C1r10 - C20r10 - - C1r10oe - C20r10oe incompatible: [] - - start_date - missing: [] ok: - - start_date - start_date incompatible: [] - - C4 - missing: [] ok: - - C4r1 - C4r1 - - C4r2 - C4r2 - - C4r3 - C4r3 - - C4r4 - C4r4 - - C4r5 - C4r5 - - C4r6 - C4r6 - - C4r7 - C4r7 - - C4r8 - C4r8 - - C4r9 - C4r9 - - C4r11 - C4r11 - - C4r12 - C4r12 - - C4r13 - C4r13 - - C4r14 - C4r14 - - C4r15 - C4r15 - - C4r16 - C4r16 - - C4r10 - C4r10 - - C4r10oe - C4r10oe incompatible: [] timestamp: 1663693818 pid: 1163 task: null survey: selfserve/53d/220901 result: OK progress: 100 percentage: 100 total: 100 type: /api/v1/surveys/selfserve/53d/220604/umerge preview_data: value: status: finished what: Finished ident: 2b184heh4a13cbmz user_id: 1 extra: raw_data: "record\tuuid\tdate\tmarkers\tqtime\tstart_date\tsource\tdecLang\tlist\tuserAgent\tdcua\turl\tsession\t C1r1\tC1r2\tC1r3\tC1r4\tC1r5\tC1r6\tC1r7\tC1r8\tC1r9\tC1r11\tC1r12\tC1r13\tC1r14\tC1r15\tC1r16\tC1r10\t C1r10oe\tC2r1\tC2r2\tC2r3\tC2r4\tC2r5\tC2r6\tC2r7\tC2r8\tC2r9\tC2r11\tC2r12\tC2r13\tC2r14\tC2r15\tC2r16\t C2r10\tC2r10oe\tC3r1\tC3r2\tC3r3\tC3r4\tC3r5\tC3r6\tC3r7\tC3r8\tC3r9\tC3r11\tC3r12\tC3r13\tC3r14\tC3r15\t C3r16\tC3r10\tC3r10oe\tC4r1\tC4r2\tC4r3\tC4r4\tC4r5\tC4r6\tC4r7\tC4r8\tC4r9\tC4r11\tC4r12\tC4r13\tC4r14\t C4r15\tC4r16\tC4r10\tC4r10oe\n1\twra4gfuj776887wr\t06/11/2022 16:36\tqualified\t33.883\t06/11/2022 16:36\t \t\t0\tMozilla/5.0 (iPhone; U; CPU OS 4_2_1 like Mac OS X) AppleWebKit/532.9 (KHTML, like Gecko) Version/5.0.3 Mobile/8B5097d Safari/6531.22.7\tsi\thttp://{server}/survey/selfserve/53d/220604\t6s76zg3jvyq824kj\t 1\t0\t0\t0\t1\t0\t1\t0\t1\t1\t0\t0\t0\t0\t0\t0\t\t1\t1\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t1\t regard snow minor forge deposit\t1\t1\t0\t1\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t\t0\t0\t0\t1\t0\t0\t0\t1\t 0\t0\t1\t0\t0\t0\t1\t1\tmutual escape memory approval remunerate\n2\taybq3cgddu7bhpud\t06/10/2022 16:36\t qualified\t29.531\t06/10/2022 16:36\t\t\t0\tMozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; BOIE9;ENGB)\t..\thttp://{server}/survey/selfserve/53d/220604\t20uydskwcxbrqe29\t0\t0\t0\t0\t0\t0\t0\t0\t 0\t0\t0\t0\t0\t0\t1\t0\t\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t1\t0\t1\t1\t1\t sweet braid concession giant film\t0\t1\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t\n3\tgkh17w24axzs6598\t06/14/2022 16:36\t qualified\t31.108\t" excluded_count: 0 plan: - - qtime - missing: [] ok: - - qtime - qtime incompatible: [] - - null - missing: [] ok: - - record - record - - uuid - uuid - - date - date - - markers - markers - - source - source - - decLang - decLang - - list - list - - userAgent - userAgent - - dcua - dcua - - url - url - - session - session incompatible: [] - - C3 - missing: [] ok: - - C3r1 - C3r1 - - C3r2 - C3r2 - - C3r3 - C3r3 - - C3r4 - C3r4 - - C3r5 - C3r5 - - C3r6 - C3r6 - - C3r7 - C3r7 - - C3r8 - C3r8 - - C3r9 - C3r9 - - C3r11 - C3r11 - - C3r12 - C3r12 - - C3r13 - C3r13 - - C3r14 - C3r14 - - C3r15 - C3r15 - - C3r16 - C3r16 - - C3r10 - C3r10 - - C3r10oe - C3r10oe incompatible: [] - - C2 - missing: [] ok: - - C2r1 - C2r1 - - C2r2 - C2r2 - - C2r3 - C2r3 - - C2r4 - C2r4 - - C2r5 - C2r5 - - C2r6 - C2r6 - - C2r7 - C2r7 - - C2r8 - C2r8 - - C2r9 - C2r9 - - C2r11 - C2r11 - - C2r12 - C2r12 - - C2r13 - C2r13 - - C2r14 - C2r14 - - C2r15 - C2r15 - - C2r16 - C2r16 - - C2r10 - C2r10 - - C2r10oe - C2r10oe incompatible: [] - - C1 - missing: [] ok: - - C1r1 - C1r1 - - C1r2 - C1r2 - - C1r3 - C1r3 - - C1r4 - C1r4 - - C1r5 - C1r5 - - C1r6 - C1r6 - - C1r7 - C1r7 - - C1r8 - C1r8 - - C1r9 - C1r9 - - C1r11 - C1r11 - - C1r12 - C1r12 - - C1r13 - C1r13 - - C1r14 - C1r14 - - C1r15 - C1r15 - - C1r16 - C1r16 - - C1r10 - C1r10 - - C1r10oe - C1r10oe incompatible: [] - - start_date - missing: [] ok: - - start_date - start_date incompatible: [] - - C4 - missing: [] ok: - - C4r1 - C4r1 - - C4r2 - C4r2 - - C4r3 - C4r3 - - C4r4 - C4r4 - - C4r5 - C4r5 - - C4r6 - C4r6 - - C4r7 - C4r7 - - C4r8 - C4r8 - - C4r9 - C4r9 - - C4r11 - C4r11 - - C4r12 - C4r12 - - C4r13 - C4r13 - - C4r14 - C4r14 - - C4r15 - C4r15 - - C4r16 - C4r16 - - C4r10 - C4r10 - - C4r10oe - C4r10oe incompatible: [] timestamp: 1663692991 pid: 1149 task: null survey: selfserve/53d/220901 result: OK progress: 100 percentage: 100 total: 100 type: /api/v1/surveys/selfserve/53d/220604/umerge execute: value: status: finished what: Finished ident: 9zk9wrqrx0exg5fh user_id: 1 extra: url: http://{server}/rep/selfserve/53d/220901:api/edits/7.txt?cols=uuid,changes stats: terminated: 0 fieldsIgnored: 0 rows: 200 partial: 0 rewritten: 0 created: 200 deleted: 0 unchanged: 0 fieldsProcessed: 16200 bad: [] qualified: 200 fieldsUpdated: 14848 unseen: 0 fieldsIdentical: 1352 inrows: 0 fieldsErronous: 0 disqualified: 0 disqualifiedImports: 0 unmatchedDeletions: 0 overquota: 0 backup: null changeset: 7 excluded_count: 0 timestamp: 1663694737 pid: 1170 task: 'Creating data ' survey: selfserve/53d/220901 result: OK progress: 100 percentage: 100 total: 100 type: /api/v1/surveys/selfserve/53d/220604/umerge x-codeSamples: - lang: Curl source: 'curl -H x-apikey: {api_key} -X POST {server}/api/v1/surveys/{survey}/umerge ' - lang: Cli source: 'beacon post surveys/{survey}/umerge ' components: 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