> This page is for API, version 2026-01-01 (Stable) (default).
> For other versions, use one of these documentation indexes:
> - 2026-01-01 (Stable) (default): https://developer.deel.com/api/stable/llms.txt

> 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 interviews

GET https://api.letsdeel.com/rest/ats/interviews

Lists interviews for review, including who interviewed and whether each took place or was cancelled. By default each application contributes only the interviews of the stage it is in now; filter by applications or interview stages to also get interviews from stages it has already passed. Results are limited to interviews the caller may see.

 **Token scopes**: `ats:read`, `worker:read`

Reference: https://developer.deel.com/api/reference/endpoints/ats/list-interviews-v-2026-06-03

## 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

- `interviewer_hou_ids` (list of string, optional) — Filter interviews by interviewer HRIS organization user IDs.
- `job_ids` (list of string, optional) — Filter interviews by job IDs.
- `status` (list of enum, optional) — Filter interviews by status.
  - Allowed values: `SCHEDULE_NEEDED`, `LINK_SENT`, `SLOT_REQUEST_SENT`, `SLOTS_SUBMITTED`, `SCHEDULED`, `RESCHEDULE_REQUESTED`, `CANCELLED`, `COMPLETED`
- `candidate_ids` (list of string, optional) — Filter interviews by candidate IDs.
- `application_ids` (list of string, optional) — Filter interviews by application IDs. When set, every interview of those applications is returned — past, cancelled and on stages the candidate has already moved past — and results default to latest meeting first.
- `interview_plan_stage_ids` (list of string, optional) — Filter interviews by the interview plan stage the interview belongs to (from GET /rest/ats/jobs interview_plan_stages). When set, every interview on those stages is returned regardless of the candidate's current stage, and results default to latest meeting first.
- `date_range_start` (string, optional) — Lower bound of interview start time (ISO 8601).
- `date_range_end` (string, optional) — Upper bound of interview start time (ISO 8601).
- `updated_after` (string, optional) — Return interviews updated strictly after this ISO 8601 datetime (incremental sync).
- `sort_order` (enum, optional) — Order interviews by upcoming-first, newest-first (by creation), oldest-first, or latest-meeting-first (most recent meeting time, for past-interview views).
  - Allowed values: `SCHEDULED_FIRST`, `NEWEST_FIRST`, `OLDEST_FIRST`, `LATEST_MEETING_FIRST`
- `cursor` (string, optional) — Pagination cursor returned by a previous response.
- `limit` (integer, optional) — Maximum number of interviews to return per page.

## Response

### 200

Paginated list of interviews

- `data` (list of AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItems, required) — Page of interviews.
- `has_more` (boolean, required) — Whether more pages are available beyond the current page.
- `next_cursor` (string, required, nullable) — Cursor to fetch the next page; null when there are no more pages.
- `total_count` (integer, required) — Total number of interviews matching the filters.

## Errors

### 400 Bad Request Error

Operation failed.

- `errors` (list of AtsInterviewsGetResponsesContentApplicationJsonSchemaErrorsItems, required) — List of error objects

### 401 Unauthorized Error

Operation failed.

- `request` (ApiErrorRequest, optional)
- `errors` (list of ApiError, optional)

### 403 Forbidden Error

Forbidden. ATS is not enabled for this organization or insufficient permissions.

- `errors` (list of AtsInterviewsGetResponsesContentApplicationJsonSchemaErrorsItems, required) — List of error objects

### 404 Not Found Error

Operation failed.

- `request` (ApiErrorRequest, optional)
- `errors` (list of ApiError, optional)

### 500 Internal Server Error

Operation failed.

- `errors` (list of AtsInterviewsGetResponsesContentApplicationJsonSchemaErrorsItems, required) — List of error objects

## Types

### AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItems

- `id` (string, required) — Unique identifier of the interview.
- `created_at` (string, required) — ISO 8601 datetime when the interview record was created.
- `updated_at` (string, required) — ISO 8601 datetime when the interview record was last updated.
- `application` (AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplication, required) — Application linked to this interview.
- `status_enum` (enum, required) — Current status of the interview.
  - Allowed values: `SCHEDULE_NEEDED`, `LINK_SENT`, `SLOT_REQUEST_SENT`, `SLOTS_SUBMITTED`, `SCHEDULED`, `RESCHEDULE_REQUESTED`, `CANCELLED`, `COMPLETED`
