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

# Bulk add and process prospects to a dynamics campaign.

> Listed in API Gateway only.



## OpenAPI

````yaml /api-reference/openapi.json post /v1/workspaces/{workspaceId}/dynamics/{dynamicsId}/prospects/bulk
openapi: 3.0.0
info:
  title: Sendspark API
  version: 1.2.0
  description: >-
    Public Sendspark API. DRAFT scaffold generated from the internal API v2 spec
    — endpoint selection and authentication are pending engineering review
    before publishing.
servers:
  - url: https://api-gw.sendspark.com
    description: Production
security:
  - apiKey: []
    apiSecret: []
tags: []
paths:
  /v1/workspaces/{workspaceId}/dynamics/{dynamicsId}/prospects/bulk:
    post:
      tags:
        - Dynamics Campaign
      summary: Bulk add and process prospects to a dynamics campaign.
      description: Listed in API Gateway only.
      operationId: postDynamicsProspectsBulkModify
      parameters:
        - name: workspaceId
          in: path
          required: true
          schema:
            type: string
        - name: dynamicsId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/RequestPayloadBulkProspectsDynamicsCampaignsSchema
      responses:
        '200':
          description: Successful
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ResponseModifyDynamicsCampaignSchema'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BadRequest'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Forbidden'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ResourceNotFoundOrInvalidAccess'
        '503':
          description: Service Unavailable
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ServiceUnavailable'
components:
  schemas:
    RequestPayloadBulkProspectsDynamicsCampaignsSchema:
      type: object
      properties:
        prospectList:
          $ref: '#/components/schemas/prospectList'
        prospectDepurationConfig:
          $ref: '#/components/schemas/prospectDepurationConfig'
        processAndAuthorizeCharge:
          type: boolean
          example: false
        callbackId:
          type: string
          example: 63f6a4145a5e755e2e8fe19d
    ResponseModifyDynamicsCampaignSchema:
      type: object
      properties:
        name:
          type: string
          example: My Dynamic Campaign
        videoProperties:
          $ref: '#/components/schemas/VideoProperties'
        metadata:
          $ref: '#/components/schemas/Metadata'
        combinedVideo:
          type: boolean
          example: false
        dynamicBackground:
          type: boolean
          example: false
        status:
          type: string
          example: pending
        creator:
          type: string
          example: okn4ra9qjlpzhs2zpuni426jizysbdcp
        folder:
          type: string
          example: ibdls2hjvaebvg0k4mz0zgvndbai9th7
        workspace:
          type: string
          example: 3vwdfm4jmhfyzt1yqp0r8v3qgaocrczb
        videosAssets:
          $ref: '#/components/schemas/videosAssets'
        _id:
          type: string
          example: 63f6a4145a5e755e2e8fe19d
        createdAt:
          type: string
          format: date
          example: '2021-03-01T00:00:00.000Z'
        deletedAt:
          type: string
          format: date
          description: For managing soft deletes
          example: null
        prospectList:
          $ref: '#/components/schemas/ResponsePayloadProspectList'
      required:
        - combinedVideo
        - dynamicBackground
        - status
        - creator
        - folder
        - workspace
        - createdAt
    BadRequest:
      type: object
      properties:
        statusCode:
          type: number
          example: 400
        code:
          type: string
          example: S400-AHVE
        error:
          type: string
          example: Bad Request
        message:
          type: string
          example: Invalid request payload input
    Forbidden:
      type: object
      properties:
        statusCode:
          type: number
          example: 403
        code:
          type: string
          example: S403-UPLD
        error:
          type: string
          example: Forbidden
        message:
          type: string
          example: Invalid request payload input / Any error from provider
    ResourceNotFoundOrInvalidAccess:
      type: object
      properties:
        statusCode:
          type: number
          example: 404
        error:
          type: string
          example: Not Found
        message:
          type: string
          example: Resource not found or invalid access
    ServiceUnavailable:
      type: object
      properties:
        statusCode:
          type: number
          example: 503
        error:
          type: string
          example: Service Unavailable
        message:
          type: string
          example: Service Unavailable
    prospectList:
      type: array
      minItems: 1
      maxItems: 10000
      items:
        $ref: '#/components/schemas/requestPayloadProspectSchema'
    prospectDepurationConfig:
      type: object
      properties:
        forceCreation:
          type: boolean
          example: false
        payloadDepurationStrategy:
          $ref: '#/components/schemas/payloadDepurationStrategy'
    VideoProperties:
      type: object
      properties:
        sharePage:
          $ref: '#/components/schemas/SharePage'
    Metadata:
      type: object
      properties:
        version:
          type: number
          example: 1
        migrated:
          type: string
          format: date
          example: '2021-03-01T00:00:00.000Z'
    videosAssets:
      type: array
      items:
        type: string
    ResponsePayloadProspectList:
      type: array
      items:
        $ref: '#/components/schemas/responsePayloadProspectSchema'
    requestPayloadProspectSchema:
      type: object
      properties:
        _id:
          type: string
          example: 63f6a4145a5e755e2e8fe19d
        contactName:
          type: string
          example: John Doe
        contactEmail:
          type: string
          description: Must be unique for each dynamics videos campaign
          example: johndoe@example.com
        company:
          type: string
          example: Example Company
        jobTitle:
          type: string
          example: Example jobTitle
        customField:
          type: string
          example: Example Custom Field
        backgroundUrl:
          type: string
          example: https://example.com
        originalBackgroundUrl:
          type: string
          example: https://example.com
        screenshotUrl:
          type: string
          example: https://sendspark.com
          x-format:
            uri: true
        webhookUrl:
          type: string
          example: https://sendspark.com
          x-format:
            uri: true
        webhookEvents:
          $ref: '#/components/schemas/webhookEvents'
        audioUrl:
          type: string
          example: https://sendspark.com
          x-format:
            uri: true
        valid:
          type: boolean
          example: false
        fallbackDataUsed:
          type: boolean
          example: false
        fields:
          $ref: '#/components/schemas/Fields'
        hash:
          type: string
          example: 63f6a4145a5e755e2e8fe19d
    payloadDepurationStrategy:
      type: string
      enum:
        - keep-first-valid
        - keep-last-valid
    SharePage:
      type: object
      properties:
        title:
          type: string
          example: Hello there!
        message:
          type: string
          example: welcome to my dynamic campaign
        buttons:
          $ref: '#/components/schemas/object'
        calendar:
          $ref: '#/components/schemas/Model170'
        layout:
          $ref: '#/components/schemas/layout'
        transcriptionsViewEnabled:
          type: boolean
          example: false
    responsePayloadProspectSchema:
      type: object
      properties:
        _id:
          type: string
          example: 63f6a4145a5e755e2e8fe19d
        campaign:
          type: string
          example: okn4ra9qjl3fs2zpuni426jizysbdcp
        contactName:
          type: string
          example: John Doe
        contactEmail:
          type: string
          description: Must be unique for each dynamics videos campaign
          example: johndoe@example.com
        company:
          type: string
          example: Example Company
        jobTitle:
          type: string
          example: Example jobTitle
        backgroundUrl:
          type: string
          example: https://example.com
        originalBackgroundUrl:
          type: string
          example: https://example.com
        screenshotUrl:
          type: string
          example: https://sendspark.com
          x-format:
            uri: true
        webhookUrl:
          type: string
          example: https://sendspark.com
          x-format:
            uri: true
        trimMuxId:
          type: string
        webhookEvents:
          $ref: '#/components/schemas/webhookEvents'
        webhookPaused:
          type: boolean
          example: false
        audioUrl:
          type: string
          example: https://sendspark.com
          x-format:
            uri: true
        videoLipSyncUrl:
          type: string
          example: https://sendspark.com
          x-format:
            uri: true
        valid:
          type: boolean
          example: false
        bulkId:
          type: string
          example: 63f6a4145a5e755e2e8fe19d
        status:
          type: string
          description: Manage constants for this
          example: saved
        createdAt:
          type: string
          format: date
          example: '2023-06-02T00:57:45.447Z'
        updatedAt:
          type: string
          format: date
          example: '2023-06-02T00:57:45.447Z'
        deletedAt:
          type: string
          format: date
          description: For managing soft deletes
          example: null
        validationDetails:
          type: string
        resourcesStatus:
          $ref: '#/components/schemas/ResourcesStatus'
        isNotified:
          type: boolean
          example: false
        fallback:
          type: boolean
          example: false
        regenerationCount:
          type: number
          example: 0
        fallbackDataUsed:
          type: boolean
          example: false
        fields:
          $ref: '#/components/schemas/Fields'
        hash:
          type: string
          example: 63f6a4145a5e755e2e8fe19d
      required:
        - status
    webhookEvents:
      type: array
      example:
        - video_generated_dv
        - video_watched
        - video_played
        - video_cta_clicked
        - video_viewed
        - video_liked
      items:
        type: string
    Fields:
      type: object
    object:
      type: array
      items:
        $ref: '#/components/schemas/Model169'
    Model170:
      type: object
      properties:
        provider:
          type: string
        link:
          type: string
          x-format:
            uri: true
    layout:
      type: string
      example: layout-default
      enum:
        - layout-default
        - layout-title-above
    ResourcesStatus:
      type: object
    Model169:
      type: object
      properties:
        position:
          type: number
        label:
          type: string
        link:
          type: string
          example: http://www.sendspark.com/
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
    apiSecret:
      type: apiKey
      in: header
      name: x-api-secret

````