---
title: "List role applications"
---

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

Path: Sureshake API › hiring

`GET /v2/hiring/roles/{id}/applications`

## Path parameters

- `id` (`hiring-list-role-applications.path.id`; string, required)
  - format `uuid`

## Query parameters

- `entityId` (`hiring-list-role-applications.query.entityId`; string, required)
  - format `uuid`
- `status` (`hiring-list-role-applications.query.status`; string, optional)
  - one of `"submitted"`, `"reviewing"`, `"evaluated"`, `"hired"`, `"rejected"`, `"withdrawn"`
- `limit` (`hiring-list-role-applications.query.limit`; integer, optional)
  - min 1; max 100; default `20`
- `offset` (`hiring-list-role-applications.query.offset`; integer, optional)
  - min 0; default `0`

## Code samples

### cURL

```bash
curl --request GET \
  --url 'https://api.sureshake.com/v2/hiring/roles/<id>/applications?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08'
```

### TypeScript

```typescript
const url = 'https://api.sureshake.com/v2/hiring/roles/<id>/applications?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08';
const options = {method: 'GET'};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://api.sureshake.com/v2/hiring/roles/<id>/applications?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"

response = requests.get(url)

print(response.text)
```

## Responses

### 200

Default Response

#### Example

```json
{
  "data": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "roleId": "7382d58e-652a-4905-b7c9-bcca1e0e5391",
      "candidateId": "string",
      "status": "submitted",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z",
      "submittedAt": "2019-08-24T14:15:22Z",
      "role": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
        "title": "string",
        "description": "string",
        "location": "string",
        "remotePolicy": "remote",
        "salaryRange": {
          "min": 0,
          "max": 0,
          "currency": "string",
          "period": "hourly"
        },
        "status": "draft",
        "visibility": "public",
        "publishedAt": "2019-08-24T14:15:22Z",
        "closesAt": "2019-08-24T14:15:22Z",
        "createdAt": "2019-08-24T14:15:22Z",
        "updatedAt": "2019-08-24T14:15:22Z",
        "problemSpecs": [
          {
            "id": "string",
            "prompt": "string",
            "successCriteria": "string",
            "orderIndex": 0
          }
        ],
        "rubric": {
          "version": 0,
          "dimensions": [
            {
              "id": "string",
              "name": "string",
              "description": "string",
              "weight": 0,
              "scaleMin": 0,
              "scaleMax": 0
            }
          ],
          "createdAt": "string"
        },
        "entity": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "name": "string",
          "slug": "string",
          "logoUrl": "string",
          "verified": true
        }
      },
      "candidate": {
        "id": "string",
        "name": "string",
        "email": "string",
        "avatarUrl": "string"
      },
      "proofPack": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "portfolioIds": [
          "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        ],
        "additionalResponses": [
          {
            "problemSpecId": "string",
            "responseText": "string",
            "claimTags": [
              "string"
            ]
          }
        ]
      },
      "feedback": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
        "applicationId": "97ab27fa-30e2-43e3-92a3-160e80f4c0d5",
        "candidateVisible": true,
        "summary": "string",
        "tags": {
          "strengths": [
            "string"
          ],
          "gaps": [
            "string"
          ],
          "recommendations": [
            "string"
          ]
        },
        "publishedAt": "2019-08-24T14:15:22Z",
        "createdAt": "2019-08-24T14:15:22Z"
      },
      "reviewStartedAt": "2019-08-24T14:15:22Z",
      "evaluatedAt": "2019-08-24T14:15:22Z",
      "closedAt": "2019-08-24T14:15:22Z"
    }
  ],
  "meta": {
    "total": 0,
    "limit": 0,
    "offset": 0,
    "hasMore": true,
    "page": 0,
    "totalPages": 0
  }
}
```

