Distributions

Pause, resume or complete a distribution

Change the status of a distribution that is already published. A study collects responses only while it has a published distribution, so this is how a study is paused or closed. published -> paused stops new participants from starting; paused -> published resumes; published or paused -> completed closes the distribution for good, and a completed panel distribution returns its unused credits. A completed distribution cannot change status again; duplicate it instead. in_review -> draft cancels a review request. Any other transition is a 409. A draft or in_review distribution goes live through the publish endpoint, which also charges credits and freezes the study snapshot. For a panel distribution, the provider project is paused, resumed or closed in the background after this call returns.

patch/api/v1/distributions/{distribution_id}/status

Request

  • Base URL
    https://app.voicepanel.com
  • URL
    https://app.voicepanel.com/api/v1/distributions/{distribution_id}/status
  • Auth
    HTTP bearer

Path parameters

distribution_idstring required
Example:dst_7C1hPliVteu3n4

The distribution ID

Request body

status'published' | 'paused' | 'completed' | 'draft' required

The status to move to. paused stops a published distribution from taking new participants. published resumes a paused one. completed closes a published or paused one for good and, for a panel distribution, returns unused credits. draft cancels a review request on an in_review distribution. A draft or in_review distribution goes live through the publish endpoint, not through this one.

Example request

{
  "status": "paused"
}

Response

The distribution with its new status

idstring required

Distribution ID

urlstring nullable required

Public link participants open to take the study. Set for link distributions only; null for every other type.

study_idstring required

ID of the study this distribution belongs to

namestring nullable required

Name of the distribution

descriptionstring nullable required

Description of the distribution

type'link' | 'service' | 'email' | 'website' | 'app' | 'panel' | 'simulation' required

How the study is distributed to participants

status'draft' | 'published' | 'paused' | 'completed' | 'in_review' required

Current status of the distribution

distribution_provider'respondent' | 'user_interviews' | 'prolific' | 'terac' nullable required

Third-party panel provider

distribution_provider_idstring nullable required

External provider project ID

configobject required

Provider-specific configuration

incentiveobject nullable required

Incentive configuration for link distributions

quota_limitnumber nullable required

Maximum number of responses

quota_frequency'lifetime' | 'monthly' | 'weekly' | 'daily' required

How often the quota resets

quota_usageinteger required

Responses counted against the current quota

default_response_languagestring nullable required

Default language for responses

collect_emailboolean required

Whether to collect participant email

screen_emailboolean required

Whether to screen participants against an email list

email_list_idstring nullable required

Email list used to screen or invite participants

automatic_invitesboolean required

Whether participants are invited automatically

keystring nullable required

Snippet key used to trigger an intercept distribution

traffic_thresholdnumber nullable required

Share of eligible traffic shown the study, out of 1,000,000

complete_redirect_urlstring nullable required

URL to redirect to after completion

screen_out_redirect_urlstring nullable required

URL to redirect screened-out participants

quota_full_redirect_urlstring nullable required

URL to redirect when quota is full

quality_terminate_redirect_urlstring nullable required

URL to redirect participants terminated for quality

is_archivedboolean required

Whether the distribution is archived

seq_numinteger nullable required

Sequence number within the study

published_atstring date-time nullable required

When the distribution was published

last_completed_atstring date-time nullable required

When the latest response completed

created_bystring nullable required

ID of the user who created the distribution

created_atstring date-time nullable required
updated_atstring date-time nullable required

Example response

{
  "id": "dst_7C1hPliVteu3n4",
  "url": "https://app.voicepanel.co/d/7C1hPliVteu3n4",
  "study_id": "stdy_Qm3vR8tLp2XnWz",
  "name": "March newsletter link",
  "description": "Shared with newsletter subscribers in March.",
  "type": "link",
  "status": "published",
  "config": {},
  "incentive": {
    "type": "gift_card",
    "amount": 10,
    "title": "$10 gift card",
    "description": "Sent by email after you complete the interview."
  },
  "quota_limit": 100,
  "quota_frequency": "lifetime",
  "quota_usage": 42,
  "screener_questions": [
    {
      "text": "Have you ordered grocery delivery in the last 3 months?",
      "type": "radio",
      "isRequired": true,
      "options": [
        {
          "text": "Yes",
          "qualification": "qualify"
        },
        {
          "text": "No",
          "qualification": "disqualify"
        }
      ]
    }
  ],
  "default_response_language": "en",
  "automatic_invites": true,
  "complete_redirect_url": "https://example.com/thanks?rid={{response_id}}",
  "seq_num": 1,
  "published_at": "2026-03-02T15:12:00.000Z",
  "last_completed_at": "2026-03-09T18:45:00.000Z",
  "created_by": "0f1b3c6e-9d2a-4b7c-8e5f-2a1d4c6b8e90",
  "created_at": "2026-03-02T15:00:00.000Z",
  "updated_at": "2026-03-09T18:45:00.000Z",
  "pretranslations": [
    {
      "locale": "es"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.