> 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://docs.deel.wtf/api/stable/llms.txt

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

# List interview and evaluation feedback across the organization

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

Lists interview feedback across the candidates and jobs of the organization. Use it to follow up on hiring decisions, for example to see which reviewers still owe feedback or what they recommended, without reading each application one by one; for a single application use `GET /rest/ats/applications/{application_id}/feedbacks`.

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

Reference: https://docs.deel.wtf/api/reference/endpoints/ats/list-feedbacks-v-2026-09-17

## 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.deel.training/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

- `job_ids` (list of string, optional) — Filter feedback by job IDs.
- `application_ids` (list of string, optional) — Filter feedback by application IDs.
- `candidate_ids` (list of string, optional) — Filter feedback by candidate IDs.
- `reviewer_hris_organization_user_ids` (list of string, optional) — Filter feedback by the HRIS organization user IDs of the reviewers (interviewers) who owe or submitted it.
- `interview_plan_stage_ids` (list of string, optional) — Filter feedback by the interview plan stage of the activity it belongs to (stage ids from GET /rest/ats/jobs/\{job\_id}/interview-plan-stages).
- `scheduled_interview_ids` (list of string, optional) — Filter feedback by the scheduled interview it was collected for (ids from GET /rest/ats/interviews).
- `status` (enum, optional) — SUBMITTED returns completed scorecards; NOT_SUBMITTED returns feedback still owed by a reviewer.
  - Allowed values: `SUBMITTED`, `NOT_SUBMITTED`
- `activity_type` (enum, optional) — Filter by the kind of activity the feedback belongs to.
  - Allowed values: `INTERVIEW_SCHEDULING`, `APPLICATION_EVALUATION`, `EXERCISE`, `QUESTIONNAIRE`
- `submitted_after` (string, optional) — Return feedback submitted at or after this ISO 8601 datetime.
- `submitted_before` (string, optional) — Return feedback submitted at or before this ISO 8601 datetime.
- `updated_after` (string, optional) — Return feedback updated strictly after this ISO 8601 datetime (incremental sync).
- `include` (list of enum, optional) — Optional expansions. FORM_RESPONSES embeds the submitted scorecard answers (caps limit at 50).
  - Allowed values: `FORM_RESPONSES`
- `should_hide_sensitive_fields` (boolean, optional) — When true (default), form responses marked as sensitive are omitted.
- `sort_order` (enum, optional) — Order by feedback creation time.
  - Allowed values: `NEWEST_FIRST`, `OLDEST_FIRST`
- `cursor` (string, optional) — Pagination cursor returned by a previous response.
- `limit` (integer, optional) — Maximum number of feedback records per page (1-100; 1-50 with include=FORM_RESPONSES).

## Response

### 200

Paginated list of feedback records.

