---
title: "Push bulk scouting data from a completed Vortex session"
method: POST
path: "/api/vortex/audit/bulk"
tags: ["Vortex"]
---

# Push bulk scouting data from a completed Vortex session

`POST /api/vortex/audit/bulk`

## Request

- Base URL: `https://api.sponsorunited.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.sponsorunited.com/api/vortex/audit/bulk`
- Auth: API key in header `X-API-Key`
- TypeScript: <https://skmtc.dev/sponsorunited/apis/sponsorunited-api/docs/api/vortex/audit/bulk/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates audits and item values for multiple brands across a scouting event. Authenticated via X-API-Key. All entity IDs (brands, properties, events) must be pre-resolved. Sessions with unresolved IDs should be filtered out before calling this endpoint. A report created here records user_id as Captured By; a report that already exists is found by its Captured By, so a push that arrives after the report was reassigned still lands on it.

## Request body

- VortexBulkAddRequest
  - `user_id` integer, required: ID of the user who captured the scouting session. Recorded as the report's Captured By when the report is created here, and used as its first Assigned To.
  - `isQuickAdd` boolean: Whether this is a quick-add session (always true for vortex)
  - `partial` boolean: Marks the payload as partial rows. With it, companies and items may be empty and their id may be null: a missing brand is saved as the Unknown Brand and a missing asset as the Unknown Asset, one row per image. Without it, a missing id is rejected.
  - `companies` object[], required: Brands with resolved core-api IDs
    - `id` integer, nullable, required: Brand ID. May be null only when partial is true.
  - `properties` object[], required: Properties with their associated events
    - `id` integer, required: Property / team ID
    - `events` object[], required
      - `id` integer, required: Event ID (must pre-exist)
      - `season` integer, required: Season year
      - `event_type` 'season' | 'single' | 'multi' | 'social' | 'twitter_scan' | 'facebook_scan' | 'instagram_scan' | 'tiktok_scan', required
      - `scheduled` string, date-time, nullable, required
      - `startDate` string, date, nullable
      - `endDate` string, date, nullable
  - `items` object[], required: Placement items with counts
    - `id` integer, nullable, required: Item ID. May be null only when partial is true.
    - `frequency` integer: Occurrence count
    - `value` number, float, nullable
    - `audios` VortexBulkAddAudio[]: Recordings the item was heard in, by the id POST /api/vortex/upload-audio-from-url returned.
      - `id` integer, required: Audio id
      - `fragments` object[]: The clips of the recording the item was heard in.
        - `start` number, float, nullable: Seconds from the start of the recording; up to three decimals are kept. Missing means 0.
        - `end` number, float, nullable: Seconds from the start of the recording; up to three decimals are kept. Missing means 0.
        - `transcription` string, nullable: What was said in the clip. Missing or null is stored as an empty string.
    - `videos` integer[], nullable: Videos of the item, by the id POST /api/vortex/upload-video-from-url returned. Null or missing means none. The same video may be listed on several items; a repeat within one item is linked once. Attached at rank 10, as the Pro Tool's own video uploads are. An id that names no video, or a deleted one, is dropped with a logged warning rather than rejected.

## Response `200`

Item values created successfully

- object[]

## Other responses

- `401`: Unauthenticated
- `422`: Validation error

## Changes

- **2026-11-10** `cbf1ca5bff8f`: 1 info
  - added the new optional request property `items/items/videos`

[Operation history](https://skmtc.dev/sponsorunited/apis/sponsorunited-api/changes/api/vortex/audit/bulk/post.md)

---

[API](https://skmtc.dev/sponsorunited/apis/sponsorunited-api.md) - [All operations](https://skmtc.dev/sponsorunited/apis/sponsorunited-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sponsorunited/apis/sponsorunited-api/revisions/cbf1ca5bff8f?raw)