- `data` (`hiring-list-role-applications.response.200.data`; array<object>, required)
  - `id` (`hiring-list-role-applications.response.200.data.id`; string, required)
    - format `uuid`
  - `roleId` (`hiring-list-role-applications.response.200.data.roleId`; string, required)
    - format `uuid`
  - `candidateId` (`hiring-list-role-applications.response.200.data.candidateId`; string, required)
  - `status` (`hiring-list-role-applications.response.200.data.status`; string, required)
    - one of `"submitted"`, `"reviewing"`, `"evaluated"`, `"hired"`, `"rejected"`, `"withdrawn"`
  - `createdAt` (`hiring-list-role-applications.response.200.data.createdAt`; string, required)
    - format `date-time`
  - `updatedAt` (`hiring-list-role-applications.response.200.data.updatedAt`; string, required)
    - format `date-time`
  - `submittedAt` (`hiring-list-role-applications.response.200.data.submittedAt`; string, required)
    - format `date-time`
  - `role` (`hiring-list-role-applications.response.200.data.role`; object, optional)
    - `id` (`hiring-list-role-applications.response.200.data.role.id`; string, required)
      - format `uuid`
    - `entityId` (`hiring-list-role-applications.response.200.data.role.entityId`; string, required)
      - format `uuid`
    - `title` (`hiring-list-role-applications.response.200.data.role.title`; string, required)
    - `description` (`hiring-list-role-applications.response.200.data.role.description`; string, required, nullable)
    - `location` (`hiring-list-role-applications.response.200.data.role.location`; string, required, nullable)
    - `remotePolicy` (`hiring-list-role-applications.response.200.data.role.remotePolicy`; string, required, nullable)
      - one of `"remote"`, `"hybrid"`, `"onsite"`
    - `salaryRange` (`hiring-list-role-applications.response.200.data.role.salaryRange`; object, required, nullable)
      - `min` (`hiring-list-role-applications.response.200.data.role.salaryRange.min`; number, optional)
      - `max` (`hiring-list-role-applications.response.200.data.role.salaryRange.max`; number, optional)
      - `currency` (`hiring-list-role-applications.response.200.data.role.salaryRange.currency`; string, optional)
      - `period` (`hiring-list-role-applications.response.200.data.role.salaryRange.period`; string, optional)
        - one of `"hourly"`, `"monthly"`, `"yearly"`
    - `status` (`hiring-list-role-applications.response.200.data.role.status`; string, required)
      - one of `"draft"`, `"published"`, `"closed"`
    - `visibility` (`hiring-list-role-applications.response.200.data.role.visibility`; string, required)
      - one of `"public"`, `"unlisted"`, `"private"`
    - `publishedAt` (`hiring-list-role-applications.response.200.data.role.publishedAt`; string, required, nullable)
      - format `date-time`
    - `closesAt` (`hiring-list-role-applications.response.200.data.role.closesAt`; string, required, nullable)
      - format `date-time`
    - `createdAt` (`hiring-list-role-applications.response.200.data.role.createdAt`; string, required)
      - format `date-time`
    - `updatedAt` (`hiring-list-role-applications.response.200.data.role.updatedAt`; string, required)
      - format `date-time`
    - `problemSpecs` (`hiring-list-role-applications.response.200.data.role.problemSpecs`; array<object>, optional)
      - `id` (`hiring-list-role-applications.response.200.data.role.problemSpecs.id`; string, required)
      - `prompt` (`hiring-list-role-applications.response.200.data.role.problemSpecs.prompt`; string, required)
      - `orderIndex` (`hiring-list-role-applications.response.200.data.role.problemSpecs.orderIndex`; number, required)
      - `successCriteria` (`hiring-list-role-applications.response.200.data.role.problemSpecs.successCriteria`; string, optional)
    - `rubric` (`hiring-list-role-applications.response.200.data.role.rubric`; object, optional, nullable)
      - `version` (`hiring-list-role-applications.response.200.data.role.rubric.version`; number, required)
      - `dimensions` (`hiring-list-role-applications.response.200.data.role.rubric.dimensions`; array<object>, required)
        - `id` (`hiring-list-role-applications.response.200.data.role.rubric.dimensions.id`; string, required)
        - `name` (`hiring-list-role-applications.response.200.data.role.rubric.dimensions.name`; string, required)
        - `weight` (`hiring-list-role-applications.response.200.data.role.rubric.dimensions.weight`; number, required)
        - `scaleMin` (`hiring-list-role-applications.response.200.data.role.rubric.dimensions.scaleMin`; number, required)
        - `scaleMax` (`hiring-list-role-applications.response.200.data.role.rubric.dimensions.scaleMax`; number, required)
        - `description` (`hiring-list-role-applications.response.200.data.role.rubric.dimensions.description`; string, optional)
      - `createdAt` (`hiring-list-role-applications.response.200.data.role.rubric.createdAt`; string, optional)
    - `entity` (`hiring-list-role-applications.response.200.data.role.entity`; object, optional)
      - `id` (`hiring-list-role-applications.response.200.data.role.entity.id`; string, required)
        - format `uuid`
      - `name` (`hiring-list-role-applications.response.200.data.role.entity.name`; string, required)
      - `slug` (`hiring-list-role-applications.response.200.data.role.entity.slug`; string, required)
      - `logoUrl` (`hiring-list-role-applications.response.200.data.role.entity.logoUrl`; string, required, nullable)
      - `verified` (`hiring-list-role-applications.response.200.data.role.entity.verified`; boolean, required)
  - `candidate` (`hiring-list-role-applications.response.200.data.candidate`; object, optional)
    - `id` (`hiring-list-role-applications.response.200.data.candidate.id`; string, required)
    - `name` (`hiring-list-role-applications.response.200.data.candidate.name`; string, required, nullable)
    - `email` (`hiring-list-role-applications.response.200.data.candidate.email`; string, required, nullable)
    - `avatarUrl` (`hiring-list-role-applications.response.200.data.candidate.avatarUrl`; string, required, nullable)
  - `proofPack` (`hiring-list-role-applications.response.200.data.proofPack`; object, optional, nullable)
    - `id` (`hiring-list-role-applications.response.200.data.proofPack.id`; string, required)
      - format `uuid`
    - `portfolioIds` (`hiring-list-role-applications.response.200.data.proofPack.portfolioIds`; array<string>, required)
      - format `uuid`
    - `additionalResponses` (`hiring-list-role-applications.response.200.data.proofPack.additionalResponses`; array<object>, required)
      - `problemSpecId` (`hiring-list-role-applications.response.200.data.proofPack.additionalResponses.problemSpecId`; string, required)
      - `responseText` (`hiring-list-role-applications.response.200.data.proofPack.additionalResponses.responseText`; string, required)
      - `claimTags` (`hiring-list-role-applications.response.200.data.proofPack.additionalResponses.claimTags`; array<string>, optional)
  - `feedback` (`hiring-list-role-applications.response.200.data.feedback`; object, optional, nullable)
    - `id` (`hiring-list-role-applications.response.200.data.feedback.id`; string, required)
      - format `uuid`
    - `entityId` (`hiring-list-role-applications.response.200.data.feedback.entityId`; string, required)
      - format `uuid`
    - `applicationId` (`hiring-list-role-applications.response.200.data.feedback.applicationId`; string, required)
      - format `uuid`
    - `candidateVisible` (`hiring-list-role-applications.response.200.data.feedback.candidateVisible`; boolean, required)
    - `summary` (`hiring-list-role-applications.response.200.data.feedback.summary`; string, required, nullable)
    - `tags` (`hiring-list-role-applications.response.200.data.feedback.tags`; object, required, nullable)
      - `strengths` (`hiring-list-role-applications.response.200.data.feedback.tags.strengths`; array<string>, optional)
      - `gaps` (`hiring-list-role-applications.response.200.data.feedback.tags.gaps`; array<string>, optional)
      - `recommendations` (`hiring-list-role-applications.response.200.data.feedback.tags.recommendations`; array<string>, optional)
    - `publishedAt` (`hiring-list-role-applications.response.200.data.feedback.publishedAt`; string, required)
      - format `date-time`
    - `createdAt` (`hiring-list-role-applications.response.200.data.feedback.createdAt`; string, required)
      - format `date-time`
  - `reviewStartedAt` (`hiring-list-role-applications.response.200.data.reviewStartedAt`; string, optional, nullable)
    - format `date-time`
  - `evaluatedAt` (`hiring-list-role-applications.response.200.data.evaluatedAt`; string, optional, nullable)
    - format `date-time`
  - `closedAt` (`hiring-list-role-applications.response.200.data.closedAt`; string, optional, nullable)
    - format `date-time`
