> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developer.deel.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer.deel.com/_mcp/server.

# List of People

GET https://api.letsdeel.com/rest/people

Returns a paginated list of people records in the organization. Supports filtering by search term, teams, custom fields, and other query parameters. Build people directories, sync HR data, or power search interfaces across your workforce records.

 **Token scopes**: `people:read`

Reference: https://developer.deel.com/api/reference/endpoints/people/get-people

## Authentication

- `Authorization` header (bearer token, required) — ## Authentication The Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail. ```curl curl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \ -H 'Authorization: Bearer YOUR-TOKEN-HERE' ``` [Learn more about authentication](/api/authentication)
- `Authorization` header (bearer token, required) — Standard OAuth2 security scheme based on https://swagger.io/docs/specification/authentication/

## Servers

- `https://api.letsdeel.com/rest` (Production, default)
- `https://api-staging.letsdeel.com/rest` (Demo)

## Request

### Query parameters

- `offset` (integer, optional, default: 0) — Return a page of results with given number of records.
- `limit` (integer, optional) — Return a page of results with given number of records.
- `search` (string, optional) — Include a contract if by name or contractor name contains given search term.
- `teams` (list of string, optional) — Filter the results based on the team(group) the users contract is associated with
- `fields` (list of enum, optional) — Pick the fields you want to see in the response in order to avoid a bloated people list output. Supports dot notation (e.g., 'employments[0].contract_status') to access nested fields.
  - Allowed values: `id`, `created_at`, `first_name`, `last_name`, `full_name`, `preferred_first_name`, `preferred_last_name`, `worker_id`, `external_id`, `hris_organization_user_id`, `termination_last_day`, `worker_relations`, `custom_field_values`, `emails`, `birth_date`, `start_date`, `nationalities`, `client_legal_entity`, `state`, `seniority`, `completion_date`, `direct_manager`, `direct_reports`, `direct_reports_count`, `employments`, `employments[0].id`, `employments[0].name`, `employments[0].team`, `employments[0].custom_field_values`, `employments[0].email`, `employments[0].state`, `employments[0].country`, `employments[0].payment`, `employments[0].is_ended`, `employments[0].termination_last_day`, `employments[0].timezone`, `employments[0].job_title`, `employments[0].seniority`, `employments[0].start_date`, `employments[0].work_email`, `employments[0].hiring_type`, `employments[0].hiring_status`, `employments[0].completion_date`, `employments[0].contract_status`, `employments[0].voluntarily_left`, `employments[0].contract_coverage`, `employments[0].new_hiring_status`, `employments[0].client_legal_entity`, `employments[0].has_eor_termination`, `employments[0].contract_is_archived`, `employments[0].contract_has_contractor`, `employments[0].is_user_contract_deleted`, `employments[0].hris_direct_employee_invitation`, `employments[0].employee_number`, `hiring_status`, `new_hiring_status`, `is_pwac`, `hiring_type`, `job_title`, `country`, `timezone`, `department`, `work_location`, `updated_at`, `addresses`, `additional_details`, `profile_organizational_structures`, `worker_termination_last_date_of_work`, `active_worker_termination_status`, `last_day_of_work_local_date`, `person_status`
- `sort_by` (enum, optional) — Sort people by given field name.
  - Allowed values: `id`, `first_name`, `last_name`, `full_name`, `email`, `country`, `birth_date`, `hiring_type`, `start_date`, `team`, `job_title`, `hiring_status`, `completion_date`, `direct_manager`, `direct_reports_count`, `band_placement`, `comparative_ratio`
- `sort_order` (enum, optional) — Order direction of results; ascending or descending.
  - Allowed values: `asc`, `desc`
- `hiring_statuses` (list of enum, optional) — Employee's current hiring status.
  - Allowed values: `pending_invite`, `draft`, `invited`, `onboarding`, `onboarding_at_risk`, `onboarding_overdue`, `onboarded`, `offboarding`, `active`, `inactive`, `in_review`, `quote_requires_changes`
