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

Bulk Entitlements Download API (Early Access)

POST
https://app.balkan.id/api/rest/v0/entitlements/download-url
Entitlements

BalkanID Entitlements Download CSV Format#

In this section, we will explain the BalkanID Entitlements CSV format.

Sample CSV#

ProjectPrivilege NamePrivilege ValueEmailIdentity IDUsernameNameConnectionConnection TypeResourceResource TypeEmployee IDLabelsIdentity TypeConnection ProviderConnection Provider TypeMetadata
balkanidpulltrueayden@example.com01234567koch71Ayden Kochreadrepository-roleopsrepository
balkanidpushfalseayden@example.com01234567koch71Ayden Kochreadrepository-roleopsrepository
balkanidadminfalseayden@example.com01234567koch71Ayden Kochreadrepository-roleopsrepository
balkanidpulltrueayden@example.com01234567koch71Ayden Kochadminrepository-roleopsrepository
balkanidpushtrueayden@example.com01234567koch71Ayden Kochadminrepository-roleopsrepository
balkanidadmintrueayden@example.com01234567koch71Ayden Kochadminrepository-roleopsrepository[{"source":"brn:bid:balkanid:::02GFREWAWDFR3RG264H6QWERT5:app:compute/privileged","version":"20220726","value":{"text":"Privileged"},"key":"entitlement/privileged"}]
NOTE: Columns with * are required always.
NOTE: In this sample we are using Github example for familiarity.
Column Definitions#
Column NameColumn Description
ProjectThis is a “project”-level of organization in your application. This can be a Github organization, Slack organization, AWS account number, Azure directory, Google domain, Okta Site URL, etc. In the sample CSV, this is a Github organization “balkanid”. While optional, it is recommended that you provide Project value. If not provided, the Project value is set to “default”.
Entitlement BRNThe Unique identifier for the entitlement.
Privilege NameThe name of the action/permission/entitlement. These are typically actions that can be taken on a resource. In the sample CSV, these are “pull”, “push”, and “admin”, which are actions associated with a repository.
Privilege ValueIn many cases, these will be “true”. In some cases, it is useful to model an explicit deny by including entitlements where Privilege Value is “false”. In the sample CSV, we see both “true” and “false” privilege values.
EmailThe email associated with the identity to which this entitlement belongs to, if available. In the sample CSV, this is “ayden@example.com”.
Identity IDSome applications have an ID that is separate from email or username. This is the place to include that ID.
UsernameThe username associated with the identity to which this entitlement belongs to. In the sample CSV, this is “koch71”.
NameThe name of the identity to which this entitlement belongs to, if available. This can be the name of a person, a service account, or other names.
ConnectionConnection describes how the identity (identified by the Username) gains the privilege (identified by Privilege Name and Privilege Value) to the resource (identified by Resource and Resource Type). In the sample CSV, the connection is the repository role granted to the identity: “read” and “admin”.
Connection TypeConnection Type describes the type of the Connection. Typical connection types are “role”, “policy”, “group”, but can include others depending on your application authorization structure. In the sample CSV, this is “repository-role”.
ResourceThe resource this entitlement references. In the sample CSV, the resource is the “ops” repository.
Resource TypeA useful resource type that groups resources in your application. This can be a Github repository/organization/application, AWS service, a Slack channel, etc. In the sample CSV, the resource type is “repository”.
Employee IDID of the Employee, if mapped
LabelsInsights such as privileged, sod, outlier, over entitled.
Identity TypeType of the identity, such as user, service account, group, etc.
Connection ProviderThe provider of the connection, such as admins etc.
Connection Provider TypeThe type of the connection provider, such as group, etc.
MetadataAdditional metadata about the entitlement.
AppThe application that the entitlement is for.
Identity TypeThe type of the identity.

Download the CSV file via the pre-signed URL#

After retrieving the pre-signed URL in the previous step, all that remains is to download the CSV in BalkanID Entitlements CSV format from the pre-signed URL.
To use the polling URL, first send an HTTP request with the method HEAD to the pollingUrl.
If the response status code is 404, the file is not ready, and you should retry this polling request after a delay.
If the response status code is 200, the file is ready, and you may proceed to download the CSV from the received url.

Request

Header Params
X-Api-Key-ID
string 
optional
X-Api-Key-Secret
string 
optional
Content-Type
string 
optional
Default:
application/json
Body Params application/json
integrationID
string 
required
The integration ID to which the entitlements belong to.
Example
{
    "integrationID": "string"
}

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/entitlements/download-url' \
--header 'X-Api-Key-ID;' \
--header 'X-Api-Key-Secret;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "integrationID": "string"
}'

Responses

🟢200OK
application/json
download URL response
Body
Download URL endpoint response
pollingUrl
string 
required
The value is the polling URL which you will use to poll to find if the data is ready for download.
url
string 
required
The value is the download URL from which you will download your CSV file.
Example
{
    "pollingUrl": "string",
    "url": "string"
}
🔴500Server Error
Previous
Bulk Employees Upload API (Early Access)
Next
Bulk Entitlements Upload API (Early Access)
Built with