- `application_activity` (AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationActivity, required) — Interview activity details including configuration and participants.
- `application_activity_id` (string, required) — ID of the application activity linked to this interview.
- `ends_at` (string, optional, nullable) — ISO 8601 datetime when the interview ends.
- `timezone` (string, optional, nullable) — IANA timezone of the interview.
- `starts_at` (string, optional, nullable) — ISO 8601 datetime when the interview starts.
- `meeting_url` (string, optional, nullable) — Video conferencing URL for the interview.
- `cancelled_at` (string, optional, nullable) — ISO 8601 datetime when the interview was cancelled; null unless cancelled.
- `has_happened` (boolean, optional) — True when the interview took place: status SCHEDULED or COMPLETED and the meeting end (or start, when no end is recorded) is in the past. False for cancelled interviews and interviews not yet held.
- `cancellation_reason` (string, optional, nullable) — Free-text cancellation reason; null unless cancelled.
- `interview_plan_stage` (AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsInterviewPlanStage, optional, nullable) — The interview plan stage the interview belongs to, independent of the candidate's current stage.
- `cancellation_reason_id` (string, optional, nullable) — Cancellation reason ID (see GET /rest/ats/reasons with reason_group_slug=INTERVIEW_CANCELLATION); null unless cancelled.
- `application_interview_plan_stage_id` (string, optional, nullable) — ID of the application stage record the interview belongs to.
- `created_by_hris_organization_user_id` (string, optional, nullable) — HRIS organization user who created the interview.

### AtsInterviewsGetResponsesContentApplicationJsonSchemaErrorsItems

- `code` (string, required) — Machine-readable error code
- `message` (string, required) — Human-readable error message
- `field` (string, optional) — Request field related to the error, if applicable

### ApiErrorRequest