- `band_placements` (list of enum, optional) — Employee's current band placement.
  - Allowed values: `ABOVE`, `WITHIN`, `BELOW`
- `comparative_ratios_from` (float, optional) — Employee's minimum band placement
- `comparative_ratios_to` (float, optional) — Employee's maximum band placement
- `hiring_types` (list of enum, optional) — Filter people by hiring types
  - Allowed values: `contractor`, `eor`, `peo`, `hris_direct_employee`, `hris_direct_contractor`, `direct_employee`, `contractor_outside_deel`, `person_without_contract`
- `person_statuses` (list of enum, optional) — Filter people by person (worker profile) lifecycle status.
  - Allowed values: `ACTIVE`, `NOT_STARTED`, `INACTIVE`

## Response

### 200

Successful response

- `data` (list of object, required)
  - `id` (string, optional) — Unique identifier for the employee.
  - `state` (string, optional, nullable) — The state of the employee.
  - `emails` (list of object, optional, nullable) — An array of the employee's email addresses.
    - `type` (string, optional, nullable) — The type of email.
    - `value` (string, optional, nullable) — The email address.
  - `country` (string, optional, nullable) — The country of the employee.
  - `is_pwac` (boolean, optional) — Whether the worker is a Person Without a Contract (PWAC)
  - `timezone` (string, optional, nullable) — The timezone of the employee.
  - `addresses` (list of object, optional, nullable) — An array of address objects containing the employee's physical addresses.
    - `region` (string, optional) — Region code.
    - `country` (string, optional, nullable) — Country code.
    - `lineTwo` (string, optional) — Second address line.
    - `locality` (string, optional) — Locality name.
    - `postalCode` (string, optional) — Postal code.
    - `streetAddress` (string, optional) — Street and number.
  - `full_name` (string, optional) — The full name of the employee.
  - `job_title` (string, optional, nullable) — The job title of the employee.
  - `last_name` (string, optional, nullable) — The last name of the employee.
  - `seniority` (string, optional, nullable) — The seniority level of the employee.
  - `worker_id` (string, optional) — The worker ID of the employee.
  - `birth_date` (string, optional, nullable) — The birth date of the employee.
  - `created_at` (string, optional) — The creation timestamp of the employee record.
  - `department` (object, optional) — The department of the employee.
    - `id` (string, optional) — Unique identifier of this resource.
    - `name` (string, optional) — The name of the department.
    - `parent` (string, optional) — The parent department name.
  - `first_name` (string, optional) — The first name of the employee.
  - `start_date` (string, optional, nullable) — The date the employee started working.
  - `updated_at` (string, optional, nullable) — Long date-time format following ISO-8601
  - `employments` (list of object, optional, nullable) — An array of employment records associated with the employee, including contract details, team information, payment details, and employment status.
    - `id` (string, optional) — Unique identifier for the employment.
    - `name` (string, optional) — Name of the employee.
    - `team` (object, optional) — The team to which the employee belongs.
      - `id` (string, optional) — Refers to Groups in the platform. Working groups that reflect the organization's structure.
      - `name` (string, optional) — The team name.
    - `email` (string, optional) — The work email of the employee.
    - `state` (string, optional, nullable) — The state of employment.
    - `country` (string, optional, nullable) — The country of employment.
    - `payment` (object, optional) — Payment information for the employment, including rate, scale, currency, and associated contract name.
      - `rate` (float, optional, nullable) — The payment rate
      - `scale` (string, optional, nullable) — The payment scale (e.g., hourly, weekly, monthly, etc.)
      - `currency` (string, optional) — The currency code (ISO 4217) for the payment
      - `contract_name` (string, optional) — The name of the contract associated with the payment
    - `is_ended` (boolean, optional) — Whether the employment has ended.
    - `timezone` (string, optional, nullable) — The timezone of the employment.
    - `job_title` (string, optional, nullable) — The job title of the employment.
    - `seniority` (string, optional, nullable) — The seniority level of the employment.
    - `start_date` (string, optional, nullable) — The start date of the employment.
    - `work_email` (string, optional, nullable) — The work email of the employment.
    - `hiring_type` (string, optional, nullable) — The type of hiring of the employment.
    - `hiring_status` (string, optional) — The current hiring status of the employment.
    - `band_placement` (enum, optional, nullable) — Where the employee falls in their compensation band
      - Allowed values: `ABOVE`, `WITHIN`, `BELOW`
    - `completion_date` (string, optional, nullable) — The completion date of the employment contract.
    - `contract_status` (string, optional) — The status of the employment contract.
    - `voluntarily_left` (boolean, optional, nullable) — Whether the employee voluntarily left the employment.
    - `comparative_ratio` (double, optional, nullable) — Number comparing an employee's compensation to the band midpoint
    - `contract_coverage` (enum, optional, nullable) — The coverage of the employment contract.
      - Allowed values: `is_premium`, `is_shielded`, `no_coverage`
    - `new_hiring_status` (string, optional, nullable) — The new hiring status of the employment.
    - `client_legal_entity` (object, optional) — The client legal entity associated with this employment contract.
      - `id` (string, optional, nullable) — Unique identifier of this resource.
      - `name` (string, optional, nullable) — The name of the client legal entity.
    - `has_eor_termination` (boolean, optional, nullable) — Whether the employment has an EOR termination.
    - `compensation_band_id` (string, optional, nullable) — The employee's assigned compensation band
    - `contract_is_archived` (boolean, optional) — Whether the employment contract is archived.
    - `termination_last_day` (string, optional, nullable) — The last day of work mentioned on the contract termination.
    - `contract_has_contractor` (boolean, optional) — Whether the contract has a contractor.
    - `is_user_contract_deleted` (boolean, optional) — Whether the user contract is deleted.
    - `hris_direct_employee_invitation` (object, optional, nullable) — The HRIS direct employee invitation status.
      - `oid` (string, optional) — Unique identifier of this resource.
      - `status` (string, optional, nullable) — The HRIS direct employee invitation status.
      - `send_at` (string, optional, nullable) — The HRIS direct employee invitation send date.
      - `timezone` (string, optional, nullable) — The HRIS direct employee invitation timezone.
  - `external_id` (string, optional, nullable) — The external ID of the employee.
  - `hiring_type` (string, optional, nullable) — The type of hiring of the employee.
  - `middle_name` (string, optional, nullable) — The middle name of the employee.
  - `hiring_status` (string, optional) — The current hiring status of the employee.
  - `nationalities` (list of string, optional) — The nationality of the employee.
  - `person_status` (enum, optional, nullable) — Lifecycle status of the person (worker profile). Omitted or null without people_person_status.view; excluded from the response when using `fields` if not requested.
    - Allowed values: `ACTIVE`, `NOT_STARTED`, `INACTIVE`
  - `work_location` (string, optional, nullable) — The work location of the employee.
  - `direct_manager` (object, optional, nullable) — The direct manager of the employee.
    - `id` (string, optional) — Unique identifier for the manager.
    - `last_name` (string, optional) — The last name of the manager.
    - `worker_id` (double, optional) — The worker ID of the manager.
    - `first_name` (string, optional) — The first name of the manager.
    - `work_email` (string, optional, nullable) — The work email of the manager.
  - `direct_reports` (list of object, optional, nullable) — The direct reports to the employee.
    - `id` (string, optional) — Unique identifier for the direct report.
    - `last_name` (string, optional) — The last name of the direct report.
    - `first_name` (string, optional) — The first name of the direct report.
    - `work_email` (string, optional, nullable) — The work email of the direct report.
  - `completion_date` (string, optional, nullable) — The completion date of the task or project.
  - `new_hiring_status` (string, optional, nullable) — The new hiring status of the employee.
  - `additional_details` (list of object, optional, nullable) — Country-scoped additional employment data points (national IDs, tax IDs, etc.) sourced from hris_employment_eligibility.eligibility_data. Returned only when the caller's organization has the feature flag enable and the request is not redacting PII.
    - `type` (string, optional) — Field name (the JSONB key from hris_employment_eligibility.eligibility_data, e.g. socialSecurity, idNumber, taxIdentificationNumber).
    - `value` (string or double or boolean or map from string to any, optional) — Raw value associated with the field. May be a string, number, boolean, or null.
    - `country` (string, optional) — ISO-2 country code that scopes this entry.
  - `client_legal_entity` (object, optional) — The primary client legal entity associated with the employee.
    - `id` (string, optional, nullable) — Unique identifier of this resource.
    - `name` (string, optional, nullable) — The name of the client legal entity.
  - `preferred_last_name` (string, optional, nullable) — The preferred last name of the employee.
  - `direct_reports_count` (integer, optional) — The count of direct reports to the employee.
  - `preferred_first_name` (string, optional, nullable) — The preferred first name of the employee.
  - `hris_organization_user_id` (string, optional, nullable) — HRIS Organization User ID of the employee. Used in products like Deel Engage.
  - `active_worker_termination_status` (enum, optional, nullable) — The status of the active worker termination.
    - Allowed values: `PENDING`, `CONTRACT_TERMINATION_DATA_COLLECTED`, `IN_PROGRESS`, `COMPLETED`, `FAILED`, `CANCELED`
  - `direct_employee_termination_last_day` (string, optional) — The last day of work mentioned on the primary contract termination.
