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

Bulk Requests Upload API (Early Access)

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

BalkanID Access Requests Upload CSV Format#

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

Sample CSV 1#

This example contains example of both updating a pre-existing review and creating a new review.
RequesterWork EmailApp IDIdentity IDMetadataDurationType
alex@example.comalex@example.comaws/024xg1{"reference_employee":"james@example.com"}15memployee_request
The above creates a Person Access Request

Sample CSV 2#

RequesterWork EmailApp IDIdentity IDMetadataType
alex@example.comalex@example.comaws/024x{"description":null,"entity_type":"identity","identity_type":"employee","integration":"aws/024x","name":"AWSServiceRoleForApplicationAutoScaling_KafkaCluster","provisioning_option":"app","reason":"Need to perform current job duties","scim_endpoint":","scim_payload":{"grants":[{"source_name":","type":"policy"},{"source_name":","type":"group"}],"revokes":[{"source_name":","type":"policy"},{"source_name":","type":"group"}]},"source_type":"user"}update_entity

Sample CSV 3#

RequesterRequest TypeEmployeeWork EmailDepartmentTitleManagerManager Work EmailApp NameApp IDConnectionConnection TypeProjectDurationSourceSource IDIdentity IDIdentity EmailUsernameReasonType
james@example.comgrantJames Qjames@example.comEngineeringSoftware EngineerJason Pjason@balkan.idawsaws/01HETVweb-teamgroupexamplepermanentjiraEN-123456Need to perform X taskemployee_request
mary@example.comrevokeMary Kmary@example.comEngineeringSoftware EngineerJason Pjason@balkan.idawsaws/01HETVcoregroupexamplepermanentjiraEN-123457employee_request

Sample CSV 4#

RequesterWork EmailRequest TypeApp IDProjectReference EmployeeMetadataConnectionConnection TypeDurationSourceSource IDType
elaine@example.comgithub/01HEVbalkanidpatrick@example.com24hbulk-apic2314sd513employee_request
jacob@example.comjacob@example.comgithub/01HEVprojectjason@example.com720hbulk-apic23454fd521employee_request
jacob@example.comjacob@example.comgithub/01HEVproject{"reference_title":"Backend Engineer", "reference_department": "Engineering"}bulk-apic23454fd781employee_request
jacob@example.comjacob@example.comrevokegithub/01HEVprojectweb-teamgroup720hbulk-apic23454fd621employee_request

Sample CSV 5#

This example contains example of deletion of a pre-existing review using Request ID
Request IDRequesterWork EmailApp IDIdentity IDMetadataDurationTypeStatus
0234xsd3alex@example.comalex@example.comaws/024xg1{"reference_employee":"james@example.com"}15memployee_requestdeleted
NOTE: In this sample we are using Github just as example.
You either need Reference Employee, or Metadata or a combination of Connection and Connection Type
Column Definitions#
FieldExampleComment
request ID012242xoptional, ID of the Request
requestermike@example.testrequired, Email of the request originator. Must be a user of the system
request typegrant / revokeSupports provisioning & de-provisioning
employeeJohn DoeName of the employee the access is requested for, if other than requester
work emailjohn@example.testrequired, Email of the employee the access is requested for, if other than requester
departmentEngineeringDepartment where the employee the access is requested for works
titleSoftware Engineer IIJob title of the employee the access is requested for
managerMike BloomName of the manager
manager_emailmike@example.testEmail of the manager
appgithubApp the access is requested for
app idgithub/01HEVrequired, App ID the access is requested for
connectionadminsName of the connection the access is requested for
connection_typegroupType of connection the access is requested for
projectbalkanidProject / environment the access is requested for
resourcedeploymentName of the resource the access is requested for
resource_typerepositoryType of the resource the access is requested for
privilege_namepull, s3:GetObject, accessAlphanumeric name of the privilege / also referred to as fine-grained permissions
privilege_valuetrue/false, trueAlphanumeric with the extracted permission. Recommended: true / false.
usernamembloom123Preferred username
reference employeeSoftware Engineer II OR chris@example.testReference entitlements: - needs to be employee email
duration60m, permanentHow long is the access needed (in seconds, minutes, hours, etc). Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". If one needs for 1 hour, then it will 1h or 60m.
sourceJiraSource system
source_idD-12345Source system ID
Identity IDUnique ID of the identity in the application
UsernameUsername of Identity
Identity EmailEmail of the identity
ReasonReason for the request
Typerequired, type of the request, currently only supports "employee_request", "purpose_request", "create_entity", "update_entity", "delete_entity"
MetadataMetadata for the request, required for all types of requests except for persona access request
StatusOptional - Status of the request. Currently only accepts 'delete', to delete the respective request
NOTE: Any other extra columns will be stored as metadata in the request object.

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/requests/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 Requests Download API (Early Access)
Next
Bulk Reviews Download API (Early Access)
Built with