---
title: "Create a box"
method: POST
path: "/v2/pipelines/{pipelineKey}/boxes"
tags: ["Boxes"]
---

# Create a box

`POST /v2/pipelines/{pipelineKey}/boxes`

## Request

- Base URL: `https://api.streak.com/api`
- URL: `https://api.streak.com/api/v2/pipelines/{pipelineKey}/boxes`
- Auth: HTTP bearer

Creates a box in the specified pipeline

## Path parameters

- `pipelineKey` string, required

## Query parameters

- `overrideValidator` boolean

## Request body

- BoxCreateBody: Properties of a new box.
  - `notes` string, nullable: Box notes. An empty string clears the notes.
  - `stageKey` string, nullable: Stage key in the pipeline. Omit to keep the current or default stage.
  - `fields` object, nullable: Custom field values keyed by field key. Null entries leave fields unchanged.
  - `assignedToSharingEntries` AssigneeInput[], nullable: Users assigned to the box. An empty list removes all assignments.
    - `userKey` string, nullable: Key for the assigned user. Takes precedence when both userKey and email are specified.
    - `email` string, nullable: Email address for the assigned user. Required when userKey is omitted.
  - `linkedBoxKeys` string[], nullable: Linked boxes. An empty list removes all links.
  - `followerKeys` string[], nullable: Users following the box. An empty list removes all followers.
  - `contacts` BoxContactLinkBody[], nullable: Contacts linked to the box. An empty list removes all contacts.
    - `key` string, required: Key of the linked contact.
    - `isStarred` boolean: Whether this link is starred.
    - `isAutoboxed` boolean: Whether emails for this record are automatically added to the box.
  - `organizations` BoxOrganizationLinkBody[], nullable: Organizations linked to the box. An empty list removes all organizations.
    - `key` string, required: Key of the linked organization.
    - `isStarred` boolean: Whether this link is starred.
    - `isAutoboxed` boolean: Whether emails for this record are automatically added to the box.
  - `name` string, required: Name of the new box. Must not be empty.

## Response `200`

OK

