Cursor's Admin API exposes two independent removal signals: the isRemoved boolean and a role value of "removed". They are not always consistent — a member can carry role "removed" while isRemoved is still false, a known gap documented on the Cursor community forum. Previously Active was derived from isRemoved alone, so a member with role "removed" but isRemoved=false was incorrectly reported as active. Now either signal is sufficient to mark the account inactive. Add a cassette entry and test case covering the inconsistent state (role "removed", isRemoved false) to prevent regression. Signed-off-by: Bryan Frimin <bryan@probo.com>
33 lines
1.1 KiB
YAML
33 lines
1.1 KiB
YAML
---
|
|
version: 2
|
|
interactions:
|
|
- id: 0
|
|
request:
|
|
proto: HTTP/1.1
|
|
proto_major: 1
|
|
proto_minor: 1
|
|
content_length: 0
|
|
host: api.cursor.com
|
|
headers:
|
|
Accept:
|
|
- application/json
|
|
url: https://api.cursor.com/teams/members
|
|
method: GET
|
|
response:
|
|
proto: HTTP/2.0
|
|
proto_major: 2
|
|
proto_minor: 0
|
|
content_length: -1
|
|
uncompressed: true
|
|
body: '{"teamMembers":[{"id":"10000001","name":"Jane Doe","email":"jane@example.com","role":"member","isRemoved":false},{"id":"10000002","name":"Alex Martin","email":"alex@example.com","role":"owner","isRemoved":false},{"id":"10000003","name":"John Smith","email":"john@example.com","role":"removed","isRemoved":true},{"id":"10000004","name":"Mary Jones","email":"mary@example.com","role":"removed","isRemoved":false}]}'
|
|
headers:
|
|
Content-Type:
|
|
- application/json
|
|
Date:
|
|
- Thu, 28 May 2026 12:55:02 GMT
|
|
Server:
|
|
- cloudflare
|
|
status: 200 OK
|
|
code: 200
|
|
duration: 142.5ms
|