- `meta` (`hiring-list-role-applications.response.200.meta`; object, required)
  - `total` (`hiring-list-role-applications.response.200.meta.total`; number, required) — Total number of items available
  - `limit` (`hiring-list-role-applications.response.200.meta.limit`; number, required) — Number of items per page
  - `offset` (`hiring-list-role-applications.response.200.meta.offset`; number, required) — Number of items skipped
  - `hasMore` (`hiring-list-role-applications.response.200.meta.hasMore`; boolean, required) — Whether more items are available
  - `page` (`hiring-list-role-applications.response.200.meta.page`; number, optional) — Current page number
  - `totalPages` (`hiring-list-role-applications.response.200.meta.totalPages`; number, optional) — Total number of pages

### 400

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`hiring-list-role-applications.response.400.error`; object, required)
  - `code` (`hiring-list-role-applications.response.400.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`hiring-list-role-applications.response.400.error.message`; string, required) — Human-readable error message
  - `details` (`hiring-list-role-applications.response.400.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`hiring-list-role-applications.response.400.error.traceId`; string, optional) — Unique ID for log correlation

### 401

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`hiring-list-role-applications.response.401.error`; object, required)
  - `code` (`hiring-list-role-applications.response.401.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`hiring-list-role-applications.response.401.error.message`; string, required) — Human-readable error message
  - `details` (`hiring-list-role-applications.response.401.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`hiring-list-role-applications.response.401.error.traceId`; string, optional) — Unique ID for log correlation

