---
title: "Get an opportunity"
method: GET
path: "/v1/opportunities/{id}"
tags: ["Opportunities"]
---

# Get an opportunity

`GET /v1/opportunities/{id}`

Retrieve an opportunity by ID

## Path parameters

- `id` string, required

## Response `200`

successful

- Opportunity
  - `id` string, required — The opportunity ID
  - `name` string, required — The name of the opportunity
  - `value` integer, nullable — The monetary value of the opportunity in dollars
  - `probability` integer, nullable — The probability of closing (0-100)
  - `target_close_date` string, date-time, nullable — Expected close date
  - `stage_updated_at` string, date-time, nullable — When the opportunity last moved stages. Useful for stage aging and pipeline reporting.
  - `book_id` string, required — The book ID
  - `household_id` string, nullable — The household ID (null for unassociated opportunities)
  - `opportunityable_type` 'Household' | 'Contact' | 'Business', nullable — The related record type for this opportunity
  - `opportunityable_id` string, nullable — The related record ID for this opportunity
  - `opportunityable` object, nullable — Compact related record payload for the opportunity
    - `id` string
    - `name` string, nullable
    - `type` string
  - `pipeline` Pipeline, required
    - `id` string, required — The pipeline ID
    - `name` string, required — The name of the pipeline
    - `pipeline_type` 'prospect' | 'client', nullable — Deprecated legacy pipeline type for client/prospect-only pipelines
    - `audience_types` string[], required — Record audiences supported by this pipeline
    - `default_pipeline_types` string[] — Legacy default client/prospect types served by this pipeline
    - `book_id` string, nullable — The book ID
    - `pipeline_stages` PipelineStage[] — Ordered pipeline stages
      - `id` string, required — The pipeline stage ID
      - `name` string, required — The name of the pipeline stage
      - `stage_order` integer — The stage order within the pipeline
      - `visible` boolean — Whether this stage is visible by default
      - `default_probability` integer, nullable — Default probability for opportunities in this stage
  - `pipeline_stage` PipelineStage, required
    - `id` string, required — The pipeline stage ID
    - `name` string, required — The name of the pipeline stage
    - `stage_order` integer — The stage order within the pipeline
    - `visible` boolean — Whether this stage is visible by default
    - `default_probability` integer, nullable — Default probability for opportunities in this stage
  - `custom_fields` object — Custom field values as key-value pairs
  - `assigned_to` User, required
    - `id` string, required — The ID of the user
    - `email` string, email, required — Email address of the user
    - `first_name` string, nullable, required — First name of the user
    - `last_name` string, nullable, required — Last name of the user
    - `api_access` object — Authentication details for the current personal access token. Only present on /v1/me when authenticating with a PAT.
      - `auth_type` 'personal_access_token'
      - `scope` 'read_only' | 'read_write'
  - `created_at` string, date-time — When the opportunity was created
  - `updated_at` string, date-time — When the opportunity was last updated

## Other responses

- `400` — bad request - invalid JSON
- `401` — unauthorized - missing or invalid token
- `403` — forbidden
- `404` — not found

---

[API](https://skmtc.net/slant/apis/slant-public-api-v1.md) · [All operations](https://skmtc.net/slant/apis/slant-public-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/slant/slant-public-api-v1/revisions/b56e0d137554/schema)
