extractBidRequirements
Requires permission biddesk:bid:update.
Reads one READY PDF or spreadsheet file of a bid in the background and leaves AI suggestions — requirements with their page (or sheet and row) and exact quote, and clarification questions — for a person to accept or reject; nothing becomes a requirement until accepted. Follow progress with bidAiRuns and read the result with bidAiSuggestions. A second call while one runs for the file returns its run ids and starts nothing. Refused with RFQ_TOO_LARGE above 200 pages or 20,000 rows, RFQ_UNSUPPORTED_FILE for other files, and not found for a bid or file the caller may not see. Requires Bid Desk and permission to update bids.
Errors: a failed call returns a GraphQL errors entry, not a field on the result, and data may be null or partial. Read the entry's extensions.code and message; every shape and code is in the Error reference.
Example:
- GraphQL
- cURL
mutation ExtractBidRequirements($bidId: ID!, $fileId: ID!) {
extractBidRequirements(bidId: $bidId, fileId: $fileId) {
runIds
started
}
}
curl -X POST "https://<api-host>/graphql" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
--data @- <<'EOF'
{
"query": "mutation ExtractBidRequirements($bidId: ID!, $fileId: ID!) {\n extractBidRequirements(bidId: $bidId, fileId: $fileId) {\n runIds\n started\n }\n}",
"variables": {
"bidId": "id",
"fileId": "id"
}
}
EOF
Variables:
{
"bidId": "id",
"fileId": "id"
}
Response:
{
"data": {
"extractBidRequirements": {
"runIds": [
"id"
],
"started": true
}
}
}
extractBidRequirements(
bidId: ID!
fileId: ID!
): BidRequirementExtraction!
Arguments
extractBidRequirements.bidId ● ID! non-null scalar
The bid.
extractBidRequirements.fileId ● ID! non-null scalar
The bid's RFQ file (PDF or spreadsheet).
Type
BidRequirementExtraction object
Whether a requirement extraction started, and the AI runs it has so far.