Developer Hub
Request Demo
Request Demo
Support
  1. Integrations
  • 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)
      • Bulk Campaigns Upload API (Early Access)
    • 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)
        POST
      • Bulk Integrations Upload API (Early Access)
        POST
    • 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. Integrations

Bulk Integrations Upload API (Early Access)

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

BalkanID Integrations Upload CSV Format#

IDNameDescriptionStatusSecretsSyncReviewer PrecedenceProvisioning OptionsExtraction OptionsReviewer CountEntity Request Values TemplatesEntity Request Values Defaults
Amazon Web Servicesactive[{"name": "Client ID", "key": "client_id", "type": "public", "value": "}, {"name": "Client Secret", "key": "client_secret", "type": "secret", "value": "}, {"name": "Enterprise ID", "key": "enterprise_id", "type": "public", "value": "}]falsemanager, primaryowner, riskmanager{}{}1
1Googleactive[{"name": "Client ID", "key": "client_id", "type": "public", "value": "}, {"name": "Client Secret", "key": "client_secret", "type": "secret", "value": "}, {"name": "Enterprise ID", "key": "enterprise_id", "type": "public", "value": "}]truemanager, primaryowner, riskmanager{"sso": true, "app": false, "ticket": false, "scim": false, "webhook": false, "playbook": false}{"scim": false, "upload": true, "direct_configuration": false}1
In the above example,
The first row is a new integration to be created. The ID column is empty.
The second row is an existing integration to be updated. The ID column is the ID of the integration to be updated. The Description column is being updated.
The third row is an existing integration to be updated. The ID column is the ID of the integration to be updated. The status is being updated to inactive.
The fourth row is an existing integration to be updated. The ID column is the ID of the integration to be updated. The secrets of the integration are being updated.
NOTE: Columns with * are required always.
Column Definitions#
Column NameColumn Description
IdOptional - A unique identifier for the integration. This is the internal balkan id of the integration
NameRequired - The name of the integration. In the sample CSV, this is: Amazon Web Services, Google, etc.
DescriptionOptional - The description of the integration. In the sample CSV, this is: Cloud computing platform, etc.
StatusOptional - The status of the integration. In the sample CSV, this is: active, inactive
SecretsOptional - The secrets of the integration. In the sample CSV, this is: [{"name":"Domain","key":"domain","value":"balkan.id"}]
SyncOptional - Whether to sync the integration. If true, an integration sync is triggered.
Provisioning OptionsOptional - The provisioning options of the integration. It is of the form: {"sso": true, "app": false, "ticket": false, "scim": false, "webhook": false, "playbook": false} Only one of the above can be true, the rest have to be false.
Extraction OptionsOptional - The method used to extract data for the integration of the form: {"scim": false, "upload": false, "direct_configuration": true} Only one of the above can be true. If direct configuration is selected, the integration config is used for syncs
Reviewer PrecedenceOptional - The precedence of the reviewers for the integration.
Reviewer CountOptional - The number of reviewers for the integration.
Entity Request Values TemplatesOptional -
Entity Request Values DefaultsOptional -

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 Employees 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/integrations/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 Integrations Download API (Early Access)
Next
Bulk Purposes Download API (Early Access)
Built with