- `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

### ApiError

- `message` (string, optional) — A description of the returned error
- `path` (string, optional) — The JSON path where input validation failed

### AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplication

Application linked to this interview.

- `id` (string, required) — Unique identifier of the application.
- `job` (AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationJob, required) — Job linked to the application.
- `candidate` (AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationCandidate, required) — Candidate being interviewed.
- `current_application_interview_plan_stage` (AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationCurrentApplicationInterviewPlanStage, optional, nullable) — The stage the candidate is in now, which may differ from the stage the interview belongs to.

### AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationActivity

Interview activity details including configuration and participants.

- `interview_title` (string, optional, nullable) — Title of the interview stage.
- `length_in_minutes` (integer, optional, nullable) — Planned interview duration in minutes.
- `application_activity_participations` (list of AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationActivityApplicationActivityParticipationsItems, optional) — List of interviewers participating in this interview.

### AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsInterviewPlanStage

The interview plan stage the interview belongs to, independent of the candidate's current stage.

- `id` (string, required) — Interview plan stage identifier.
- `name` (string, required) — Customer-defined stage name.
- `position_number` (integer, required) — Position of the stage in the interview plan.
- `default_type_slug` (string, required, nullable) — System stage type (e.g. new_lead, application_review, offer, hired, archived); null for custom stages.
- `category_type_slug` (string, required) — Stage category: lead, active or completed.

### AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationJob

Job linked to the application.

- `id` (string, required) — Unique identifier of the job.
- `title` (string, required) — Title of the job position.

### AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationCandidate

Candidate being interviewed.

- `id` (string, required) — Unique identifier of the candidate.
- `email` (string, required) — Email address of the candidate.
- `last_name` (string, required) — Last name of the candidate.
- `first_name` (string, required) — First name of the candidate.
- `pic_url` (string, optional, nullable) — Profile picture URL of the candidate.

### AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationCurrentApplicationInterviewPlanStage

The stage the candidate is in now, which may differ from the stage the interview belongs to.

- `id` (string, required) — Identifier of the current application stage record.
- `interview_plan_stage` (AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationCurrentApplicationInterviewPlanStageInterviewPlanStage, required, nullable) — The current interview plan stage.

### AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationActivityApplicationActivityParticipationsItems

- `id` (string, required) — Unique identifier of the participation record.
- `participant_hris_organization_user_id` (string, required) — HRIS organization user ID of the interviewer.
- `application_activity_feedbacks` (list of AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationActivityApplicationActivityParticipationsItemsApplicationActivityFeedbacksItems, optional) — Feedback entries submitted by this participant for the interview.
- `participant_hris_organization_user_profile` (AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationActivityApplicationActivityParticipationsItemsParticipantHrisOrganizationUserProfile, optional, nullable)

### AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationCurrentApplicationInterviewPlanStageInterviewPlanStage

The current interview plan stage.

- `id` (string, required) — Interview plan stage identifier.
- `name` (string, required) — Customer-defined stage name.

### AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationActivityApplicationActivityParticipationsItemsApplicationActivityFeedbacksItems

- `id` (string, required) — Unique identifier of the feedback record.
- `submitted_at` (string, optional, nullable) — ISO 8601 datetime when the feedback was submitted; null while it is still pending.
- `overall_recommendation` (AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationActivityApplicationActivityParticipationsItemsApplicationActivityFeedbacksItemsOverallRecommendation, optional, nullable) — The recommendation the interviewer selected (e.g. "Strong Yes"); null while pending or when the caller may only see their own recommendations.

### AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationActivityApplicationActivityParticipationsItemsParticipantHrisOrganizationUserProfile

- `type` (enum, optional) — Participant type within the organization.
  - Allowed values: `CLIENT`, `WORKER`
- `country` (string, optional, nullable) — ISO 3166-1 alpha-2 country code.
- `pic_url` (string, optional, nullable) — Profile picture URL.
- `full_name` (string, optional) — Full name.
- `job_title` (string, optional, nullable) — Job title.
- `last_name` (string, optional) — Last name.
- `first_name` (string, optional) — First name.
- `work_email` (string, optional, nullable) — Work email.
- `hris_organization_user_id` (string, optional) — HRIS organization user ID.

### AtsInterviewsGetResponsesContentApplicationJsonSchemaDataItemsApplicationActivityApplicationActivityParticipationsItemsApplicationActivityFeedbacksItemsOverallRecommendation

The recommendation the interviewer selected (e.g. "Strong Yes"); null while pending or when the caller may only see their own recommendations.

- `scale_item_id` (string, required) — Feedback scale item identifier.
- `scale_item_label` (string, required) — Feedback scale item label.

## Examples

**Response**

```json
{
  "data": [
    {
      "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
      "created_at": "2026-01-15T08:00:00Z",
      "updated_at": "2026-01-20T14:30:00Z",
      "application": {
        "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
        "job": {
          "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
          "title": "Frontend Engineer"
        },
        "candidate": {
          "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
          "email": "jane.smith@example.com",
          "last_name": "Smith",
          "first_name": "Jane",
          "pic_url": "https://avatars.githubusercontent.com/u/12345678"
        },
        "current_application_interview_plan_stage": {
          "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
          "interview_plan_stage": {
            "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
            "name": "Offer"
          }
        }
      },
      "status_enum": "SCHEDULED",
      "application_activity": {
        "interview_title": "Technical Round",
        "length_in_minutes": 60,
        "application_activity_participations": [
          {
            "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
            "participant_hris_organization_user_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
            "application_activity_feedbacks": [
              {
                "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
                "submitted_at": "2026-06-01T12:00:00Z",
                "overall_recommendation": {
                  "scale_item_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
                  "scale_item_label": "Strong Yes"
                }
              }
            ],
            "participant_hris_organization_user_profile": {
              "type": "CLIENT",
              "country": "US",
              "pic_url": "https://avatars.githubusercontent.com/u/12345678",
              "full_name": "Jane Smith",
              "job_title": "Engineering Manager",
              "last_name": "Smith",
              "first_name": "Jane",
              "work_email": "jane.smith@example.com",
              "hris_organization_user_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479"
            }
          }
        ]
      },
      "application_activity_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
      "ends_at": "2026-06-01T11:00:00Z",
      "timezone": "America/New_York",
      "starts_at": "2026-06-01T10:00:00Z",
      "meeting_url": "https://meet.example.com/abc-123",
      "cancelled_at": "2026-06-03T15:30:00Z",
      "has_happened": true,
      "cancellation_reason": "Candidate withdrew from the process",
      "interview_plan_stage": {
        "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
        "name": "Technical Interview",
        "position_number": 2500,
        "default_type_slug": "offer",
        "category_type_slug": "active"
      },
      "cancellation_reason_id": "5d4c3b2a-1f0e-4d9c-8b7a-6f5e4d3c2b1a",
      "application_interview_plan_stage_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
      "created_by_hris_organization_user_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479"
    }
  ],
  "has_more": false,
  "next_cursor": "eyJpZCI6IjEyMzQifQ==",
  "total_count": 42
}
```

**SDK Code**

```python
import requests

url = "https://api.letsdeel.com/rest/ats/interviews"

