---
title: "Get the latest capable-to-promise calculation for a quote"
method: GET
path: "/api/quotes/{quoteId}/capable-to-promise"
tags: ["Quote"]
---

# Get the latest capable-to-promise calculation for a quote

`GET /api/quotes/{quoteId}/capable-to-promise`

## Request

- Base URL: `https://api.fulcrumpro.com`
- URL: `https://api.fulcrumpro.com/api/quotes/{quoteId}/capable-to-promise`
- Auth: none declared

Returns the latest calculation that has started for the quote. A calculation queued with Calculate Quote
Capable To Promise is not returned until it starts; until then this returns the previous calculation, so
compare `createdUtc` with the value read before to tell when the new one has replaced it. A quote with
no calculation returns `notRun`. Each run is one job-priority scenario; its `estimatedEndUtc` is
when the whole quote could be made at that priority, and is null when any of its lines has no estimated end.

## Path parameters

- `quoteId` string, required

## Response `200`

The latest calculation for the quote

- QuoteCapableToPromiseDto: The latest capable-to-promise calculation for a quote: when its work could be made.
  - `status` 'notRun' | 'running' | 'succeeded' | 'failed', required: Where the latest capable-to-promise calculation for a quote stands.
  - `createdUtc` string, date-time, nullable: When this calculation was recorded. Until a newly queued calculation starts, the previous one is returned, so compare this with the value read before to tell when a new calculation has replaced it. Null when none has run.
  - `startedUtc` string, date-time, nullable: When the latest calculation started. Null when none has run, or when it was refused or failed: a failure is recorded without run times.
  - `endedUtc` string, date-time, nullable: When the latest calculation ended. Null while it is running, when none has run, or when it was refused or failed.
  - `failureMessage` string, nullable: Why the latest calculation failed, when it did.
  - `warnings` string[], required: Messages for the warnings the latest calculation raised.
  - `runs` QuoteCapableToPromiseRunDto[], required: One scenario per job priority, ordered high, moderate, low, then lineItem. Empty unless a calculation produced estimates.
    - `priority` 'high' | 'moderate' | 'low' | 'lineItem', required: The job priority a capable-to-promise scenario schedules the quote's work at.
    - `estimatedStartUtc` string, date-time, nullable: The earliest estimated start across the scenario's work. Null when no work was scheduled.
    - `estimatedEndUtc` string, date-time, nullable: The latest estimated end across the scenario's work: when the whole quote could be made. Null when no work was scheduled, or when any of its work has no estimated end.
    - `lines` QuoteCapableToPromiseLineDto[], required: The estimate for each quote part line that needed work scheduled, ordered by `partLineItemId`.
      - `partLineItemId` string, required: Id of the quote part line item.
      - `estimatedStartUtc` string, date-time, nullable: When work on the line is estimated to start. Null when it could not be scheduled.
      - `estimatedEndUtc` string, date-time, nullable: When work on the line is estimated to end. Null when it could not be scheduled.

## Other responses

- `403`: Capable to promise is disabled for this site
- `404`: Quote did not exist

## Changes

- **2026-10-03** `99282ee7a0b6`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/changes/api/quotes/:quoteId/capable-to-promise/get.md)

---

[API](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi.md) - [All operations](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/llms.txt) - [OpenAPI document](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/revisions/c9e6f41852d1?raw)
