Campaign Builder API
  1. Booking
Campaign Builder API
  • Campaign
    • Create a new campaign
      POST
    • Update an existing campaign
      PATCH
    • Delete a campaign
      DELETE
    • List campaigns with filtering and pagination
      GET
    • Simple campaign listing
      GET
    • Get a single campaign
      GET
  • Campaign Bulk Operations
    • Archive multiple campaigns
      POST
  • Booking
    • Create new booking
      POST
    • Update booking
      PATCH
    • Create segmentation rule for booking
      POST
    • Get single booking by ID
      GET
    • Confirm booking
      POST
    • Get booking assets with pagination
      GET
    • Update asset status for booking
      PATCH
    • Update booking segmentation
      POST
    • Refresh booking segmentation
      POST
    • Export booking locations as CSV
      GET
  • Booking Campaign Integration
    • Associate campaigns with booking
      PATCH
    • Remove campaign from booking association
      POST
  • Entity Management
    • Create new entity
      POST
    • Update entity
      PATCH
    • Get single entity
      GET
    • Get entity statistics
      GET
    • Duplicate entities
      POST
    • Archive entities
      PATCH
    • Restore archived entities
      PATCH
  • Campaign Management
    • Publish a campaign
    • Send campaign preview email
  • Campaign Statistics
    • Get campaign statistics
  • Campaign Reports
    • Get available reports for a campaign
  • Campaign Pricing
    • Get campaign item pricing information
  • Campaign Asset Management
    • Get campaign item overview
    • Get priority allocations for a campaign item
    • Update priority allocations for a campaign item
  • Campaign Import
    • Export
      • Duplicate an existing campaign
      • Import artwork files for campaign items
  • Campaign Items
    • Create a new campaign item
    • Get a single campaign item
    • Update a campaign item
    • Delete a campaign item
    • List campaign items
    • Create multiple campaign items
    • Get MOS information for a campaign item
    • Delete MOS information for a campaign item
  • Campaign Items Import
    • Export
      • Export campaign items as CSV
      • Import campaign items from structured data
  • Campaign Artwork
    • Create campaign artworks in bulk
    • List campaign artworks with filtering
    • Update an existing campaign artwork
  • Campaign Artwork Management
    • Assign artworker to multiple campaign artworks
    • Cancel multiple campaign artworks
    • Duplicate multiple campaign artworks
    • Remove multiple campaign artworks
  • Schemas
    • Schemas
      • User
      • Task
      • TaskListResponse
      • ErrorResponse
      • TaskCreateRequest
      • TaskResponse
      • TaskUpdateRequest
      • UserTasksResponse
      • TaskAssignRequest
      • Opportunity
      • OpportunityResponse
      • OpportunityUpdateRequest
      • OpportunityListResponse
      • OpportunityCreateRequest
      • OpportunityTier
      • OpportunityTierResponse
      • OpportunityTierUpdateRequest
      • OpportunityTierCreateRequest
      • OpportunityTierListResponse
      • OpportunityTierAsset
      • OpportunityTierAssetResponse
      • OpportunityTierAssetUpdateRequest
      • OpportunityTierAssetCreateRequest
      • OpportunityTierAssetListResponse
      • EntityInstanceFormBase
      • EntityInstanceFormResponse
      • EntityInstanceFormUpdate
      • EntityInstanceFormCreate
      • FormGroupBase
      • FormGroupResponse
      • FormGroupCreate
      • FormGroupUpdate
      • FormFieldLabel
      • FormFieldOption
      • FormFieldIntegrationConfig
      • FormFieldLinkFilter
      • FormFieldBase
      • FormFieldResponse
      • FormFieldCreate
      • FormFieldUpdate
      • EntityInstanceFormSubmissionCreate
      • EntityInstanceFormSubmissionResponse
      • EntityInstanceFormConfigResponse
      • EntityInstanceFormSubmissionFull
      • Advertiser
      • AdvertiserListResponse
      • AdvertiserCreateRequest
      • AdvertiserResponse
      • AdvertiserUserEntity
      • AdvertiserUserBatchListResponse
      • AdvertiserUpdateRequest
      • AdvertiserUser
      • AdvertiserUserListResponse
      • AdvertiserInvite
      • AdvertiserInviteListResponse
      • AdvertiserInviteCreateRequest
      • AdvertiserInviteResponse
      • BulkAssociationCreateRequest
      • OpportunityAdvertiserAssociation
      • BulkAssociationCreateResponse
      • OpportunityAdvertiserUser
      • OpportunityAdvertiser
      • OpportunityAdvertiserListResponse
      • OpportunityAdvertiserUsersResponse
      • DeleteResponse
      • UnavailableAssetMapping
      • BookingUpdateResponse
      • BookingResponse
      • OpportunityAcceptanceResponse
      • OpportunityAcceptanceDetails
      • OpportunityAcceptanceListResponse
      • OpportunityAcceptanceRequest
      • OpportunityAcceptanceResult
      • FormTemplate
      • FormTemplateResponse
      • FormTemplateListResponse
      • FormTemplateCreateRequest
      • FormTemplateUpdateRequest
      • FormTemplateField
      • FormTemplateGroup
      • FormTemplateConfigResponse
      • FormTemplateGroupListResponse
      • FormTemplateGroupCreateRequest
      • FormTemplateGroupUpdateRequest
      • FormTemplateFieldListResponse
      • FormTemplateFieldCreateRequest
      • FormTemplateFieldUpdateRequest
      • FormTemplateFieldMoveGroupRequest
      • SegmentationRuleFilter
      • SegmentationRuleFilterGroup
      • SegmentationRuleNestedFilterGroup
      • SegmentationRuleRules
      • SegmentationRuleItem
      • SegmentationRuleCreate
      • BookingCreate
      • BookingSegmentationRuleRequest
      • BookingErrorResponse
      • BookingAssetResponse
      • BookingAssetListResponse
      • AssetStatusUpdateRequest
      • AssetStatusUpdateResponse
      • BookingUpdateRequest
      • LocationExportResponse
      • CampaignAllocationRule
      • CampaignDefaults
      • CampaignPriceMeta
      • CampaignNotificationEvent
      • CampaignCreateRequest
      • CampaignStatus
      • CampaignState
      • CampaignElementGroup
      • CampaignAssetGroup
      • Campaign
      • CampaignListResponse
      • CampaignUpdateRequest
      • CampaignItemStatus
      • CampaignItemAllocationRule
      • CampaignItem
      • CampaignItemCreateRequest
      • CampaignItemUpdateRequest
      • CampaignItemListResponse
      • CampaignArtworkCategoryGroup
      • CampaignArtworkTargetAsset
      • CampaignArtwork
      • CampaignArtworkListResponse
      • CampaignArtworkUpdateRequest
      • FormPage
      • FormGroupWithFields
      • FormPageResponse
      • FormPageUpdateRequest
      • FormPageListResponse
      • PageConfigResponse
      • FieldValuesResponse
      • FieldValueOption
      • SearchableFieldValue
      • SearchableValuesResponse
      • FormGroupCreateRequest
      • FormGroupUpdateRequest
      • FieldReorderRequest
      • FieldReorderResponse
      • BatchFieldOperation
      • BatchFieldOperationResponse
      • EntityCreateRequest
      • EntityResponse
      • EntityUpdateRequest
      • EntityStatisticsResponse
      • EntityDuplicationRequest
      • EntityDuplicationResponse
      • EntityBulkOperationRequest
      • EntityBulkOperationResponse
  1. Booking

