Developer Hub
Request Demo
Request Demo
Support
  1. Campaigns
  • Getting Started
    • Introduction
  • API Reference
    • Admins
      • Bulk Admins Download API (Early Access)
    • Apps
      • Bulk Apps Download API (Early Access)
    • Business Owners
      • Bulk Business Owners Download API (Early Access)
      • Bulk Business Owners Upload API (Early Access)
    • Campaigns
      • Bulk Campaigns Download API (Early Access)
        POST
      • Bulk Campaigns Upload API (Early Access)
        POST
    • Configuration
      • Bulk Applied Labels Upload API (Early Access)
      • Bulk Entity Finding Rules Download API (Early Access)
      • Bulk Custom Insights (Entity Rules) Download API (Early Access)
      • Bulk Filters Download API (Early Access)
      • Bulk Filters Upload API (Early Access)
      • Bulk Findings Download API (Early Access)
      • Bulk Findings Upload API (Early Access)
      • Bulk Labels Download API (Early Access)
      • Bulk Labels Upload API (Early Access)
      • Bulk Privileged Download API (Early Access)
      • Bulk Privileged Upload API (Early Access)
      • Bulk RBAC Download API (Early Access)
      • Bulk RBAC Upload API (Early Access)
      • Bulk RBAC2 Download API (Early Access)
      • Bulk RBAC2 Upload API (Early Access)
      • Bulk Rules Download API (Early Access)
      • Bulk Rules Upload API (Early Access)
    • Employees
      • Bulk Employees Download API (Early Access)
      • Bulk Employees Upload API (Early Access)
    • Entitlements
      • Bulk Entitlements Download API (Early Access)
      • Bulk Entitlements Upload API (Early Access)
    • Entities
      • Bulk Entities Download API (Early Access)
      • Bulk Entities Upload API (Early Access)
    • EntityInsights
      • Bulk Entity Insights Download API (Early Access)
      • Bulk Entity Insights Upload API (Early Access)
    • EntityRelations
      • Bulk Entity Relations Download API (Early Access)
      • Bulk Entity Relations Upload API (Early Access)
    • EntityRBAC
      • Bulk Entity RBAC Download API
      • Bulk Entity RBAC Upload API
    • Integrations
      • Bulk Integrations Download API (Early Access)
      • Bulk Integrations Upload API (Early Access)
    • Purposes
      • Bulk Purposes Download API (Early Access)
      • Bulk Purposes Upload API (Early Access)
    • Relations
      • Bulk Relations Download API (Early Access)
      • Bulk Relations Upload API (Early Access)
    • Requests
      • Bulk Requests Download API (Early Access)
      • Bulk Requests Upload API (Early Access)
    • Reviews
      • Bulk Reviews Download API (Early Access)
      • Bulk Reviews Upload API (Early Access)
    • Playbooks
      • Bulk Playbook Templates Download API (Early Access)
      • Bulk Playbook Templates API (Early Access)
    • Webhooks
      • Bulk Webhook Templates Download API (Early Access)
      • Bulk Webhook Templates API (Early Access)
  • Playbooks
    • Overview
  1. Campaigns

Bulk Campaigns Upload API (Early Access)

POST
https://app.balkan.id/api/rest/v0/campaigns/upload-url

BalkanID Campaigns Upload CSV Format#

In this section, we will explain the BalkanID Campaigns CSV format.
Sample CSV
Name*DescriptionStart Date*End Date*Is Published*Updated At*Updated By*StatusEscalationEscalation DateReviewer CountReviewer PrecedenceRecurrence
CSV campaign 1This is campaign 12023-12-03T09:00:00-05:002023-12-04T18:00:00-05:00FALSE2023-12-03T09:00:00-05:00andy@example.com
CSV campaign 2This is campaign 22023-12-03T09:00:00+05:302023-12-04T18:00:00+05:30TRUE2023-12-03T09:00:00+05:30andy@example.comdeleted
CSV campaign 3This is campaign 32023-12-03T09:00:00+05:302023-12-04T18:00:00+05:30TRUE2023-12-03T09:00:00+05:30andy@example.com
In above CSV,
Row 1 is a new campaign with name "CSV campaign 1" and description "This is campaign 1" and is published as false
Row 2 is a pre-existing campaign with name "CSV campaign 2" and has status deleted, which means it will be deleted from the system
Row 3 is a pre-existing campaign with name "CSV campaign 3" and has status empty, which means it will be updated with the new values
NOTE:
Columns with * are required always.
You cannot convert a published campaign to a draft campaign. If you want to do so, you will have to create a new campaign with the same name and description and set the isPublished flag to false.
You can only update the Description, Start Date, and End Date fields of a campaign.
2 Campaigns cannot have the same name.
Column Definitions#
Column nameColumn Description
NameRequired - Name of the campaign
DescriptionOptional - Description of the campaign
Start DateRequired - Date and time of starting the campaign with timezone
End DateRequired - Date and time of ending the campaign with timezone
Is PublishedRequired - Whether the campaign is published or not
Updated AtRequired - Date and time of updating the campaign with timezone
Updated ByRequired - Email of the user who updated the campaign
StatusOptional - Status of the campaign. Currently accepts "deleted" and "aborted". if the status is deleted, it deletes the respective campaign
RecurrenceOptional - The recurrence rule for the campaign
EscalationOptional - The escalation time for the campaign. Accepted Values are 24h, 48h, 72h, 168h
Escalation DateOptional - The escalation date from which the escalation time is calculated
Reviewer PrecedenceOptional - In case of override, the default reviewer order. Accepted Values are manager, primaryowner, riskmanager. The value format is {manager, riskmanager, primaryowner}, default order can be changed
Reviewer CountOptional - In case of override, Reviewers are assigned in the order set up in reviewer precedence and are expected to approve in sequence. Note: Take a min value of 1 and max of 3

Upload the CSV file via the pre-signed URL#

After retrieving the pre-signed URL in the previous step, all that remains is to upload the CSV in BalkanID Canonical CSV format to the pre-signed URL.
Below is a summary of the request using curl:
The request URL is the pre-signed URL from previous step.
The request method is PUT.
Required request body is the CSV in BalkanID Campaigns CSV format.

Request

Header Params

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://app.balkan.id/api/rest/v0/campaigns/upload-url' \
--header 'X-Api-Key-ID;' \
--header 'X-Api-Key-Secret;' \
--header 'Content-Type: application/json'

Responses

🟢200OK
application/json
upload url response
Body

Example
{
    "url": "string"
}
🔴500Server Error
Modified at 2025-04-10 03:44:22
Previous
Bulk Campaigns Download API (Early Access)
Next
Bulk Applied Labels Upload API (Early Access)
Built with