- `page` (object, optional)
  - `offset` (integer, required)
  - `total_rows` (double, required)
  - `items_per_page` (double, required)

## Errors

### 400 Bad Request Error

Operation failed.

- `request` (object, optional)
  - `method` (string, optional) — The HTTP method of the failed request
  - `url` (string, optional) — The relative URL of the failed request
  - `status` (double, optional) — The status code of the response
  - `api_req_id` (string, optional) — The request ID of the failed request
  - `docs` (string, optional) — A link to the official documentation for the requested endpoint resource
  - `source` (string, optional) — The source handler which produced the returned error
  - `code` (double, optional) — The code of the source handler which produced the returned error
- `errors` (list of object, optional)
  - `message` (string, optional) — A description of the returned error
  - `path` (string, optional) — The JSON path where input validation failed

### 401 Unauthorized Error

Operation failed.

- `request` (object, optional)
  - `method` (string, optional) — The HTTP method of the failed request
  - `url` (string, optional) — The relative URL of the failed request
  - `status` (double, optional) — The status code of the response
  - `api_req_id` (string, optional) — The request ID of the failed request
  - `docs` (string, optional) — A link to the official documentation for the requested endpoint resource
  - `source` (string, optional) — The source handler which produced the returned error
  - `code` (double, optional) — The code of the source handler which produced the returned error
