---
title: "Get candidate's offer"
method: GET
path: "/candidates/{id}/jobs/{jobId}/offers/{offerId}"
tags: ["offers"]
---

# Get candidate's offer

`GET /candidates/{id}/jobs/{jobId}/offers/{offerId}`

## Request

- Base URL: `https://api.smartrecruiters.com`
- URL: `https://api.smartrecruiters.com/candidates/{id}/jobs/{jobId}/offers/{offerId}`
- Auth: one of:
  - API key in header `x-smarttoken`
  - OAuth 2
    - Authorization code: `https://www.smartrecruiters.com/identity/oauth/allow`
    - Token URL: `https://api.smartrecruiters.com/identity/oauth/token` scopes: `candidates_offers_read`

## Path parameters

- `offerId` string, required

## Response `200`

Candidate's offer

- Offer
  - `id` string, required
  - `status` 'CREATED' | 'PENDING_APPROVAL' | 'APPROVED' | 'NOT_APPROVED' | 'PENDING_ACCEPTANCE' | 'ACCEPTED' | 'NOT_ACCEPTED' | 'ABANDONED', required
  - `createdOn` string, date-time, required
  - `updatedOn` string, date-time, required
  - `properties` object
  - `propertiesDetails` FieldDetails[]: Additional details about the properties, including their origin and external code.
    - `mergeFieldKey` string, required: Key of the merge field used in the offer document template.
    - `key` string, required: Key of the underlying property.
    - `id` string, nullable: Identifier of the underlying property definition, null for ad hoc properties.
    - `origin` 'JOB_FIELD' | 'APPLICATION_FIELD' | 'OFFER_AD_HOC_FIELD', required: Origin of the property.
    - `value` FieldDetailsValue, required
      - `id` string, nullable: Identifier of the selected value, applicable to select-type properties.
      - `label` string, nullable: Human-readable label of the value.
      - `externalCode` string, nullable: External code of the selected value, if defined.
  - `actions` object, required
    - `candidate` Action, required
      - `url` string, required
      - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'OPTIONS' | 'DELETE' | 'HEAD' | 'CONNECT', required
    - `job` Action
      - `url` string, required
      - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'OPTIONS' | 'DELETE' | 'HEAD' | 'CONNECT', required
    - `details` Action, required
      - `url` string, required
      - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'OPTIONS' | 'DELETE' | 'HEAD' | 'CONNECT', required

## Other responses

- `401`: Candidate access denied
- `403`: with code **NO_ACCESS_TO_OFFERS** when not permitted to see offers
- `404`: Offer not found

---

[API](https://skmtc.dev/smartrecruiters/apis/offers-api-version-1.md) - [All operations](https://skmtc.dev/smartrecruiters/apis/offers-api-version-1/llms.txt) - [OpenAPI document](https://skmtc.dev/smartrecruiters/apis/offers-api-version-1/revisions/9e94f2223496?raw)