- `data` (list of AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItems, required) — Page of feedback records.
- `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 feedback records matching the filters.

## Errors

### 400 Bad Request Error

Operation failed.

- `errors` (list of AtsFeedbacksGetResponsesContentApplicationJsonSchemaErrorsItems, 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 AtsFeedbacksGetResponsesContentApplicationJsonSchemaErrorsItems, 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 AtsFeedbacksGetResponsesContentApplicationJsonSchemaErrorsItems, required) — List of error objects

## Types

### AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItems

- `id` (string, required) — Unique identifier of the feedback record.
- `status` (enum, required) — Submission status.
  - Allowed values: `SUBMITTED`, `NOT_SUBMITTED`
- `reviewer` (AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsReviewer, required) — Reviewer who owes or provided the feedback.
- `created_at` (string, required) — When the feedback request was created.
- `updated_at` (string, required) — When the feedback was last updated.
- `application` (AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsApplication, required) — Application the feedback is about.
- `submitted_at` (string, required, nullable) — When the feedback was submitted; null while still owed.
- `activity_type` (enum, required, nullable) — Kind of activity the feedback belongs to.
  - Allowed values: `INTERVIEW_SCHEDULING`, `APPLICATION_EVALUATION`, `EXERCISE`, `QUESTIONNAIRE`, `EMAIL_SENDING`
- `feedback_form` (AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsFeedbackForm, required) — Scorecard template used.
- `scheduled_interview` (AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsScheduledInterview, required, nullable) — The interview the feedback was collected for; null for non-interview activities.
- `interview_plan_stage` (AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsInterviewPlanStage, required, nullable) — Interview plan stage the activity belongs to.
- `overall_recommendation` (AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsOverallRecommendation, required, nullable) — The recommendation the reviewer selected; null while pending.
- `application_activity_id` (string, required) — Activity the feedback belongs to.
- `application_interview_plan_stage_id` (string, required, nullable) — Application stage record the activity belongs to.
- `form_responses` (list of AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsFormResponsesItems, optional, nullable) — Submitted scorecard answers. Present only when include=FORM_RESPONSES is requested; null when nothing was submitted.

### AtsFeedbacksGetResponsesContentApplicationJsonSchemaErrorsItems

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

### AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsReviewer

Reviewer who owes or provided the feedback.

- `participant_hris_organization_user_id` (string, required) — HRIS organization user ID of the reviewer.
- `reviewer_profile` (AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsReviewerReviewerProfile, optional, nullable)

### AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsApplication

Application the feedback is about.

- `id` (string, required) — Application identifier.
- `job` (AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsApplicationJob, required) — Job of the application.
- `candidate` (AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsApplicationCandidate, required) — Candidate on the application.
- `current_application_interview_plan_stage` (AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsApplicationCurrentApplicationInterviewPlanStage, required, nullable) — Where the candidate is now.

### AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsFeedbackForm

Scorecard template used.

- `id` (string, required) — Feedback form identifier.
- `title` (string, required) — Feedback form title.

### AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsScheduledInterview

The interview the feedback was collected for; null for non-interview activities.

- `id` (string, required) — Scheduled interview identifier.
- `ends_at` (string, required, nullable) — Interview end.
- `starts_at` (string, required, nullable) — Interview start.
- `status_enum` (string, required) — Interview status.
- `has_happened` (boolean, required) — True when the interview took place; combine with status NOT_SUBMITTED to find overdue scorecards.

### AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsInterviewPlanStage

Interview plan stage the activity belongs to.

- `id` (string, required) — Interview plan stage identifier.
- `name` (string, required) — Customer-defined stage name.
- `category_type_slug` (string, required) — Stage category: lead, active or completed.

### AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsOverallRecommendation

The recommendation the reviewer selected; null while pending.

- `scale_id` (string, required) — Feedback scale identifier.
- `scale_title` (string, required, nullable) — Feedback scale title.
- `scale_item_id` (string, required) — Selected scale item.
- `scale_item_label` (string, required) — Label of the selected scale item.
- `scale_items_count` (integer, required) — Number of items in the scale.
- `scale_item_position` (integer, required) — Zero-based position of the selected item within its scale, lowest first — comparable across labels.

### AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsFormResponsesItems

- `answer` (AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsFormResponsesItemsAnswer, required) — Answer value; shape varies by question type (string, number, array, or object).
- `question_text` (string, required) — Text of the scorecard question.
- `question_type` (string, required) — Type of the question field.

### AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsReviewerReviewerProfile

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

### AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsApplicationJob

Job of the application.

- `id` (string, required) — Job identifier.
- `title` (string, required) — Job title.

### AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsApplicationCandidate

Candidate on the application.

- `id` (string, required) — Candidate identifier.
- `email` (string, required) — Candidate email.
- `last_name` (string, required) — Candidate last name.
- `first_name` (string, required) — Candidate first name.

### AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsApplicationCurrentApplicationInterviewPlanStage

Where the candidate is now.

- `id` (string, required) — Current application stage record.
- `interview_plan_stage` (AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsApplicationCurrentApplicationInterviewPlanStageInterviewPlanStage, required, nullable) — The current interview plan stage.

### AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsFormResponsesItemsAnswer

Answer value; shape varies by question type (string, number, array, or object).

- string
- double
- boolean
- list of any
- map from string to any

### AtsFeedbacksGetResponsesContentApplicationJsonSchemaDataItemsApplicationCurrentApplicationInterviewPlanStageInterviewPlanStage

The current interview plan stage.

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

## Examples

**Response**

```json
{
  "data": [
    {
      "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
      "status": "SUBMITTED",
      "reviewer": {
        "participant_hris_organization_user_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
        "reviewer_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"
        }
      },
      "created_at": "2026-05-30T14:00:00Z",
      "updated_at": "2026-06-01T10:00: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"
        },
        "current_application_interview_plan_stage": {
          "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
          "interview_plan_stage": {
            "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
            "name": "Offer"
          }
        }
      },
      "submitted_at": "2026-06-01T10:00:00Z",
      "activity_type": "INTERVIEW_SCHEDULING",
      "feedback_form": {
        "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
        "title": "Technical Interview Scorecard"
      },
      "scheduled_interview": {
        "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
        "ends_at": "2026-06-01T10:00:00Z",
        "starts_at": "2026-06-01T09:00:00Z",
        "status_enum": "COMPLETED",
        "has_happened": true
      },
      "interview_plan_stage": {
        "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
        "name": "Technical Interview",
        "category_type_slug": "active"
      },
      "overall_recommendation": {
        "scale_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
        "scale_title": "Recommendation",
        "scale_item_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
        "scale_item_label": "Strong Yes",
        "scale_items_count": 4,
        "scale_item_position": 3
      },
      "application_activity_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
      "application_interview_plan_stage_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
      "form_responses": [
        {
          "answer": "Great communicator",
          "question_text": "How well did the candidate communicate?",
          "question_type": "FreeText"
        }
      ]
    }
  ],
  "has_more": false,
  "next_cursor": "eyJpZCI6IjEyMzQifQ==",
  "total_count": 42
}
```

**SDK Code**

```python
import requests

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

