> ## Documentation Index
> Fetch the complete documentation index at: https://docs.journeybee.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Partner Users

> Retrieve all users from partner companies associated with a specific partnership

## Authentication

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://app.journeybee.io/api/v1/partnerships/{partnershipId}/users" \
    -H "Authorization: Bearer your-api-key-uuid"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://app.journeybee.io/api/v1/partnerships/{partnershipId}/users', {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer your-api-key-uuid'
    }
  });
  ```
</CodeGroup>

## Path Parameters

<ParamField path="partnershipId" type="number" required>
  The unique identifier of the partnership whose partner users you want to retrieve
</ParamField>

## Response Schema

<ResponseField name="users" type="array">
  Array of partner user objects

  <Expandable title="Partner User Object Properties">
    <ResponseField name="total" type="number">
      Total count of partner users (included in each user object)
    </ResponseField>

    <ResponseField name="id" type="number">
      Unique identifier for the user
    </ResponseField>

    <ResponseField name="email" type="string">
      User's email address
    </ResponseField>

    <ResponseField name="first_name" type="string">
      User's first name
    </ResponseField>

    <ResponseField name="last_name" type="string">
      User's last name
    </ResponseField>

    <ResponseField name="color" type="string">
      Hex color code assigned to the user for UI purposes
    </ResponseField>

    <ResponseField name="position" type="string">
      User's job title/position
    </ResponseField>

    <ResponseField name="phone_number" type="string">
      User's phone number
    </ResponseField>

    <ResponseField name="profile_image_id" type="number">
      Asset ID of the user's profile image
    </ResponseField>

    <ResponseField name="profile_image_uuid" type="string">
      UUID of the user's profile image asset
    </ResponseField>

    <ResponseField name="company_id" type="number">
      ID of the partner company this user belongs to
    </ResponseField>

    <ResponseField name="meeting_link" type="string">
      User's personal meeting/calendar link
    </ResponseField>

    <ResponseField name="company_name" type="string">
      Name of the partner company this user belongs to
    </ResponseField>

    <ResponseField name="country_label" type="string">
      Name of the user's country
    </ResponseField>

    <ResponseField name="city_label" type="string">
      Name of the user's city
    </ResponseField>
  </Expandable>
</ResponseField>

## Example Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://app.journeybee.io/api/v1/partnerships/456/users" \
    -H "Authorization: Bearer jb_api_1234567890abcdef"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://app.journeybee.io/api/v1/partnerships/456/users', {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer jb_api_1234567890abcdef'
    }
  });

  const partnerUsers = await response.json();
  ```
</CodeGroup>

## Example Response

<ResponseExample>
  ```json 201 OK theme={null}
  [
    {
      "total": 3,
      "id": 789,
      "email": "alex.partner@partnerco.com",
      "first_name": "Alex",
      "last_name": "Partner",
      "color": "#F59E0B",
      "position": "Senior Sales Manager",
      "phone_number": "+1-555-987-6543",
      "profile_image_id": 456,
      "profile_image_uuid": "partner-profile-uuid-456",
      "company_id": 234,
      "meeting_link": "https://calendly.com/alex-partner",
      "company_name": "PartnerCorp Solutions",
      "country_label": "United States",
      "city_label": "San Francisco"
    },
    {
      "total": 3,
      "id": 790,
      "email": "maria.rodriguez@partnerco.com",
      "first_name": "Maria",
      "last_name": "Rodriguez",
      "color": "#8B5CF6",
      "position": "Business Development Rep",
      "phone_number": "+1-555-987-6544",
      "profile_image_id": null,
      "profile_image_uuid": null,
      "company_id": 234,
      "meeting_link": null,
      "company_name": "PartnerCorp Solutions",
      "country_label": "United States",
      "city_label": "Los Angeles"
    },
    {
      "total": 3,
      "id": 791,
      "email": "david.kim@partnerco.com",
      "first_name": "David",
      "last_name": "Kim",
      "color": "#10B981",
      "position": "Partnership Coordinator",
      "phone_number": null,
      "profile_image_id": 458,
      "profile_image_uuid": "partner-profile-uuid-458",
      "company_id": 234,
      "meeting_link": "https://meet.google.com/david-kim",
      "company_name": "PartnerCorp Solutions",
      "country_label": "Canada",
      "city_label": "Toronto"
    }
  ]
  ```
</ResponseExample>

## Error Responses

<ResponseExample>
  ```json 400 Bad Request theme={null}
  {
    "error": "Partnership ID is required"
  }
  ```
</ResponseExample>

<ResponseExample>
  ```json 401 Unauthorized theme={null}
  {
    "error": "Invalid API key or insufficient permissions"
  }
  ```
</ResponseExample>

<ResponseExample>
  ```json 403 Forbidden theme={null}
  {
    "error": "Access denied to partnership users"
  }
  ```
</ResponseExample>

<ResponseExample>
  ```json 404 Not Found theme={null}
  {
    "error": "Partnership not found or not accessible"
  }
  ```
</ResponseExample>

<ResponseExample>
  ```json 500 Internal Server Error theme={null}
  {
    "error": "Failed to retrieve partnership users"
  }
  ```
</ResponseExample>

## Notes

* Requires API key with `read_access` permission
* Only returns users from partner companies (excludes your own company users)
* Disabled and inactive users are automatically filtered out
