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
Campaigns

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
X-Api-Key-ID
string 
optional
X-Api-Key-Secret
string 
optional
Content-Type
string 
optional
Default:
application/json

Request 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
Upload URL endpoint response
url
string 
required
The value is the pre-signed URL to which to upload your CSV file.
Example
{
    "url": "string"
}
🔴500Server Error
Previous
Bulk Campaigns Download API (Early Access)
Next
Bulk Applied Labels Upload API (Early Access)
Built with