Remove user over API

Mikhail November 30, 2020

When I try to delete a user through the API, I get an error like:
Please remove it from schedules: [My Test Schedule]'

how can I delete a user from the schedule through the API?

p. s. I am trying to automate the issuance of access, the user may have many schedules

Earlier, he also wrote that you need to remove a user from the team, but it was not difficult here, I easily found a way in the documentation https://docs.opsgenie.com/docs/team-member-api#remove-team-member

2 answers

1 accepted

2 votes
Answer accepted
Nick H
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
December 1, 2020

Hi @Mikhail ,

You can find the user's schedules by first running a GET to list all users, and grab the user's ID that needs to be removed from any schedules: https://docs.opsgenie.com/docs/user-api#list-user

sched API comm 5.jpg

 

Then list the user's schedules using this API call: https://docs.opsgenie.com/docs/user-api#list-user-schedules

sched API comm 1.jpg

 

From here, you'd have to run a GET on the schedules to show what rotation(s) the user is a participant in: https://docs.opsgenie.com/docs/schedule-api#get-schedule

sched API comm 2.jpg

 

Following that - run a GET on that schedule's rotation to grab the body of the request: https://docs.opsgenie.com/docs/schedule-rotation-api#get-schedule-rotation

sched API comm 3.jpg

 

And finally, run a PATCH using the body from the previous request to update the rotation / schedule - and remove the user as a participant: https://docs.opsgenie.com/docs/schedule-rotation-api#update-schedule-rotation-partial

sched API comm 4.jpg

 

NOTE - when a user is removed from a rotation, that rotation will be rebuilt with the remaining users from the Stars On date set on the rotation. This could adjust who is currently on-call in a schedule. So in the PATCH or a following one, you may also need to update the rotation's Starts On date to reflect who should be on-call.

Hope this helps! Let us know if you have any questions or issues.

-Nick

Amit Kumar
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 1, 2020

While Nick's answer is technically correct, I would suggest to first by first starting to remove the user from all teams.

For some reason, when a user is a member of a team, it also says they are a member of the schedule and escalation policy of that team as well, even if they aren't physically in a rotation or escalation policy. 

The endpoints needed for this are:
https://docs.opsgenie.com/docs/user-api#list-user-teams
https://docs.opsgenie.com/docs/team-member-api#remove-team-member

After removing the Team membership, then I would proceed as Nick suggested.

Mikhail December 3, 2020

.


Mikhail December 3, 2020

How to add 1 seat for OpsGenie over API?
Now I adding here https://app.opsgenie.com/settings/billing/subscription over web, but I need over API

0 votes
Jason Barry May 18, 2021

Does anyone already have this logic built out? I would start coding for this, but it would save me a lot of time if there is something out there already.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events