- `errors` (list of object, optional)
  - `message` (string, optional) — A description of the returned error
  - `path` (string, optional) — The JSON path where input validation failed

### 403 Forbidden Error

Operation failed.

- `request` (object, optional)
  - `method` (string, optional) — The HTTP method of the failed request
  - `url` (string, optional) — The relative URL of the failed request
  - `status` (double, optional) — The status code of the response
  - `api_req_id` (string, optional) — The request ID of the failed request
  - `docs` (string, optional) — A link to the official documentation for the requested endpoint resource
  - `source` (string, optional) — The source handler which produced the returned error
  - `code` (double, optional) — The code of the source handler which produced the returned error
- `errors` (list of object, optional)
  - `message` (string, optional) — A description of the returned error
  - `path` (string, optional) — The JSON path where input validation failed

### 404 Not Found Error

Operation failed.

- `request` (object, optional)
  - `method` (string, optional) — The HTTP method of the failed request
  - `url` (string, optional) — The relative URL of the failed request
  - `status` (double, optional) — The status code of the response
  - `api_req_id` (string, optional) — The request ID of the failed request
  - `docs` (string, optional) — A link to the official documentation for the requested endpoint resource
  - `source` (string, optional) — The source handler which produced the returned error
  - `code` (double, optional) — The code of the source handler which produced the returned error
