RFQ

Note

api.rfq covers the 7 /rfq/{rfqId}/* lifecycle methods (get, accept, decline, cancel, accept_winner, add_comment, get_for_job).

The 2 job-scoped /job/{jobDisplayId}/rfq/* routes now live at ab.api.endpoints.jobs.rfq.JobRfqEndpoint (api.jobs.rfq).

class ab.api.endpoints.rfq.RFQEndpoint(client)[source]

RFQ lifecycle operations (ACPortal API).

Parameters:

client (HttpClient)

get(rfq_id)[source]

GET /rfq/{rfqId}

Docs: https://ab-sdk.readthedocs.io/en/latest/api/rfq/get.html Response model: QuoteRequestDisplayInfo

Parameters:

rfq_id (str)

Return type:

QuoteRequestDisplayInfo

get_for_job(job_id)[source]

GET /rfq/forjob/{jobId}

Docs: https://ab-sdk.readthedocs.io/en/latest/api/rfq/get_for_job.html Query params: RfqForJobParams Response model: List[QuoteRequestDisplayInfo]

Parameters:

job_id (str)

Return type:

list[QuoteRequestDisplayInfo]

accept(rfq_id, *, data)[source]

POST /rfq/{rfqId}/accept.

Parameters:
  • rfq_id (str) – RFQ identifier.

  • data (AcceptModel | dict) – Acceptance payload. Accepts an AcceptModel instance or a dict.

Return type:

None

Request model: AcceptModel

Docs: https://ab-sdk.readthedocs.io/en/latest/api/rfq/accept.html Request model: AcceptModel

decline(rfq_id)[source]

POST /rfq/{rfqId}/decline

Docs: https://ab-sdk.readthedocs.io/en/latest/api/rfq/decline.html

Parameters:

rfq_id (str)

Return type:

None

cancel(rfq_id)[source]

POST /rfq/{rfqId}/cancel

Docs: https://ab-sdk.readthedocs.io/en/latest/api/rfq/cancel.html

Parameters:

rfq_id (str)

Return type:

None

accept_winner(rfq_id)[source]

POST /rfq/{rfqId}/acceptwinner

Docs: https://ab-sdk.readthedocs.io/en/latest/api/rfq/accept_winner.html Query params: RfqAcceptWinnerParams

Parameters:

rfq_id (str)

Return type:

None

add_comment(rfq_id, *, data)[source]

POST /rfq/{rfqId}/comment.

Parameters:
  • rfq_id (str) – RFQ identifier.

  • data (AcceptModel | dict) – Comment payload. Accepts an AcceptModel instance or a dict.

Return type:

None

Request model: AcceptModel

Docs: https://ab-sdk.readthedocs.io/en/latest/api/rfq/add_comment.html Request model: AcceptModel

Per-endpoint reference

Each route-backed method has its own page rendering the HTTP route, the Python and CLI call signatures, and the request/response model field tables. This is the page help(api.rfq.<method>) links to via its Docs: footer. These pages are generated by scripts/generate_endpoint_docs.py and kept current by a CI freshness gate.

Methods

get

GET /rfq/{rfqId} — Retrieve a single RFQ by ID.

Returns: QuoteRequestDisplayInfo

rfq = api.rfq.get("rfq-uuid-here")
print(rfq.status, rfq.quoted_price)

get_for_job

GET /rfq/forjob/{jobId} — List all RFQs for a job.

Returns: list[QuoteRequestDisplayInfo]`

rfqs = api.rfq.get_for_job("job-uuid")

accept

POST /rfq/{rfqId}/accept — Accept an RFQ quote.

api.rfq.accept("rfq-uuid", notes="Accepted")

decline

POST /rfq/{rfqId}/decline — Decline an RFQ quote.

api.rfq.decline("rfq-uuid")

cancel

POST /rfq/{rfqId}/cancel — Cancel an RFQ.

api.rfq.cancel("rfq-uuid")

accept_winner

POST /rfq/{rfqId}/acceptwinner — Accept the winning quote.

api.rfq.accept_winner("rfq-uuid")

add_comment

POST /rfq/{rfqId}/comment — Add a comment to an RFQ.

api.rfq.add_comment("rfq-uuid", notes="Follow-up comment")

Job-Scoped RFQ Methods

These methods are on JobsEndpoint:

  • api.jobs.list_rfqs(job_display_id)GET /job/{id}/rfq

  • api.jobs.get_rfq_status(job_display_id, service_type, company_id)GET /job/{id}/rfq/statusof/{type}/forcompany/{id}