querystring = {"application_ids":"[\"f47ac10b-58cc-4372-a567-0e02b2c3d479\"]","candidate_ids":"[\"f47ac10b-58cc-4372-a567-0e02b2c3d479\"]","cursor":"eyJpZCI6IjEyMzQifQ==","date_range_end":"2026-12-31T23:59:59Z","date_range_start":"2026-01-01T00:00:00Z","interview_plan_stage_ids":"[\"f47ac10b-58cc-4372-a567-0e02b2c3d479\"]","interviewer_hou_ids":"[\"f47ac10b-58cc-4372-a567-0e02b2c3d479\"]","job_ids":"[\"f47ac10b-58cc-4372-a567-0e02b2c3d479\"]","limit":"30","sort_order":"SCHEDULED_FIRST","status":"[\"SCHEDULED\"]","updated_after":"2026-01-01T00:00:00Z"}

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

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

print(response.json())
```

```javascript
const url = 'https://api.letsdeel.com/rest/ats/interviews?application_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&candidate_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&cursor=eyJpZCI6IjEyMzQifQ%3D%3D&date_range_end=2026-12-31T23%3A59%3A59Z&date_range_start=2026-01-01T00%3A00%3A00Z&interview_plan_stage_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&interviewer_hou_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&job_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&limit=30&sort_order=SCHEDULED_FIRST&status=%5B%22SCHEDULED%22%5D&updated_after=2026-01-01T00%3A00%3A00Z';
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/ats/interviews?application_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&candidate_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&cursor=eyJpZCI6IjEyMzQifQ%3D%3D&date_range_end=2026-12-31T23%3A59%3A59Z&date_range_start=2026-01-01T00%3A00%3A00Z&interview_plan_stage_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&interviewer_hou_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&job_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&limit=30&sort_order=SCHEDULED_FIRST&status=%5B%22SCHEDULED%22%5D&updated_after=2026-01-01T00%3A00%3A00Z"

	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/ats/interviews?application_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&candidate_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&cursor=eyJpZCI6IjEyMzQifQ%3D%3D&date_range_end=2026-12-31T23%3A59%3A59Z&date_range_start=2026-01-01T00%3A00%3A00Z&interview_plan_stage_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&interviewer_hou_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&job_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&limit=30&sort_order=SCHEDULED_FIRST&status=%5B%22SCHEDULED%22%5D&updated_after=2026-01-01T00%3A00%3A00Z")

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/ats/interviews?application_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&candidate_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&cursor=eyJpZCI6IjEyMzQifQ%3D%3D&date_range_end=2026-12-31T23%3A59%3A59Z&date_range_start=2026-01-01T00%3A00%3A00Z&interview_plan_stage_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&interviewer_hou_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&job_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&limit=30&sort_order=SCHEDULED_FIRST&status=%5B%22SCHEDULED%22%5D&updated_after=2026-01-01T00%3A00%3A00Z")
  .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/ats/interviews?application_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&candidate_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&cursor=eyJpZCI6IjEyMzQifQ%3D%3D&date_range_end=2026-12-31T23%3A59%3A59Z&date_range_start=2026-01-01T00%3A00%3A00Z&interview_plan_stage_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&interviewer_hou_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&job_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&limit=30&sort_order=SCHEDULED_FIRST&status=%5B%22SCHEDULED%22%5D&updated_after=2026-01-01T00%3A00%3A00Z', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

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

```csharp
using RestSharp;

var client = new RestClient("https://api.letsdeel.com/rest/ats/interviews?application_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&candidate_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&cursor=eyJpZCI6IjEyMzQifQ%3D%3D&date_range_end=2026-12-31T23%3A59%3A59Z&date_range_start=2026-01-01T00%3A00%3A00Z&interview_plan_stage_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&interviewer_hou_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&job_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&limit=30&sort_order=SCHEDULED_FIRST&status=%5B%22SCHEDULED%22%5D&updated_after=2026-01-01T00%3A00%3A00Z");
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/ats/interviews?application_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&candidate_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&cursor=eyJpZCI6IjEyMzQifQ%3D%3D&date_range_end=2026-12-31T23%3A59%3A59Z&date_range_start=2026-01-01T00%3A00%3A00Z&interview_plan_stage_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&interviewer_hou_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&job_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&limit=30&sort_order=SCHEDULED_FIRST&status=%5B%22SCHEDULED%22%5D&updated_after=2026-01-01T00%3A00%3A00Z")! 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()
```