querystring = {"activity_type":"INTERVIEW_SCHEDULING","application_ids":"[\"f47ac10b-58cc-4372-a567-0e02b2c3d479\"]","candidate_ids":"[\"f47ac10b-58cc-4372-a567-0e02b2c3d479\"]","cursor":"eyJpZCI6IjEyMzQifQ==","include":"[\"FORM_RESPONSES\"]","interview_plan_stage_ids":"[\"f47ac10b-58cc-4372-a567-0e02b2c3d479\"]","job_ids":"[\"f47ac10b-58cc-4372-a567-0e02b2c3d479\"]","limit":"30","reviewer_hris_organization_user_ids":"[\"f47ac10b-58cc-4372-a567-0e02b2c3d479\"]","scheduled_interview_ids":"[\"f47ac10b-58cc-4372-a567-0e02b2c3d479\"]","should_hide_sensitive_fields":"true","sort_order":"NEWEST_FIRST","status":"SUBMITTED","submitted_after":"2026-01-01T00:00:00Z","submitted_before":"2026-12-31T23:59:59Z","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/feedbacks?activity_type=INTERVIEW_SCHEDULING&application_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&candidate_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&cursor=eyJpZCI6IjEyMzQifQ%3D%3D&include=%5B%22FORM_RESPONSES%22%5D&interview_plan_stage_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&job_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&limit=30&reviewer_hris_organization_user_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&scheduled_interview_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&should_hide_sensitive_fields=true&sort_order=NEWEST_FIRST&status=SUBMITTED&submitted_after=2026-01-01T00%3A00%3A00Z&submitted_before=2026-12-31T23%3A59%3A59Z&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/feedbacks?activity_type=INTERVIEW_SCHEDULING&application_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&candidate_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&cursor=eyJpZCI6IjEyMzQifQ%3D%3D&include=%5B%22FORM_RESPONSES%22%5D&interview_plan_stage_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&job_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&limit=30&reviewer_hris_organization_user_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&scheduled_interview_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&should_hide_sensitive_fields=true&sort_order=NEWEST_FIRST&status=SUBMITTED&submitted_after=2026-01-01T00%3A00%3A00Z&submitted_before=2026-12-31T23%3A59%3A59Z&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/feedbacks?activity_type=INTERVIEW_SCHEDULING&application_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&candidate_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&cursor=eyJpZCI6IjEyMzQifQ%3D%3D&include=%5B%22FORM_RESPONSES%22%5D&interview_plan_stage_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&job_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&limit=30&reviewer_hris_organization_user_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&scheduled_interview_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&should_hide_sensitive_fields=true&sort_order=NEWEST_FIRST&status=SUBMITTED&submitted_after=2026-01-01T00%3A00%3A00Z&submitted_before=2026-12-31T23%3A59%3A59Z&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/feedbacks?activity_type=INTERVIEW_SCHEDULING&application_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&candidate_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&cursor=eyJpZCI6IjEyMzQifQ%3D%3D&include=%5B%22FORM_RESPONSES%22%5D&interview_plan_stage_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&job_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&limit=30&reviewer_hris_organization_user_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&scheduled_interview_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&should_hide_sensitive_fields=true&sort_order=NEWEST_FIRST&status=SUBMITTED&submitted_after=2026-01-01T00%3A00%3A00Z&submitted_before=2026-12-31T23%3A59%3A59Z&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/feedbacks?activity_type=INTERVIEW_SCHEDULING&application_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&candidate_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&cursor=eyJpZCI6IjEyMzQifQ%3D%3D&include=%5B%22FORM_RESPONSES%22%5D&interview_plan_stage_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&job_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&limit=30&reviewer_hris_organization_user_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&scheduled_interview_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&should_hide_sensitive_fields=true&sort_order=NEWEST_FIRST&status=SUBMITTED&submitted_after=2026-01-01T00%3A00%3A00Z&submitted_before=2026-12-31T23%3A59%3A59Z&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/feedbacks?activity_type=INTERVIEW_SCHEDULING&application_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&candidate_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&cursor=eyJpZCI6IjEyMzQifQ%3D%3D&include=%5B%22FORM_RESPONSES%22%5D&interview_plan_stage_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&job_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&limit=30&reviewer_hris_organization_user_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&scheduled_interview_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&should_hide_sensitive_fields=true&sort_order=NEWEST_FIRST&status=SUBMITTED&submitted_after=2026-01-01T00%3A00%3A00Z&submitted_before=2026-12-31T23%3A59%3A59Z&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/feedbacks?activity_type=INTERVIEW_SCHEDULING&application_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&candidate_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&cursor=eyJpZCI6IjEyMzQifQ%3D%3D&include=%5B%22FORM_RESPONSES%22%5D&interview_plan_stage_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&job_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&limit=30&reviewer_hris_organization_user_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&scheduled_interview_ids=%5B%22f47ac10b-58cc-4372-a567-0e02b2c3d479%22%5D&should_hide_sensitive_fields=true&sort_order=NEWEST_FIRST&status=SUBMITTED&submitted_after=2026-01-01T00%3A00%3A00Z&submitted_before=2026-12-31T23%3A59%3A59Z&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()
```