# Members

## GET /api/v1/members

> Fetch All Team Members

```json
{"openapi":"3.0.0","info":{"title":"GoodAccess Customer","version":"1.0.0"},"tags":[{"name":"Team Members"}],"servers":[{"url":"https://integration.goodaccess.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"paths":{"/api/v1/members":{"get":{"tags":["Team Members"],"summary":"Fetch All Team Members","responses":{"200":{"description":"OK","headers":{"Content-Type":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## GET /api/v1/member/{teamMemberId}

> Fetch Team Member by its ID

```json
{"openapi":"3.0.0","info":{"title":"GoodAccess Customer","version":"1.0.0"},"tags":[{"name":"Team Members"}],"servers":[{"url":"https://integration.goodaccess.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"paths":{"/api/v1/member/{teamMemberId}":{"get":{"tags":["Team Members"],"summary":"Fetch Team Member by its ID","parameters":[{"in":"path","name":"teamMemberId","schema":{"type":"string"},"required":true,"description":"ID of team member"}],"responses":{"200":{"description":"OK","headers":{"Content-Type":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","headers":{"Content-Type":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## POST /api/v1/member/{teamMemberId}/disconnect

> Disconnect Team Member by its ID

```json
{"openapi":"3.0.0","info":{"title":"GoodAccess Customer","version":"1.0.0"},"tags":[{"name":"Team Members"}],"servers":[{"url":"https://integration.goodaccess.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"paths":{"/api/v1/member/{teamMemberId}/disconnect":{"post":{"tags":["Team Members"],"summary":"Disconnect Team Member by its ID","parameters":[{"in":"path","name":"teamMemberId","schema":{"type":"string"},"required":true,"description":"ID of team member"}],"responses":{"200":{"description":"OK","headers":{"Content-Type":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","headers":{"Content-Type":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

{% hint style="info" %}
**💡 Implementing Step-Up Authentication**

You can use the **Disconnect** endpoint to enforce **Step-Up Authentication**. By terminating an active session, you trigger a mandatory re-authentication challenge upon the next reconnection attempt.

**Note**: This requires specific security policies to be enabled in your Control Panel. For setup instructions and common use cases, please refer to our [MFA Configuration Guide](/configuration-guides/features/mfa.md).
{% endhint %}

## POST /api/v1/member

> Create Team Member

```json
{"openapi":"3.0.0","info":{"title":"GoodAccess Customer","version":"1.0.0"},"tags":[{"name":"Team Members"}],"servers":[{"url":"https://integration.goodaccess.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"paths":{"/api/v1/member":{"post":{"tags":["Team Members"],"summary":"Create Team Member","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"OK","headers":{"Content-Type":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## PUT /api/v1/member/{teamMemberId}

> Update Team Member by its ID

```json
{"openapi":"3.0.0","info":{"title":"GoodAccess Customer","version":"1.0.0"},"tags":[{"name":"Team Members"}],"servers":[{"url":"https://integration.goodaccess.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"paths":{"/api/v1/member/{teamMemberId}":{"put":{"tags":["Team Members"],"summary":"Update Team Member by its ID","parameters":[{"in":"path","name":"teamMemberId","schema":{"type":"string"},"required":true,"description":"ID of team member"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"New name for the member (only for members without an account)","maxLength":45},"password":{"type":"string","description":"New password for the member (only for members without an account)","minLength":8,"maxLength":45},"is_user_blocked":{"type":"boolean","description":"Block or unblock the member"}}}}}},"responses":{"200":{"description":"OK","headers":{"Content-Type":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","headers":{"Content-Type":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## DELETE /api/v1/member/{teamMemberId}

> Delete Team Member by its ID

```json
{"openapi":"3.0.0","info":{"title":"GoodAccess Customer","version":"1.0.0"},"tags":[{"name":"Team Members"}],"servers":[{"url":"https://integration.goodaccess.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"paths":{"/api/v1/member/{teamMemberId}":{"delete":{"tags":["Team Members"],"summary":"Delete Team Member by its ID","parameters":[{"in":"path","name":"teamMemberId","schema":{"type":"string"},"required":true,"description":"ID of team member"}],"responses":{"200":{"description":"OK","headers":{"Content-Type":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","headers":{"Content-Type":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## [Relations](/configuration-guides/features/api-integration/api-reference/relations.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.goodaccess.com/configuration-guides/features/api-integration/api-reference/members.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