- `errors` (list of object, optional)
  - `message` (string, optional) — A description of the returned error
  - `path` (string, optional) — The JSON path where input validation failed

### 500 Internal Server Error

Internal Server Error

- `error` (object, required)
  - `code` (string, required) — Error code identifying the type of error.
  - `message` (string, required) — Error message describing what went wrong.
  - `details` (string, optional, nullable) — Additional details about the error.

## Examples

**Response**

```json
{
  "data": [
    {
      "id": "9b9fc43a-a90c-4615-ac50-baf1e314b53e",
      "state": "Active",
      "emails": [
        {
          "type": "work",
          "value": "work.email@example.com"
        }
      ],
      "country": "USA",
      "is_pwac": false,
      "timezone": "EST",
      "addresses": [
        {
          "region": "CO",
          "country": "US",
          "lineTwo": "Apt 4B",
          "locality": "Denver",
          "postalCode": "44000",
          "streetAddress": "Deel Street 500"
        }
      ],
      "full_name": "John Doe",
      "job_title": "Access Field Technician",
      "last_name": "Doe",
      "seniority": "Junior (Individual Contributor Level 1)",
      "worker_id": "123",
      "birth_date": "1990-01-01T00:00:00.000Z",
      "created_at": "2023-03-21T10:27:25.950Z",
      "department": {
        "id": "00000000-0000-0000-0000-000000000000",
        "name": "Delivery team",
        "parent": "Research and Development"
      },
      "first_name": "John",
      "start_date": "2023-03-20",
      "updated_at": "2022-05-24T09:38:46.235Z",
      "employments": [
        {
          "id": "mzj524j",
          "name": "Khizar Naeem",
          "team": {
            "id": "00000000-0000-0000-0000-000000000000",
            "name": "Engineering Team"
          },
          "email": "some@example.com",
          "state": "Active",
          "country": "USA",
          "payment": {
            "rate": 100.5,
            "scale": "hourly",
            "currency": "USD",
            "contract_name": "Full-time Employment Contract"
          },
          "is_ended": false,
          "timezone": "EST",
          "job_title": "Access Field Technician",
          "seniority": "Junior (Individual Contributor Level 1)",
          "start_date": "2023-03-20",
          "work_email": "work.email@example.com",
          "hiring_type": "contractor",
          "hiring_status": "onboarding",
          "band_placement": "ABOVE",
          "completion_date": "2023-06-20T00:00:00.000Z",
          "contract_status": "waiting_for_client_sign",
          "voluntarily_left": true,
          "comparative_ratio": 1.1,
          "contract_coverage": "is_premium",
          "new_hiring_status": "onboarding_overdue",
          "client_legal_entity": {
            "id": "00000000-0000-0000-0000-000000000000",
            "name": "Acme Corporation"
          },
          "has_eor_termination": true,
          "compensation_band_id": "9b9fc43a-a90c-4615-ac50-baf1e314b53e",
          "contract_is_archived": false,
          "termination_last_day": "2023-03-21T10:27:25.950Z",
          "contract_has_contractor": true,
          "is_user_contract_deleted": false,
          "hris_direct_employee_invitation": {
            "oid": "rJ7PUDgbp9L6",
            "status": "DISABLED",
            "send_at": "2023-03-21T10:27:25.950Z",
            "timezone": "EST"
          }
        }
      ],
      "external_id": "9b9fc43a-a90c-4615-ac50-baf1e314b53e",
      "hiring_type": "contractor",
      "middle_name": "Ann",
      "hiring_status": "onboarding",
      "nationalities": [
        "American"
      ],
      "person_status": "ACTIVE",
      "work_location": "Remote",
      "direct_manager": {
        "id": "642b0547-9d80-4d35-a085-fd977ef209ef",
        "last_name": "John",
        "worker_id": 30,
        "first_name": "Doe",
        "work_email": "john.doe@example.com"
      },
      "direct_reports": [
        {
          "id": "642b0547-9d80-4d35-a085-fd977ef209ef",
          "last_name": "John",
          "first_name": "Doe",
          "work_email": "john.doe@example.com"
        }
      ],
      "completion_date": "2023-06-20T00:00:00.000Z",
      "new_hiring_status": "onboarding_overdue",
      "additional_details": [
        {
          "type": "socialSecurity",
          "value": "123-12-1234",
          "country": "US"
        }
      ],
      "client_legal_entity": {
        "id": "00000000-0000-0000-0000-000000000000",
        "name": "Acme Corporation"
      },
      "preferred_last_name": "Doe",
      "direct_reports_count": 0,
      "preferred_first_name": "John",
      "hris_organization_user_id": "9b9fc43a-a90c-4615-ac50-baf1e314b53e",
      "active_worker_termination_status": "IN_PROGRESS",
      "direct_employee_termination_last_day": "2023-03-21T10:27:25.950Z"
    }
  ],
  "page": {
    "offset": 1,
    "total_rows": 1.1,
    "items_per_page": 1.1
  }
}
```