Update booking segmentation

POST
/booking/{id}/update-segmentation
Updates the segmentation configuration for a booking, including asset selection and filtering rules.
Business Rules:
Must provide either segmentationRuleId (for multi-segmentation) or full segmentation rule
Asset IDs must reference assets currently associated with the booking
Trading period IDs must be valid and accessible to the user
Category filters are applied to asset selection logic
Unavailable asset mappings prevent conflicts with other bookings
Segmentation updates may affect asset availability calculations
Multi-Segmentation Support:
When segmentationRuleId is provided, updates specific segmentation rule
When segmentationRuleName is provided, updates the rule name
Legacy mode (no segmentationRuleId) updates the primary booking segmentation

Request

Authorization
API Key
Add parameter in header
Authorization
Example:
Authorization: ********************
or
Path Params

Body Params application/jsonRequired

Examples

Responses

🟢200OK
application/json
Segmentation updated successfully
Body

🟠400Bad Request
🟠404Not Found
🟠409Conflict
🔴500Internal Server Error
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location --request POST 'https://prod.your-api-server.com/booking/456e7890-e89b-12d3-a456-426614174000/update-segmentation' \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "selectedAssetIds": [
        "987fcdeb-51a2-43d1-9f12-345678901234",
        "111fcdeb-51a2-43d1-9f12-345678901234"
    ],
    "tradingPeriodIds": [
        "123e4567-e89b-12d3-a456-426614174000"
    ],
    "categoryFilters": [
        "electronics",
        "fashion"
    ],
    "segmentationRule": {
        "rule": "and",
        "filters": [
            {
                "rule": "and",
                "filters": [
                    {
                        "property": "feature",
                        "operator": "eq",
                        "value": "high-traffic"
                    }
                ]
            }
        ]
    },
    "unavailableAssetIds": [
        {
            "bookedAssetId": "111fcdeb-51a2-43d1-9f12-345678901234",
            "unavailableAssetId": "222fcdeb-51a2-43d1-9f12-345678901234"
        }
    ]
}'
Response Response Example
200 - Successfully updated booking segmentation
{
    "_id": "456e7890-e89b-12d3-a456-426614174000",
    "name": "Q1 2024 Campaign",
    "code": "BOOK-2024-001",
    "isActive": true,
    "meta": {},
    "assetIds": [
        "987fcdeb-51a2-43d1-9f12-345678901234",
        "111fcdeb-51a2-43d1-9f12-345678901234"
    ],
    "startDate": "2024-01-01T00:00:00.000Z",
    "endDate": "2024-03-31T23:59:59.999Z",
    "status": "reserved",
    "campaignIds": [],
    "tradingPeriodIds": [
        "123e4567-e89b-12d3-a456-426614174000"
    ],
    "categoryFilters": {
        "123e4567-e89b-12d3-a456-426614174000": [
            "electronics",
            "fashion"
        ]
    },
    "unavailableAssetIds": [
        {
            "bookedAssetId": "111fcdeb-51a2-43d1-9f12-345678901234",
            "unavailableAssetId": "222fcdeb-51a2-43d1-9f12-345678901234"
        }
    ],
    "segmentationRuleId": "seg-rule-updated-123",
    "creator": {
        "_id": "user-creator-uuid",
        "firstName": "John",
        "lastName": "Doe",
        "email": "john.doe@example.com"
    },
    "owners": [
        {
            "_id": "user-owner-uuid-1",
            "firstName": "Jane",
            "lastName": "Smith",
            "email": "jane.smith@example.com"
        }
    ],
    "createdAt": "2024-01-01T10:00:00.000Z",
    "updatedAt": "2024-01-01T15:45:00.000Z",
    "updates": [
        {
            "_id": "update-uuid-2",
            "bookingId": "456e7890-e89b-12d3-a456-426614174000",
            "area": "segmentation",
            "assetsIdsToUse": [
                "987fcdeb-51a2-43d1-9f12-345678901234",
                "111fcdeb-51a2-43d1-9f12-345678901234"
            ],
            "seenBy": [],
            "createdAt": "2024-01-01T15:45:00.000Z"
        }
    ]
}
Modified at 2025-09-25 10:04:16
Previous
Update asset status for booking
Next
Refresh booking segmentation
Built with