# get\_\_organization\_users\_{userId}

`GET /organization/users/{userId}`

*Get Organization User*

Retrieve details for a specific user in the authenticated user's organization. This endpoint requires user management permissions (WORKSPACES role or higher) and both users must be in the same organization.

#### Path Parameters <a href="#get__organization_users__userid-pathparameters" id="get__organization_users__userid-pathparameters"></a>

| Name     | Type   | Required | Description                               |
| -------- | ------ | -------- | ----------------------------------------- |
| » userId | string | true     | Unique identifier of the user to retrieve |

#### TypeScript Client Library

```typescript
// Using the Flashback TypeScript client
import { FlashbackClient } from '@flashback/client';

const client = new FlashbackClient({
  accessToken: 'your-access-token'
});

// Get a specific organization user
try {
  const result = await client.organization.users.get('user-id');
  console.log('User details:', result);
} catch (error) {
  console.error('Failed to retrieve user:', error);
}
```

#### Code Samples

{% tabs %}
{% tab title="Shell" %}

```shell
# You can also use wget
curl -X GET https://backend.flashback.tech/organization/users/550e8400-e29b-41d4-a716-446655440000 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'
```

{% endtab %}

{% tab title="HTTP" %}

```http
GET https://backend.flashback.tech/organization/users/550e8400-e29b-41d4-a716-446655440000 HTTP/1.1
Host: localhost:3000
Accept: application/json
Authorization: Bearer {access-token}
```

{% endtab %}

{% tab title="JavaScript" %}

```javascript
const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://backend.flashback.tech/organization/users/550e8400-e29b-41d4-a716-446655440000',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://backend.flashback.tech/organization/users/550e8400-e29b-41d4-a716-446655440000',
  params: {
  }, headers: headers

p JSON.parse(result)
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://backend.flashback.tech/organization/users/550e8400-e29b-41d4-a716-446655440000', headers = headers)

print(r.json())
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

try {
    $response = $client->request('GET','https://backend.flashback.tech/organization/users/550e8400-e29b-41d4-a716-446655440000', array(
        'headers' => $headers,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

```

{% endtab %}

{% tab title="Java" %}

```java
URL obj = new URL("https://backend.flashback.tech/organization/users/550e8400-e29b-41d4-a716-446655440000");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("Accept", "application/json");
con.setRequestProperty("Authorization", "Bearer {access-token}");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
```

{% endtab %}

{% tab title="Go" %}

```go
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{})
    req, err := http.NewRequest("GET", "https://backend.flashback.tech/organization/users/550e8400-e29b-41d4-a716-446655440000", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
```

{% endtab %}
{% endtabs %}

> Example responses

> 200 Response

```json
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "email": "john.doe@example.com",
  "name": "John",
  "lastName": "Doe",
  "orgId": "123e4567-e89b-12d3-a456-426614174000",
  "orgRole": 2,
  "validated": true,
  "deletedAt": null,
  "orgRoleDescription": "WORKSPACES",
  "orgRoles": [0, 1, 2]
}
```

> 403 Response

```json
{
  "success": false,
  "message": "Insufficient permissions to view users"
}
```

> 404 Response

```json
{
  "success": false,
  "message": "User not found"
}
```

> 500 Response

```json
{
  "success": false,
  "message": "Internal server error"
}
```

#### Responses <a href="#get__organization_users__userid-responses" id="get__organization_users__userid-responses"></a>

| Status | Meaning                                                                    | Description                                                | Schema |
| ------ | -------------------------------------------------------------------------- | ---------------------------------------------------------- | ------ |
| 200    | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)                    | User retrieved successfully                                | Inline |
| 403    | [Forbidden](https://tools.ietf.org/html/rfc7235#section-3.3)               | Insufficient permissions or users not in same organization | Inline |
| 404    | [Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)             | User not found                                             | Inline |
| 500    | [Internal Server Error](https://tools.ietf.org/html/rfc7231#section-6.6.1) | Internal server error                                      | Inline |

#### Response Schema <a href="#get__organization_users__userid-responseschema" id="get__organization_users__userid-responseschema"></a>

Status Code **200**

| Name                 | Type               | Required | Restrictions | Description                           |
| -------------------- | ------------------ | -------- | ------------ | ------------------------------------- |
| » id                 | string             | false    | none         | Unique identifier for the user        |
| » email              | string             | false    | none         | User's email address                  |
| » name               | string             | false    | none         | User's first name                     |
| » lastName           | string             | false    | none         | User's last name                      |
| » orgId              | string             | false    | none         | Organization identifier               |
| » orgRole            | integer            | false    | none         | User's organization role (0x00-0xff)  |
| » validated          | boolean            | false    | none         | Whether the user's email is validated |
| » deletedAt          | string (date-time) | false    | none         | Deletion timestamp (null if active)   |
| » orgRoleDescription | string             | false    | none         | Human-readable role description       |
| » orgRoles           | \[integer]         | false    | none         | Array of available roles for the user |

Status Code **403**

| Name      | Type    | Required | Restrictions | Description                                   |
| --------- | ------- | -------- | ------------ | --------------------------------------------- |
| » success | boolean | false    | none         | Indicates if the request was successful       |
| » message | string  | false    | none         | Error message describing the permission issue |

Status Code **404**

| Name      | Type    | Required | Restrictions | Description                             |
| --------- | ------- | -------- | ------------ | --------------------------------------- |
| » success | boolean | false    | none         | Indicates if the request was successful |
| » message | string  | false    | none         | Error message describing the issue      |

Status Code **500**

| Name      | Type    | Required | Restrictions | Description                               |
| --------- | ------- | -------- | ------------ | ----------------------------------------- |
| » success | boolean | false    | none         | Indicates if the request was successful   |
| » message | string  | false    | none         | Error message describing the server issue |

**Enumerated Values**

| Parameter | Value | Description                                         |
| --------- | ----- | --------------------------------------------------- |
| » orgRole | 0x00  | USER - Default role with basic access               |
| » orgRole | 0x01  | BILLING - Can manage billing and subscriptions      |
| » orgRole | 0x02  | WORKSPACES - Can manage workspaces and team members |
| » orgRole | 0xfe  | ADMINISTRATOR - Administrative access               |
| » orgRole | 0xff  | OWNER - Full organization access                    |

#### Security

* **BearerAuth**: Bearer token authentication required
* **Permissions**: Requires WORKSPACES role or higher to access user management functions
* **Organization Access**: Both users must be in the same organization

#### Notes

* This endpoint returns the user object directly on success (not wrapped in a response object)
* Error responses follow the standard error format with `success: false` and a `message` field
* Users can only view other users within their own organization
