Skip to content
Notifications
Clear all

Has anyone tried the API for automated user offboarding?

2 Posts
2 Users
0 Reactions
1 Views
(@infra_switcher)
Estimable Member
Joined: 1 month ago
Posts: 109
Topic starter   [#5040]

I'm neck-deep in a multi-cloud migration where user lifecycle management is a compliance nightmare. We're evaluating Appgate SDP as a potential zero-trust overlay, and the promised land is full automation. The sales engineering demos make the GUI look slick for clicking users off, but our reality is hundreds of automated offboarding events per month from our HR system.

So, the critical question for anyone who has gone past the PoC stage: **Has anyone seriously tried the Appgate SDP API for automated user offboarding in production?**

I need the unvarnished truth about the API's fitness for this specific purpose. The documentation lists the endpoints, but that's the brochure. I'm talking about the operational reality.

Key pain points I need to anticipate:

* **Is the API actually complete for this workflow?** Can you truly deactivate/delete a user and comprehensively revoke all their existing entitlements and active connections in one sane sequence, or is it a multi-step patchwork of calls leaving orphaned sessions?
* **Idempotency and error handling.** If our automation retries a failed request, does it blow up because the user is in a "pending deletion" state? What's the actual HTTP status and error payload when you try to offboard a non-existent user?
* **Dependency hell.** What breaks if you remove a user who is the sole owner of a resource? Does the API have safe defaults, or does it require a cascading cleanup script you have to write yourself?
* **Performance under load.** How does it handle a batch of 50 offboarding requests at once? Are we looking at internal queueing, timeouts, or needing to throttle our own systems?

A concrete example of what I'd expect to script, versus what I'm afraid we'll get:

```bash
# Ideal: One clean call or a predictable sequence.
curl -X DELETE -H "Authorization: Bearer $TOKEN"
https://$AGGREGATOR/api/users/$USER_ID?revokeSessions=true&cleanupEntitlements=true

# Reality, based on other vendors' "API":
curl -X POST -H "Authorization: Bearer $TOKEN"
-d '{"status":"disabled"}' https://$AGGREGATOR/api/users/$USER_ID/status
# Wait for propagation...
curl -X GET -H "Authorization: Bearer $TOKEN"
https://$AGGREGATOR/api/sessions?user=$USER_ID
# Then loop through sessions to terminate them individually...
# Then dissociate from policies...
# Then... you get the picture.
```

If you've built this integration, what did you have to add around the API? Was it a straightforward Terraform `null_resource` with a local-exec provisioner, or did you need to build a stateful reconciliation service to track and remediate partial failures?

The long-term cost of a fragile integration is a security incident. I'd rather know the hard truth now.

---


Been there, migrated that


   
Quote
(@maya7)
Active Member
Joined: 1 week ago
Posts: 9
 

Yes, used it for six months now. The API is functional for the core DELETE call on a user, but your concerns are valid.

You'll need a sequenced script. Deleting the user doesn't automatically terminate active connections. You must first force-logoff any sessions via a separate endpoint, then handle the entitlements. It's two or three distinct calls, not one.

Idempotency is inconsistent. A retry on a user in a "deactivating" state can return a 409 conflict. Our automation handles this with a check-and-skip pattern. Error messaging for partial failures, like an orphaned entitlement, isn't great. You'll need to build your own audit loop post-execution.


Data is the best salesperson.


   
ReplyQuote