Developer Hub
Request Demo
Request Demo
Support
  1. Entitlements
  • Getting Started
    • Introduction
  • API Reference
    • Admins
      • Bulk Admins Download API
    • Business Owners
      • Bulk Business Owners Download API
      • Bulk Business Owners Upload API
    • Configuration
      • Bulk Entity Finding Rules Download API
      • Bulk Custom Insights (Entity Rules) Download API
      • Bulk Filters Download API
      • Bulk Findings Download API
      • Get Branding Information
    • Employees
      • Bulk Employees Download API
      • Bulk Employees Upload API
    • Entitlements
      • Bulk Entitlements Download API
        POST
      • Bulk Entitlements Upload API
        POST
    • Entities
      • Bulk Entities Download API
      • Bulk Entities Upload API
      • Bulk Entities + Entity-Relations Zip Upload API
    • EntityInsights
      • Bulk Entity Insights Download API
    • EntityRelations
      • Bulk Entity Relations Download API
      • Bulk Entity Relations Upload API
    • EntityRBAC
      • Bulk Entity RBAC Download API
    • Integrations
      • Bulk Integrations Download API
    • Purposes
      • Bulk Purposes Download API
    • Relations
      • Bulk Relations Upload API
    • Requests
      • Bulk Requests Download API
    • Reviews
      • Bulk Reviews Download API
  • Relations
    • Bulk Employee Relations Upload API
      POST
    • Bulk Employee Relations Download API
      POST
  • Schemas
    • Schemas
      • AdminsDownloadURLRequest
      • BusinessOwnersDownloadURLRequest
      • EntitiesDownloadURLRequest
      • EntitiesUploadURLRequest
      • EntitlementDownloadURLRequest
      • EntitlementUploadURLRequest
      • EntityRelationsDownloadURLRequest
      • EntityRelationsUploadURLRequest
      • Error
      • FindingsDownloadURLRequest
      • UploadURLResponse
    • DownloadURLResponse
    • EmployeeRelationsDownloadURLRequest
    • ReviewDownloadURLRequest
    • RequestsDownloadURLRequest
    • EntitiesBulkUploadURLRequest
    • Logo
    • BrandingResponse
  1. Entitlements

Bulk Entitlements Download API

POST
https://balkanid.app/api/rest/v0/entitlements/download-url

BalkanID Entitlements Download CSV Format#

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

Sample CSV#

ProjectPrivilege NamePrivilege ValueEmailIdentity IDIdentity UsernameNameConnectionConnection TypeResourceResource TypeUser 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.
Identity 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”.
User IDID of the User, 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

Authorization
API Key
Add parameter in header
X-API-KEY-ID
Example:
X-API-KEY-ID: ********************
API Key
Add parameter in header
X-API-KEY-SECRET
Example:
X-API-KEY-SECRET: ********************
or
Header Params

Body Params application/jsonRequired

Example
{
    "integrationID": "string"
}

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 'https://balkanid.app/api/rest/v0/entitlements/download-url' \
--header 'X-Api-Key-ID;' \
--header 'X-Api-Key-Secret;' \
--header 'X-API-KEY-ID: <api-key>' \
--header 'X-API-KEY-SECRET: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
    "integrationID": "string"
}'

Responses

🟢200OK
application/json
download URL response
Bodyapplication/json

Example
{
    "url": "string",
    "pollingUrl": "string"
}
⚪defaultServer Error
Modified at 2026-11-06 13:38:07
Previous
Bulk Employees Upload API
Next
Bulk Entitlements Upload API
Built with