---
title: "View Quotes for an Opportunity"
method: POST
path: "/api/v2/quotes"
tags: ["CRM Integration"]
---

# View Quotes for an Opportunity

`POST /api/v2/quotes`

## Request

- Base URL: `https://api.dealhub.io`
- URL: `https://api.dealhub.io/api/v2/quotes`
- Auth: HTTP bearer

Retrieves a URL that redirects the user to the **My Proposals** page for a specific opportunity, showing all associated quotes.

## Request body

- ViewQuotesRequest
  - `dealhub_user_id` string, required: ID of user in the DealHub system (as returned from Authentication request).
  - `external_opportunity_id` string, required: CRM opportunity ID.
  - `opportunity_info` OpportunityInfo: A schema representing the data that can be sent to create or update an opportunity and its related quote.
    - `external_opportunity_name` string, required: CRM opportunity name.
    - `opportunity_owner` UserInformation
      - `external_user_id` string, required: CRM user ID (employee of the organization that integrates with DealHub).
      - `login` string: Login of the user. If a new user is created and login is not provided, the email will be used as the login.
      - `email` string, email, required: Primary email of the user.
      - `name` string, required: User's full name.
      - `position` string: The role of the user in the organization (job title).
      - `phone` string: User's phone number.
      - `mobile` string: User's mobile phone number.
      - `company` string: User's company name.
      - `street` string: Street name.
      - `city` string: City name.
      - `state` string: State name.
      - `country` string: Country name.
      - `postal_code` string: Postal code.
      - `user_manager_login` string: Login of the user's manager.
    - `external_quote_id` string: CRM quote ID.
    - `external_customer_id` string, required: CRM customer ID (buyer account).
    - `customer_name` string, required: CRM customer name.
    - `customer_shipping_address` Address
      - `street` string: Street name.
      - `city` string: City name.
      - `state` string: State name.
      - `country` string: Country name.
      - `postal_code` string: Postal code.
    - `customer_billing_address` Address
      - `street` string: Street name.
      - `city` string: City name.
      - `state` string: State name.
      - `country` string: Country name.
      - `postal_code` string: Postal code.
    - `customer_contacts` Contact[]: List of customer contacts.
      - `salutation` string: Salutation (e.g., Mr., Ms.).
      - `first_name` string, required: First name of the contact.
      - `last_name` string, required: Last name of the contact.
      - `title` string: Job title of the contact.
      - `email` string, email, required: Primary email of the contact.
      - `phone` string: Phone number of the contact.
      - `account_name` string: Name of the contact's company.
      - `mailing_address` string: Postal address of the contact person.
      - `primary_contact` boolean: Flag indicating if this is the primary contact.
    - `geo_code` string, required: Geographic code.
    - `currency` string, required: The currency ISO code. This is immutable once an opportunity/quote is created.
    - `custom_fields` CustomField[]: A list of custom fields, where each object contains a key/value pair. This parameter supports the following data types: * `Numeric`: A single numeric value. An empty value will be treated as `0`. * `Text`: The value is captured and presented to the user exactly as received. The `value` field must be an array with a single string. * `Text list`: Can contain one or more values. This can be used in two modes: * Single-select: Only one value can be chosen from the list. * Multi-select: Multiple values from the list can be selected. * `UTC`: A date and time value. The format must be `yyyy-mm-dd`. An empty value will be treated as `NULL`.
      - `name` string, required: The name of the custom field, which must be pre-configured in the DealHub version.
      - `value` union, required: The value of the custom field. The format depends on the field type configured in DealHub: * `Text`: Must be sent as an array containing a single string, for example, `["renewal_opportunity"]`. Sending a plain string will not be accepted. * `Text list`: An array of one or more string values. * `Numeric`: A single numeric value. * `UTC`: A date string in `yyyy-mm-dd` format.
        - string[]
        - number
        - string[]
    - `repeatable_groups` object[]: Used for subscription renewals. The system will attempt to render this data into the playbook; items that cannot be rendered will be ignored without error.
      - `group_id` string, required
      - `questions` object[], required

## Response `200`

Success. The response contains the URL for redirection.

- RedirectResponse
  - `url` string, uri: The URL to which the user's browser should be redirected.
  - `errors` string[]

## Other responses

- `400`: Bad Request.
- `403`: Unauthenticated.

---

[API](https://skmtc.dev/dealhub/apis/crm-api.md) - [All operations](https://skmtc.dev/dealhub/apis/crm-api/llms.txt) - [OpenAPI document](https://skmtc.dev/dealhub/apis/crm-api/revisions/b9e9ae2a98b5?raw)