**SDK Code**

```python
import requests

url = "https://api.letsdeel.com/rest/people"

querystring = {"band_placements":"[\"ABOVE\",\"WITHIN\"]","comparative_ratios_from":"1.1","comparative_ratios_to":"1.1","fields":"[\"first_name\",\"last_name\",\"emails\"]","hiring_statuses":"[\"active\",\"onboarded\"]","hiring_types":"[\"eor\",\"contractor\"]","limit":"50","offset":"150","person_statuses":"[\"ACTIVE\",\"INACTIVE\"]","search":"John Doe","sort_by":"hiring_status","sort_order":"asc","teams":"[\"00000000-0000-0000-0000-000000000000\",\"642b0547-9d80-4d35-a085-fd977ef209ef\"]"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript
const url = 'https://api.letsdeel.com/rest/people?band_placements=%5B%22ABOVE%22%2C%22WITHIN%22%5D&comparative_ratios_from=1.1&comparative_ratios_to=1.1&fields=%5B%22first_name%22%2C%22last_name%22%2C%22emails%22%5D&hiring_statuses=%5B%22active%22%2C%22onboarded%22%5D&hiring_types=%5B%22eor%22%2C%22contractor%22%5D&limit=50&offset=150&person_statuses=%5B%22ACTIVE%22%2C%22INACTIVE%22%5D&search=John+Doe&sort_by=hiring_status&sort_order=asc&teams=%5B%2200000000-0000-0000-0000-000000000000%22%2C%22642b0547-9d80-4d35-a085-fd977ef209ef%22%5D';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.letsdeel.com/rest/people?band_placements=%5B%22ABOVE%22%2C%22WITHIN%22%5D&comparative_ratios_from=1.1&comparative_ratios_to=1.1&fields=%5B%22first_name%22%2C%22last_name%22%2C%22emails%22%5D&hiring_statuses=%5B%22active%22%2C%22onboarded%22%5D&hiring_types=%5B%22eor%22%2C%22contractor%22%5D&limit=50&offset=150&person_statuses=%5B%22ACTIVE%22%2C%22INACTIVE%22%5D&search=John+Doe&sort_by=hiring_status&sort_order=asc&teams=%5B%2200000000-0000-0000-0000-000000000000%22%2C%22642b0547-9d80-4d35-a085-fd977ef209ef%22%5D"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.letsdeel.com/rest/people?band_placements=%5B%22ABOVE%22%2C%22WITHIN%22%5D&comparative_ratios_from=1.1&comparative_ratios_to=1.1&fields=%5B%22first_name%22%2C%22last_name%22%2C%22emails%22%5D&hiring_statuses=%5B%22active%22%2C%22onboarded%22%5D&hiring_types=%5B%22eor%22%2C%22contractor%22%5D&limit=50&offset=150&person_statuses=%5B%22ACTIVE%22%2C%22INACTIVE%22%5D&search=John+Doe&sort_by=hiring_status&sort_order=asc&teams=%5B%2200000000-0000-0000-0000-000000000000%22%2C%22642b0547-9d80-4d35-a085-fd977ef209ef%22%5D")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.letsdeel.com/rest/people?band_placements=%5B%22ABOVE%22%2C%22WITHIN%22%5D&comparative_ratios_from=1.1&comparative_ratios_to=1.1&fields=%5B%22first_name%22%2C%22last_name%22%2C%22emails%22%5D&hiring_statuses=%5B%22active%22%2C%22onboarded%22%5D&hiring_types=%5B%22eor%22%2C%22contractor%22%5D&limit=50&offset=150&person_statuses=%5B%22ACTIVE%22%2C%22INACTIVE%22%5D&search=John+Doe&sort_by=hiring_status&sort_order=asc&teams=%5B%2200000000-0000-0000-0000-000000000000%22%2C%22642b0547-9d80-4d35-a085-fd977ef209ef%22%5D")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.letsdeel.com/rest/people?band_placements=%5B%22ABOVE%22%2C%22WITHIN%22%5D&comparative_ratios_from=1.1&comparative_ratios_to=1.1&fields=%5B%22first_name%22%2C%22last_name%22%2C%22emails%22%5D&hiring_statuses=%5B%22active%22%2C%22onboarded%22%5D&hiring_types=%5B%22eor%22%2C%22contractor%22%5D&limit=50&offset=150&person_statuses=%5B%22ACTIVE%22%2C%22INACTIVE%22%5D&search=John+Doe&sort_by=hiring_status&sort_order=asc&teams=%5B%2200000000-0000-0000-0000-000000000000%22%2C%22642b0547-9d80-4d35-a085-fd977ef209ef%22%5D', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.letsdeel.com/rest/people?band_placements=%5B%22ABOVE%22%2C%22WITHIN%22%5D&comparative_ratios_from=1.1&comparative_ratios_to=1.1&fields=%5B%22first_name%22%2C%22last_name%22%2C%22emails%22%5D&hiring_statuses=%5B%22active%22%2C%22onboarded%22%5D&hiring_types=%5B%22eor%22%2C%22contractor%22%5D&limit=50&offset=150&person_statuses=%5B%22ACTIVE%22%2C%22INACTIVE%22%5D&search=John+Doe&sort_by=hiring_status&sort_order=asc&teams=%5B%2200000000-0000-0000-0000-000000000000%22%2C%22642b0547-9d80-4d35-a085-fd977ef209ef%22%5D");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.letsdeel.com/rest/people?band_placements=%5B%22ABOVE%22%2C%22WITHIN%22%5D&comparative_ratios_from=1.1&comparative_ratios_to=1.1&fields=%5B%22first_name%22%2C%22last_name%22%2C%22emails%22%5D&hiring_statuses=%5B%22active%22%2C%22onboarded%22%5D&hiring_types=%5B%22eor%22%2C%22contractor%22%5D&limit=50&offset=150&person_statuses=%5B%22ACTIVE%22%2C%22INACTIVE%22%5D&search=John+Doe&sort_by=hiring_status&sort_order=asc&teams=%5B%2200000000-0000-0000-0000-000000000000%22%2C%22642b0547-9d80-4d35-a085-fd977ef209ef%22%5D")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```