Hello @Khedkar, Vidisha,
I understand that you are implementing an API driven inbound application to provision 10,000 users daily using CSV as an input file.
Please note that the rate limit for the inbound provisioning API is 40 bulk upload requests per second. Each bulk request can contain a maximum of 50 user records, thereby supporting an upload rate of 2000 records per second.
So you have to break down the user records into small batches and then you can do bulk request user records.
Please refer to the below key features of API-driven inbound user provisioning.
Key features of API-driven inbound user provisioning
- Available as a provisioning app that exposes an asynchronous Microsoft Graph provisioning /bulkUpload API endpoint accessed using valid OAuth token.
- Tenant admins must grant API clients interacting with this provisioning app the Graph permission
SynchronizationData-User.Upload
. - The Graph API endpoint accepts valid bulk request payloads using SCIM schema constructs.
- With SCIM schema extensions, you can send any attribute in the bulk request payload.
- The rate limit for the inbound provisioning API is 40 bulk upload requests per second. Each bulk request can contain a maximum of 50 user records, thereby supporting an upload rate of 2000 records per second.
- Each API endpoint is associated with a specific provisioning app in Microsoft Entra ID. You can integrate multiple data sources by creating a provisioning app for each data source.
- Incoming bulk request payloads are processed in near real-time.
- Admins can check provisioning progress by viewing the provisioning logs.
- API clients can track progress by querying provisioning logs API.
Please refer to the below documents if you have any queries.
API-driven inbound provisioning concepts - Microsoft Entra ID | Microsoft Learn
Configure API-driven inbound provisioning app - Microsoft Entra ID | Microsoft Learn
I hope this above information provided is helpful. Please feel free to reach out if you have any further questions.
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".