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

# Get a deal

> One deal in full. Stakeholders, stage history, activity, filed objections and competitors, health, and win odds.

One deal in full. Stakeholders with their role in the decision, stage history, activity, the objections, competitors, budget, and timeline filed to it, health, and win odds for an open deal.

An `implied:<account_id>` id on an account that has CRM deals returns `404`. Open one of the CRM deals instead.


## OpenAPI

````yaml GET /v2/deals/{id}
openapi: 3.1.0
info:
  title: OpenNous REST API
  version: 2.0.0
  description: >-
    Read and write the OpenNous revenue context graph over HTTP. Authenticate
    with a workspace API key.
servers:
  - url: https://api.opennous.cloud
    description: OpenNous Cloud
security:
  - bearerAuth: []
  - apiKeyHeader: []
tags:
  - name: People
  - name: Accounts
  - name: Deals
  - name: Notes
  - name: Attention
  - name: Insights
  - name: Enrich & score
  - name: Organization
  - name: Workflows
  - name: Webhooks
    description: >-
      Subscribe to events and have them pushed to your own stack, with the
      account record attached.
  - name: Usage
paths:
  /v2/deals/{id}:
    get:
      tags:
        - Deals
      summary: Get a deal
      description: >-
        One deal in full. Stakeholders, stage history, activity, filed
        objections and competitors, health, and win odds.
      operationId: getDeal
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: CRM deal entity UUID, or `implied:<account_id>`.
          example: d3c1b2a0-5e4f-4a7b-9c8d-1e2f3a4b5c6d
      responses:
        '200':
          description: The deal.
          content:
            application/json:
              schema:
                type: object
                properties:
                  deal:
                    $ref: '#/components/schemas/DealDetail'
              example:
                deal:
                  id: d3c1b2a0-5e4f-4a7b-9c8d-1e2f3a4b5c6d
                  name: Acme — 40 seats
                  account:
                    entity_id: 3e7a1d52-8c4b-4b9e-a0f3-6d2c9e8b7a15
                    name: Acme
                    domain: acme.com
                  stage: Discovery call
                  canonical_stage: discovery
                  status: open
                  amount: 48000
                  currency: USD
                  close_date: '2026-11-15'
                  owner:
                    name: Jordan Lee
                    email: jordan@yourco.com
                  pipeline:
                    id: default
                    name: Sales pipeline
                  health: 71
                  win_probability: 0.42
                  close_within_30d: 0.18
                  last_activity_at: '2026-09-24T15:02:00Z'
                  implied: false
                  stakeholders:
                    - entity_id: 9b2f6c1e-4d3a-4f7e-9a51-2c8d7e3b1f40
                      name: Sarah Chen
                      title: VP Sales
                      role: champion
                      conversations: 6
                  stage_history:
                    - stage: Discovery call
                      canonical_stage: discovery
                      entered_at: '2026-09-24'
                      days: 6
                      current: true
                  claims:
                    objections: []
                    competitors: []
                    budget: []
                    timeline: []
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/UpgradeRequired'
        '404':
          description: >-
            No such deal, outside this key's book, or an implied id on an
            account that has CRM deals.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                deal_not_found:
                  summary: deal_not_found
                  value:
                    error: deal_not_found
                has_crm_deals:
                  summary: deal_not_found
                  value:
                    error: deal_not_found
                    detail: this account has CRM deals; open one of those
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  schemas:
    DealDetail:
      allOf:
        - $ref: '#/components/schemas/DealSummary'
        - type: object
          properties:
            health_detail:
              type:
                - object
                - 'null'
              description: Health score with its factors.
            opened_date:
              type:
                - string
                - 'null'
            days_in_stage:
              type:
                - integer
                - 'null'
            products:
              type: array
              items: {}
            roster_known:
              type: boolean
            stakeholders:
              type: array
              items:
                type: object
                properties:
                  entity_id:
                    type: string
                    format: uuid
                  name:
                    type:
                      - string
                      - 'null'
                  title:
                    type:
                      - string
                      - 'null'
                  role:
                    type:
                      - string
                      - 'null'
                    description: Their role in the decision, from what was said about them.
                  conversations:
                    type:
                      - integer
                      - 'null'
            stage_history:
              type: array
              items:
                type: object
                properties:
                  stage:
                    type: string
                  canonical_stage:
                    type:
                      - string
                      - 'null'
                  entered_at:
                    type:
                      - string
                      - 'null'
                  days:
                    type:
                      - integer
                      - 'null'
                  current:
                    type: boolean
            activity:
              type: array
              description: Up to 50 activities.
              items:
                type: object
                properties:
                  id:
                    type: string
                  type:
                    type: string
                  occurred_at:
                    type: string
                  source:
                    type:
                      - string
                      - 'null'
                  person:
                    type:
                      - object
                      - 'null'
                  summary:
                    type:
                      - string
                      - 'null'
                  filed_to_deal:
                    type: boolean
            claims:
              type: object
              description: Objections, competitors, budget, and timeline filed to the deal.
              properties:
                objections:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      content:
                        type: string
                      label:
                        type:
                          - string
                          - 'null'
                      voiced_by:
                        type:
                          - string
                          - 'null'
                      at:
                        type:
                          - string
                          - 'null'
                      filed_to_deal:
                        type: boolean
                competitors:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      content:
                        type: string
                      label:
                        type:
                          - string
                          - 'null'
                      voiced_by:
                        type:
                          - string
                          - 'null'
                      at:
                        type:
                          - string
                          - 'null'
                      filed_to_deal:
                        type: boolean
                budget:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      content:
                        type: string
                      label:
                        type:
                          - string
                          - 'null'
                      voiced_by:
                        type:
                          - string
                          - 'null'
                      at:
                        type:
                          - string
                          - 'null'
                      filed_to_deal:
                        type: boolean
                timeline:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      content:
                        type: string
                      label:
                        type:
                          - string
                          - 'null'
                      voiced_by:
                        type:
                          - string
                          - 'null'
                      at:
                        type:
                          - string
                          - 'null'
                      filed_to_deal:
                        type: boolean
            close_record:
              type:
                - object
                - 'null'
            line_items:
              type: array
              items: {}
            attributed_count:
              type: integer
    Error:
      type: object
      description: >-
        Every error response. `error` is a stable machine code. Some errors add
        fields such as `detail`, `supported`, `max`, or `reason`.
      required:
        - error
      properties:
        error:
          type: string
          description: Machine-readable error code.
        detail:
          type: string
          description: Human-readable explanation, when there is one.
      additionalProperties: true
    DealSummary:
      type: object
      properties:
        id:
          type: string
          description: CRM deal entity UUID, or `implied:<account_id>`.
        name:
          type: string
        account:
          type:
            - object
            - 'null'
          properties:
            entity_id:
              type: string
              format: uuid
            name:
              type:
                - string
                - 'null'
            domain:
              type:
                - string
                - 'null'
        stage:
          type:
            - string
            - 'null'
          description: The stage as the CRM (or the workspace's own ladder) names it.
        canonical_stage:
          type:
            - string
            - 'null'
          enum:
            - identified
            - connected
            - interested
            - meeting_booked
            - discovery
            - demo
            - negotiation
            - closed_won
            - closed_lost
            - disqualified
            - churned
            - null
          description: '`stage` mapped onto the standard ladder.'
        status:
          type: string
          enum:
            - open
            - won
            - lost
        amount:
          type:
            - number
            - 'null'
        currency:
          type:
            - string
            - 'null'
        close_date:
          type:
            - string
            - 'null'
        owner:
          type:
            - object
            - 'null'
          properties:
            name:
              type:
                - string
                - 'null'
            email:
              type:
                - string
                - 'null'
        pipeline:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
            name:
              type:
                - string
                - 'null'
        health:
          type:
            - number
            - 'null'
        win_probability:
          type:
            - number
            - 'null'
          description: Chance the deal is won. Open deals only.
        close_within_30d:
          type:
            - number
            - 'null'
          description: Chance it is won within 30 days. Open deals only.
        last_activity_at:
          type:
            - string
            - 'null'
          format: date-time
        implied:
          type: boolean
          description: True for an account's implied deal, which is not a CRM record.
  responses:
    Unauthorized:
      description: Missing, unknown, or expired API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            missing:
              summary: api_key_required
              value:
                error: api_key_required
            invalid:
              summary: invalid_api_key
              value:
                error: invalid_api_key
            expired:
              summary: api_key_expired
              value:
                error: api_key_expired
                detail: >-
                  This API key has expired. Create or rotate a key to get a
                  fresh one.
    UpgradeRequired:
      description: The workspace is past its monthly operations limit and grace window.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: upgrade_required
            reason: ops_limit_reached
            current_plan: starter
            upgrade_url: /settings?section=billing
    RateLimited:
      description: More than 600 requests in a minute on this key.
      headers:
        RateLimit-Limit:
          schema:
            type: integer
          description: Requests allowed per window.
        RateLimit-Remaining:
          schema:
            type: integer
          description: Requests left in the window.
        RateLimit-Reset:
          schema:
            type: integer
          description: Seconds until the window resets.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: rate_limited
    InternalError:
      description: Unexpected server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: internal_error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Workspace API key. Create one in **Settings → API keys**.
    apiKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
      description: The same key, sent as a header.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.