Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/harshalw2003/BidAuc/llms.txt

Use this file to discover all available pages before exploring further.

Bidding is the mechanism that connects Seekers with the right Provider for each job. When a Seeker posts a job, Providers on the platform can submit a bid — a proposal that includes a price and a description of how they would approach the work. The Seeker reviews all competing bids and accepts the one that best fits their needs. Accepting a bid closes the job to further bidding and formally assigns the Provider to the work.

Bid fields

Every bid submitted on a job contains the following data:
FieldTypeRequiredDescription
jobObjectIdYesReference to the job this bid is for.
offerPriceNumberYesThe Provider’s proposed price for completing the job.
descriptionStringNoDetails about the Provider’s approach or qualifications. Defaults to "No Description".
statusStringEither "unaccepted" (default) or "accepted". Set by the platform when the Seeker accepts.
timePostedDateTimestamp of when the bid was submitted.

Bidding flow

1

Provider browses available jobs

The Provider calls GET /job/getAllJobs to see all jobs currently open for bidding — those with bidStatus: "unaccepted". They review job details including category, description, urgency, and any attached images to decide which jobs to compete for.
GET /job/getAllJobs
2

Provider submits a bid

The Provider posts a bid on a job they want to take on. They supply the target job’s ID, their offer price, and an optional description of their proposal.
POST /bid/post
{
  "jobId": "<job_object_id>",
  "offerPrice": 150,
  "description": "I can complete this within 2 days using quality materials."
}
The bid is created with status: "unaccepted" and linked to the Provider’s user account via postedBy.
3

Seeker reviews all bids for their job

The Seeker calls POST /bid/getOneJobBids (passing the job ID) to retrieve every bid that has been submitted on their job. They can compare offer prices and read each Provider’s description before making a decision.
POST /bid/getOneJobBids
{
  "job": "<job_object_id>"
}
4

Seeker accepts a bid

When the Seeker has chosen a Provider, they call POST /bid/acceptedBids with the selected bid’s ID.
POST /bid/acceptedBids
{
  "bidId": "<bid_object_id>"
}
The platform then:
  • Sets the accepted bid’s status to "accepted"
  • Updates the job’s bidStatus to "accepted"
  • Assigns the job’s provider field to the winning Provider’s user ID
  • Records the bid reference in the job’s acceptedBid field
5

Job is assigned to the Provider

The job is now active and assigned. The Provider can see it under GET /job/getProviderActiveJobs. No further bids can be accepted for this job.The Provider can also review all jobs they have bid on (won or otherwise) via GET /job/getProviderBidPostedJobs.
Once a bid is accepted, no other bid on the same job can be accepted. The job’s bidStatus is set to "accepted" and is locked. If you attempt to accept a second bid on a job that already has an accepted bid, the request will be rejected. Make sure Seekers understand this is a one-time, irreversible action.

Tracking bid history

Providers can use the following endpoints to monitor their bidding activity:
EndpointDescription
GET /job/getProviderBidPostedJobsAll jobs where the Provider has submitted at least one bid
GET /job/getProviderActiveJobsJobs currently assigned to the Provider (bid was accepted)
GET /job/getProviderCompletedJobsJobs the Provider has completed
A Provider can submit bids on multiple jobs simultaneously. There is no limit on the number of active bids a Provider can have outstanding across different jobs.

Build docs developers (and LLMs) love