Skip to main content
POST
Create a draft export

Authorizations

Authorization
string
header
required

An Enrik API key, sent as Authorization: Bearer <key>. A key reaches public operations only, and only those whose scopes it holds. A few parameters need a scope beyond their operation’s, which the parameter names. The scopes:

  • setup:read: Read the workspace setup and its company profile.
  • setup:run: Change the setup: confirm the company profile, authorize sponsored drafting and background company research, choose what to set up and complete setup.
  • workspace:read: Read the workspace’s own profile: its health summary and setup state.
  • crm:read: Read companies with their signals, contacts and the saved views over them.
  • crm:write: Create, update and restore companies and contacts, and create, update and delete saved views.
  • crm:delete: Delete companies and contacts.
  • twin:read: Read the Company Twin: structured company knowledge and its signals.
  • discovery:read: Read ICP profiles, ICP assessments, discovery briefs, discovery jobs, candidates and the signal library.
  • discovery:write: Create and change ICP profiles, discovery briefs and signal-definition drafts, and review discovery candidates.
  • discovery:run: Create, start and cancel discovery jobs, and edit a draft one. Uses provider budget.
  • enrichment:read: Read the enrichment configuration and its results, including a record’s enrichment, formula and custom-API cells.
  • enrichment:run: Launch and cancel enrichment. Spends enrichment credits.
  • automation:read: Read workflows and agents with their run history, including a record’s agent cells.
  • automation:run: Run existing workflows and agents.
  • exports:read: Read export jobs and the fields an export can carry.
  • exports:run: Create, preview, start, cancel and archive CSV exports of companies, contacts and candidates, and download the file. Also needs crm:read. Delivering an export to a webhook destination stays in the app.
  • integrations:read: Read connections, field mappings, CRM sync jobs and webhook destinations.
  • webhooks:read: Read webhook subscriptions, the event types they can name and their delivery log.
  • webhooks:write: Subscribe a receiver URL to webhook events; edit, test, pause, resume and archive a subscription and rotate its signing secret; redeliver an event. Only workspace owners and admins can grant it.
  • reporting:read: Read analytics and dashboards.
  • assistant:read: Read the Assistant: its threads, messages and pending approvals.
  • assistant:run: Converse with the Assistant. Uses the workspace’s AI quota.
  • assistant:write: Approve or reject the changes the Assistant proposes.

Headers

Idempotency-Key
string
required

A key you choose for this request, such as a UUID. Retrying with the same key returns the first result instead of doing the work twice.

Required string length: 1 - 200

Body

application/json

A draft export: its kind, the record type and the source to read.

exportType
enum<string>
required

csv_file, a file to download. webhook_delivery is for the app: an API key gets 403 permission_denied (export_delivery_human_only).

Available options:
csv_file,
webhook_delivery
objectType
enum<string>
required

The record type to export. Candidates also need discovery:read.

Available options:
company,
contact,
company_candidate
source
any

Which records and fields to export, validated against objectType: fieldKeys (1 to 100 keys from exportFields.getCatalogue) and sourceType, one of selected_rows with recordIds (up to 5000), saved_view with savedViewId (companies and contacts), table_filter with an optional filter, or discovery_job with discoveryJobId (candidates). Optional: maxRows (1 to 5000, the default), includeHeaders and includeProvenance (both true by default). An invalid source is 422 validation_error with details.code export_invalid_config, an unknown field export_invalid_field.

sourceId
string<uuid> | null

The saved view or discovery job the source names, recorded on the job.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
webhookDestinationId
string<uuid> | null

Only for a webhook_delivery export, which an API key cannot create; leave it out.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$

Response

An export job with its live status, opaque configuration and file metadata.

An export job with its live status, opaque configuration and file metadata.

id
string
required

The export job id.

exportType
enum<string>
required

csv_file: a CSV file to download. webhook_delivery: sent to a webhook destination, which only the app can create or start.

Available options:
csv_file,
webhook_delivery
objectType
enum<string>
required

The record type the export carries.

Available options:
company,
contact,
company_candidate
sourceType
string
required

How the records were chosen: selected_rows, saved_view, table_filter or discovery_job.

sourceId
string | null
required

The saved view or discovery job the records came from, if the source names one.

status
enum<string>
required

draft until started; queued and running while it runs; then completed, completed_with_errors, failed or canceled; archived once archived.

Available options:
draft,
queued,
running,
completed,
completed_with_errors,
failed,
canceled,
archived
config
object
required

The source as created: the fields, the records or filter, and the row limit.

stats
object
required

Counts from the run, such as recordsExported; empty until it runs.

fileName
string | null
required

The CSV file’s name once it is written; null before, and for a delivery.

fileSizeBytes
number | null
required

The CSV file’s size in bytes, once written.

downloadExpiresAt
string<date-time> | null
required

Until when exportJobs.download serves the file; null until it is written.

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
webhookDestinationId
string | null
required

The webhook destination of a webhook_delivery export; null for a CSV file.

createdBy
string | null
required

The member who created it. For an export an API key created, the member who created the key.

startedAt
string<date-time> | null
required

When it started running, if it has.

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
completedAt
string<date-time> | null
required

When it finished, if it has.

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
createdAt
string<date-time>
required

When it was created.

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
updatedAt
string<date-time>
required

When it last changed.

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$