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:
- 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:
- accept(rfq_id, *, data)[source]
POST /rfq/{rfqId}/accept.
- Parameters:
rfq_id (str) – RFQ identifier.
data (AcceptModel | dict) – Acceptance payload. Accepts an
AcceptModelinstance or a dict.
- Return type:
None
Request model:
AcceptModelDocs: 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
AcceptModelinstance or a dict.
- Return type:
None
Request model:
AcceptModelDocs: 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}/rfqapi.jobs.get_rfq_status(job_display_id, service_type, company_id)—GET /job/{id}/rfq/statusof/{type}/forcompany/{id}