> ## Documentation Index
> Fetch the complete documentation index at: https://docs.emporiaresearch.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a project

> Turn a preview into a project.

Creates a project from a preview. The project starts in `DRAFT` and takes its targeting, target N and CPI from the preview.

Upload a screener with [Upload an attachment](https://docs.emporiaresearch.com/demand-api/upload-attachment.md) before you launch.

## Path parameters

**id** `string` *required*

The preview `id`.

## Body

**name** `string` *required*

Your label for the project.

**description** `string`

Notes on who you're looking for. Not used for targeting.

**contactEmail** `string` *required*

We send project notifications here and use it to contact you about the project.

**entryUrl** `string` *required*

Your survey or interview link. Must be HTTPS and include `REPLACE_ME_WITH_RESPONDENT_ID`.

**pauseAtTarget** `boolean` (default: true)

Pause the project when `completes` reaches `targetNSize`.

## Response

Returns the project: the request fields plus the following.

**id** `string` *required*

Project ID, same as the preview `id`.

**status** `string` *required*

`DRAFT`, `ACTIVE`, `PAUSED` or `CLOSED`. New projects are `DRAFT`.

**audience, studyType, loiMinutes, incidenceRate, filters, targetNSize** `mixed` *required*

Copied from the preview.

**cpi** `object` *required*

Price per complete, from the preview.

**properties**

**amount** `number` *required*

Amount.

**currency** `string` *required*

ISO 4217 currency code.

**estimatedCost** `object` *required*

`cpi` × `targetNSize`. You're billed for accepted completes.

**redirectUrls** `object` *required*

Where to send respondents when they finish. See [Redirect URLs](#redirect-urls).

**properties**

**complete** `string` *required*

Finished. `/qualified` for `QUANT`, `/interviewcomplete` for `AI_MODERATED_INTERVIEW`.

**quotaFull** `string` *required*

Qualified, but the quota is full.

**terminated** `string` *required*

Screened out.

**qualityRejected** `string` *required*

Failed your quality checks.

**testRespondentIds** `string[]` *required*

For testing your integration. See [Test your integration](#test-your-integration).

**createdAt** `string` *required*

UTC timestamp.

**updatedAt** `string` *required*

UTC timestamp.

## Redirect URLs

When a respondent finishes, send them to the matching URL in `redirectUrls`, replacing `REPLACE_ME_WITH_RESPONDENT_ID` with their `uid`.

If you've already set a respondent's status with [Update respondent status](https://docs.emporiaresearch.com/demand-api/update-respondent-status.md), the redirect won't change it.

## Test your integration

Open `https://app.emporiaresearch.com/survey?projectId={id}&contactId={testRespondentId}` with one of the `testRespondentIds` to run through your survey and redirects. Test respondents don't count toward `completes` and aren't billed.

## Errors

General errors are listed in the [Overview](https://docs.emporiaresearch.com/demand-api/overview.md#errors).

| Status | Code | When |
| - | - | - |
| 400 | `INVALID_CONTACT_EMAIL` | `contactEmail` is missing or isn't a valid email address. |
| 400 | `INVALID_ENTRY_URL` | `entryUrl` isn't a valid HTTPS URL or is missing `REPLACE_ME_WITH_RESPONDENT_ID`. |
| 400 | `TARGET_EXCEEDS_FEASIBILITY` | The preview's `targetNSize` is greater than its `nSize`. |
| 404 | `PREVIEW_NOT_FOUND` | No preview with this ID exists for your account. |
| 410 | `PREVIEW_EXPIRED` | The preview is past its `expiresAt`. Create a new preview. |

```http Request theme={null}
PUT /v1/projects/4f1a9c2e7b3d4a8e9c6b2d5f8a1e3c7b
Authorization: Bearer <api_key>
Content-Type: application/json
```

```json Body theme={null}
{
  "name": "Q4 IT security buyer interviews",
  "description": "Directors and VPs at US companies who own or influence cybersecurity tooling decisions.",
  "contactEmail": "research-ops@partner.com",
  "entryUrl": "https://interviews.partner.com/session/xyz?uid=REPLACE_ME_WITH_RESPONDENT_ID"
}
```

```json 201 theme={null}
{
  "id": "4f1a9c2e7b3d4a8e9c6b2d5f8a1e3c7b",
  "name": "Q4 IT security buyer interviews",
  "status": "DRAFT",
  "description": "Directors and VPs at US companies who own or influence cybersecurity tooling decisions.",
  "contactEmail": "research-ops@partner.com",
  "audience": "CYBERSECURITY_PROFESSIONALS",
  "studyType": "AI_MODERATED_INTERVIEW",
  "loiMinutes": 30,
  "incidenceRate": 30,
  "filters": {
    "countries": ["US"],
    "seniorities": ["DIRECTOR", "VP"]
  },
  "targetNSize": 20,
  "pauseAtTarget": true,
  "cpi": { "amount": 120.00, "currency": "USD" },
  "estimatedCost": { "amount": 2400.00, "currency": "USD" },
  "entryUrl": "https://interviews.partner.com/session/xyz?uid=REPLACE_ME_WITH_RESPONDENT_ID",
  "redirectUrls": {
    "complete": "https://app.emporiaresearch.com/survey/interviewcomplete?uid=REPLACE_ME_WITH_RESPONDENT_ID",
    "quotaFull": "https://app.emporiaresearch.com/survey/quotafull?uid=REPLACE_ME_WITH_RESPONDENT_ID",
    "terminated": "https://app.emporiaresearch.com/survey/terminated?uid=REPLACE_ME_WITH_RESPONDENT_ID",
    "qualityRejected": "https://app.emporiaresearch.com/survey/qualityrejected?uid=REPLACE_ME_WITH_RESPONDENT_ID"
  },
  "testRespondentIds": ["5c8e2a7f1b3d4e9a8c6f2b4d7e1a3c9f", "8a4d1f6c3e9b4a7d9c2e5f8b1a4d7c3e"],
  "createdAt": "2026-10-27T16:20:11.482913Z",
  "updatedAt": "2026-10-27T16:20:11.482913Z"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.