- Box: A box in a Streak pipeline, including its fields, linked records and activity statistics.
  - `lastSavedTimestamp` integer, nullable: Time this box was last persisted, in epoch milliseconds.
  - `pipelineKey` string, nullable: Key of the pipeline containing this box.
  - `creatorKey` string, nullable: Creator key for this box.
  - `creationTimestamp` integer, nullable: Creation timestamp for this box, in epoch milliseconds.
  - `lastUpdatedTimestamp` integer, nullable: Last updated timestamp for this box, in epoch milliseconds.
  - `lastEmailUpdatedTimestamp` integer, nullable: Last email updated timestamp for this box, in epoch milliseconds.
  - `lastStageChangeTimestamp` integer, nullable: Last stage change timestamp for this box, in epoch milliseconds.
  - `lastCommentTimestamp` integer, nullable: Last comment timestamp for this box, in epoch milliseconds.
  - `lastEmailFrom` string, nullable: Last email from for this box.
  - `firstEmailFrom` string, nullable: First email from for this box.
  - `totalNumberOfEmails` integer: Total number of emails for this box.
  - `totalNumberOfSentEmails` integer: Total number of sent emails for this box.
  - `totalNumberOfLastSentEmailViews` integer: Total number of last sent email views for this box.
  - `totalNumberOfLastSentEmailLinksClicks` integer: Total number of last sent email links clicks for this box.
  - `totalNumberOfSentEmailsViews` integer: Total number of sent emails views for this box.
  - `totalNumberOfReceivedEmails` integer: Total number of received emails for this box.
  - `firstEmailTimestamp` integer, nullable: First email timestamp for this box, in epoch milliseconds.
  - `firstEmailSentTimestamp` integer, nullable: First email sent timestamp for this box, in epoch milliseconds.
  - `firstEmailReceivedTimestamp` integer, nullable: First email received timestamp for this box, in epoch milliseconds.
  - `lastEmailSentTimestamp` integer, nullable: Last email sent timestamp for this box, in epoch milliseconds.
  - `lastEmailReceivedTimestamp` integer, nullable: Last email received timestamp for this box, in epoch milliseconds.
  - `name` string, nullable: Display name of the box.
  - `notes` string, nullable: Free-form notes saved on the box.
  - `summarySnippet` string, nullable: Generated summary snippet for the box.
  - `assignedToSharingEntries` UserBrief[], required: Assigned to sharing entries for this box.
    - `userKey` string, required: Key for this user.
    - `email` string, nullable: User email address, when available.
    - `displayName` string, nullable: Short display name for this user, when available.
    - `fullName` string, nullable: Full display name for this user, when available.
    - `givenName` string, nullable: Given name for this user, when available.
    - `avatarUrl` string, nullable: Avatar image URL for this user, when available.
  - `creatorSharingEntry` object, nullable: Creator sharing entry for this box.
    - `userKey` string, required: Key for this user.
    - `email` string, nullable: User email address, when available.
    - `displayName` string, nullable: Short display name for this user, when available.
    - `fullName` string, nullable: Full display name for this user, when available.
    - `givenName` string, nullable: Given name for this user, when available.
    - `avatarUrl` string, nullable: Avatar image URL for this user, when available.
  - `followerSharingEntries` UserBrief[], required: Follower sharing entries for this box.
    - `userKey` string, required: Key for this user.
    - `email` string, nullable: User email address, when available.
    - `displayName` string, nullable: Short display name for this user, when available.
    - `fullName` string, nullable: Full display name for this user, when available.
    - `givenName` string, nullable: Given name for this user, when available.
    - `avatarUrl` string, nullable: Avatar image URL for this user, when available.
  - `stageKey` string, nullable: Key of the box stage within its pipeline.
  - `followerKeys` string[], nullable: Follower keys for this box.
  - `linkedBoxKeys` string[], nullable: Linked box keys for this box.
  - `contacts` object[], nullable: Contacts linked to the box, including starring and autoboxing details.
    - `key` string, required: Key of the linked contact or organization.
    - `isStarred` boolean: Whether this linked record is starred.
    - `isAutoboxed` boolean: Whether this record was linked automatically.
    - `autoboxerKey` string, nullable: User who automatically linked the record.
    - `autoboxingTimestamp` integer, nullable: Time the record was automatically linked, in epoch milliseconds.
    - `autoboxingSource` 'AUTOBOXING' | 'EMAIL_FILTER' | 'FLOW', nullable: Source of the automatic link.
  - `organizations` object[], nullable: Organizations linked to the box, including starring and autoboxing details.
    - `key` string, required: Key of the linked contact or organization.
    - `isStarred` boolean: Whether this linked record is starred.
    - `isAutoboxed` boolean: Whether this record was linked automatically.
    - `autoboxerKey` string, nullable: User who automatically linked the record.
    - `autoboxingTimestamp` integer, nullable: Time the record was automatically linked, in epoch milliseconds.
    - `autoboxingSource` 'AUTOBOXING' | 'EMAIL_FILTER' | 'FLOW', nullable: Source of the automatic link.
  - `emailAddressesAutoExtracted` string[], nullable: Email addresses extracted from the box emails.
  - `emailAddressesBlacklist` string[], nullable: Email addresses excluded from the composed box email list.
  - `emailAddresses` string[], required: Extracted email addresses after excluding the blacklist.
  - `taskCompleteCount` integer: Task complete count for this box.
  - `taskIncompleteCount` integer: Task incomplete count for this box.
  - `taskOverdueCount` integer: Task overdue count for this box.
  - `taskAssigneeKeySet` string[], nullable: Task assignee key set for this box.
  - `soonestTaskDueDate` integer, nullable: Soonest task due date for this box, in epoch milliseconds.
  - `earliestOverdueTaskDueDate` integer, nullable: Earliest overdue task due date for this box, in epoch milliseconds.
  - `overdueTaskAssigneeKeySet` string[], nullable: Overdue task assignee key set for this box.
  - `incompleteTaskAssigneeKeySet` string[], nullable: Incomplete task assignee key set for this box.
  - `taskAssigneeSharingEntrySet` UserBrief[], required: Task assignee sharing entry set for this box.
    - `userKey` string, required: Key for this user.
    - `email` string, nullable: User email address, when available.
    - `displayName` string, nullable: Short display name for this user, when available.
    - `fullName` string, nullable: Full display name for this user, when available.
    - `givenName` string, nullable: Given name for this user, when available.
    - `avatarUrl` string, nullable: Avatar image URL for this user, when available.
  - `overdueTaskAssigneeSharingEntrySet` UserBrief[], required: Overdue task assignee sharing entry set for this box.
    - `userKey` string, required: Key for this user.
    - `email` string, nullable: User email address, when available.
    - `displayName` string, nullable: Short display name for this user, when available.
    - `fullName` string, nullable: Full display name for this user, when available.
    - `givenName` string, nullable: Given name for this user, when available.
    - `avatarUrl` string, nullable: Avatar image URL for this user, when available.
  - `incompleteTaskAssigneeSharingEntrySet` UserBrief[], required: Incomplete task assignee sharing entry set for this box.
    - `userKey` string, required: Key for this user.
    - `email` string, nullable: User email address, when available.
    - `displayName` string, nullable: Short display name for this user, when available.
    - `fullName` string, nullable: Full display name for this user, when available.
    - `givenName` string, nullable: Given name for this user, when available.
    - `avatarUrl` string, nullable: Avatar image URL for this user, when available.
  - `taskPercentageComplete` number, double: Fraction of box tasks that are complete; zero when there are no tasks.
  - `taskTotal` integer: Task total for this box.
  - `creationSourceType` 'HUMAN' | 'SYSTEM_ONBOARDING' | 'AI_PIPELINE_CREATOR', nullable: Creation source type for this box.
  - `callLogCount` integer: Call log count for this box.
  - `meetingNotesCount` integer: Meeting notes count for this box.
  - `mostRecentCallLogTimestamp` integer, nullable: Most recent call log timestamp for this box, in epoch milliseconds.
  - `mostRecentMeetingNotesTimestamp` integer, nullable: Most recent meeting notes timestamp for this box, in epoch milliseconds.
  - `eventCount` integer: Number of meetings and synced calendar events for this box, excluding no-shows.
  - `firstEventTimestamp` integer, nullable: Earliest past meeting or calendar event for this box, in epoch milliseconds.
  - `lastEventTimestamp` integer, nullable: Most recent past meeting or calendar event for this box, in epoch milliseconds.
  - `nextEventTimestamp` integer, nullable: Next upcoming meeting or calendar event for this box, in epoch milliseconds.
  - `mostRecentLastSentEmailViewsTimestamp` integer, nullable: Most recent last sent email views timestamp for this box, in epoch milliseconds.
  - `mostRecentLastSentEmailLinkClickedTimestamp` integer, nullable: Most recent last sent email link clicked timestamp for this box, in epoch milliseconds.
  - `mostRecentSentEmailsViewsTimestamp` integer, nullable: Most recent sent emails views timestamp for this box, in epoch milliseconds.
  - `firstCallLogTimestamp` integer, nullable: First call log timestamp for this box, in epoch milliseconds.
  - `firstMeetingNotesTimestamp` integer, nullable: First meeting notes timestamp for this box, in epoch milliseconds.
  - `totalCallLogDuration` integer: Total call log duration for this box.
  - `totalMeetingNotesDuration` integer: Total meeting notes duration for this box.
  - `lastTouchpointTimestamp` integer, nullable: Last touchpoint timestamp for this box, in epoch milliseconds.
  - `lastTouchpointType` 'EMAIL' | 'CALL' | 'MEETING', nullable: Last touchpoint type for this box.
  - `followerCount` integer: Follower count for this box.
  - `commentCount` integer: Comment count for this box.
  - `gmailThreadCount` integer: Gmail thread count for this box.
  - `fileCount` integer: File count for this box.
  - `fields` object, required: Custom field values indexed by field key; each value follows its pipeline field type. Null values are omitted.
  - `fieldsAutofillStatus` object, nullable: AI autofill progress indexed by field key.
  - `stageHistoryEntries` BoxStageHistoryEntry[], nullable: Stage history entries for this box.
    - `stageKey` string, nullable: Key of the pipeline stage.
    - `lastEntryToStageTs` integer, nullable: Most recent time the box entered the stage, in epoch milliseconds.
    - `timeInStageMs` integer: Accumulated time in this stage, in milliseconds.
  - `key` string, required: Unique key identifying this box.
  - `freshness` number, double: Age score calculated as 1 / (0.3 times days since last activity + 1).
  - `violations` BoxViolation[], nullable: Validation failures associated with the box.
    - `boxKey` string, required: Box that failed validation.
    - `pipelineKey` string, required: Pipeline containing the box.
    - `boxValidatorKey` string, required: Validation rule that produced this failure.
    - `type` 'DENY_EDIT' | 'FIELD_SET' | 'FIELD_NOT_SET' | 'FORMULA_ERROR' | 'FORMULA', required
    - `invalidationType` 'REJECT' | 'WARN', required
    - `errorMessage` string, nullable: Message explaining the validation failure, when available.
    - `fieldKey` string, nullable: Field or box property that failed a field rule.
    - `error` unknown

## Changes

- **2026-10-27** `ece69aa69a9d`: 4 info
  - added the optional property `eventCount` to the response with the `200` status
  - added the optional property `firstEventTimestamp` to the response with the `200` status
  - added the optional property `lastEventTimestamp` to the response with the `200` status
  - added the optional property `nextEventTimestamp` to the response with the `200` status
- **2026-10-17** `821356952e07`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/streakyc/apis/streak/changes/v2/pipelines/:pipelineKey/boxes/post.md)

---

[API](https://skmtc.dev/streakyc/apis/streak.md) - [All operations](https://skmtc.dev/streakyc/apis/streak/llms.txt) - [OpenAPI document](https://skmtc.dev/streakyc/apis/streak/revisions/3648671fd1cf?raw)