### 403

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`hiring-list-role-applications.response.403.error`; object, required)
  - `code` (`hiring-list-role-applications.response.403.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`hiring-list-role-applications.response.403.error.message`; string, required) — Human-readable error message
  - `details` (`hiring-list-role-applications.response.403.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`hiring-list-role-applications.response.403.error.traceId`; string, optional) — Unique ID for log correlation

### 404

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`hiring-list-role-applications.response.404.error`; object, required)
  - `code` (`hiring-list-role-applications.response.404.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`hiring-list-role-applications.response.404.error.message`; string, required) — Human-readable error message
  - `details` (`hiring-list-role-applications.response.404.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`hiring-list-role-applications.response.404.error.traceId`; string, optional) — Unique ID for log correlation

### 409

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`hiring-list-role-applications.response.409.error`; object, required)
  - `code` (`hiring-list-role-applications.response.409.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`hiring-list-role-applications.response.409.error.message`; string, required) — Human-readable error message
  - `details` (`hiring-list-role-applications.response.409.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`hiring-list-role-applications.response.409.error.traceId`; string, optional) — Unique ID for log correlation

### 500

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`hiring-list-role-applications.response.500.error`; object, required)
  - `code` (`hiring-list-role-applications.response.500.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`hiring-list-role-applications.response.500.error.message`; string, required) — Human-readable error message
  - `details` (`hiring-list-role-applications.response.500.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`hiring-list-role-applications.response.500.error.traceId`; string, optional) — Unique ID for log correlation

### 503

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`hiring-list-role-applications.response.503.error`; object, required)
  - `code` (`hiring-list-role-applications.response.503.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`hiring-list-role-applications.response.503.error.message`; string, required) — Human-readable error message
  - `details` (`hiring-list-role-applications.response.503.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`hiring-list-role-applications.response.503.error.traceId`; string, optional) — Unique ID for log correlation


Source: https://docs.sureshake.com/reference/hiring-list-role-applications/index.md
