The workroom/{bidId}/actions method requests a list of Workroom features that can be accessed by users, along with their accompanying URLs on the Elance Web site.

This method must be called using an HTTPS GET request. All responses are returned in the JSON format.

I. Preconditions

This method requires that the calling application has authenticated a user with the OAuth 2.0 protocol, as described on the Getting Started page.

II. Required URL Parameters

Parameter Description
bidId The unique ID assigned by Elance to the Workroom.

III. Optional Query String Parameters

This method defines no additional query string parameters.

IV. Response Data Description

Property Name Data Type Description
bidData BidData object Information on the associated Workroom identified by the bidId parameter.
jobData JobData object Information on the associated job to which this Workroom belongs.
hasArchive boolean True if the project's historical data is preserved; otherwise, false.
actions Array of Action objects A zero-based array of available actions. See below for a description of the properties associated with the Action object.

1. BidData Object Data Description

Property Name Data Type Description
bidId integer The unique ID, assigned by Elance, associated with this bid. This ID is also the unique ID of the project's Workroom, which is created for each proposal as soon as a proposal is submitted.
jobId integer The unique ID of the associated job to which this Workroom is attached.
jobName string The name of the associated job, as chosen by the employer when the job was posted.
userType string Specifies the role occupied by the currently logged in user in this project.
clientUserId integer The unique integer ID assigned to the employer on Elance.
clientUserName string The unique text string chosen by the employer as her Elance login.
clientName string The individual or corporate name of the employer.
clientImageURL string The URL resource pointer to the picture representing the employer, such as a photograph or a logo.
clientCountry string The employer's country, returned as the full name of the nation.
clientCountryCode string The alpha-2 country code for the employer's country of residence, as specified by ISO 3166-1.
providerUserId integer The unique ID of the contractor, as assigned by Elance.
providerName string The legal name of the contractor.
providerCompany string The name of the contractor's business. If the contractor is a sole proprietor, this name will be equal to the value of the providerName property.
providerCompanyURL string The URL to the Web site of the contractor's business.
providerImageURL string The URL resource pointer to the picture representing the contractor, such as a photograph or a business logo.
providerProfileURL string The URL to the contractor's Elance profile.
providerJobHistoryURL string A URL linking to a page on Elance.com that displays the recent Elance jobs worked by the contractor.
providerImageURL string The URL resource pointer to the picture representing the contractor, such as a photograph or a business logo.
providerCountry string The contractor's country, returned as the full name of the nation.
providerCountryCode string The alpha-2 country code for the contractor's country of residence, as specified by ISO 3166-1.
providerCity string The contractor's city of residence.
providerState string The contractor's state or province of residence.
providerRegion string Region where the contractor resides. For example: North America or Europe.
providerHourlyRate string The average amount that the contractor charges on an hourly basis.
providerIdVerified boolean True if the contractor has verified her identity using Elance's identity verification service; otherwise, false.
providerIsBusiness boolean True if the contractor is a legal business entity; otherwise, false.
phase integer (Enumeration) A value indicating the current state of the project, such as whether it is open, in progress, or complete. See Phase Enumeration for valid values.
status string A textual representation of the current phase of the project. Used for display purposes only; the values returned for this property may change without notice.
secondaryStatus string A textual representation of the current phase of the project.
isHourly boolean True if the contractor charges the employer for every hour worked; false if the job is fixed price, and paid according to the fulfillment of milestones agreed upon by the employer and the contractor.
isSponsored boolean True if the contractor paid additional Connect points to promote this bid in the bid listings; otherwise, false.
isDelisted boolean True if this bid has been removed due to a violation of Elance policies; otherwise, false.
isPreBid boolean True if the bid represents a question from the contractor to the employer, and does not include a price quote; otherwise, false.
isAwarded boolean True if this bid was selected as the winning bid for the associated job; otherwise, false.
isCompleted boolean True if the associated project has been marked by both the employer and the contractor as finished; otherwise, false.
bidAmount decimal (JSON string) The total amount, in US dollars, that the contractor is proposing as the project cost.
hourlyRate decimal (JSON string) The amount per hour that the contractor proposes charging for this work. If the job is a fixed-price job, this property will be an empty string.
hoursPerWeek integer (JSON string) The number of hours the contractor proposes working each week until project completion.
duration integer The proposed time it will take to complete the project. This unit is either days, weeks, or months, and depends upon the desired timeframe initially selected by the employer.
submissionDate timestamp The time, expressed in seconds elapsed since January 1st, 1970, on which this proposal was submitted by the contractor to the employer.
awardedDate timestamp The time, expressed in seconds elapsed since January 1st, 1970, on which the employer selected this proposal as the winning bid.
contractEndDate string The day by which the contract should be completed. For hourly projects, this marks the final day on which billed hours will be auto-approved.
milestonesCount integer The number of status checkpoints associated with this project.
milestonesCompleted integer The number of project status checkpoints that have elapsed as of the current day.
deliveryCode integer (JSON string)

2. JobData Object Data Description

Property Data Type Description
jobId integer The unique ID of the job, as supplied in the jobId URL parameter.
userType string Specifies the role occupied by the currently logged in user in this project.
name string The one-line description given to the job by the employer.
description string A long description of the job and what it entails.
budget string A text string representing the range of acceptable bids, as set by the employer when the job was created. This may either be a fixed price range or a range for hourly payment, depending on the job type. This string is meant for display only, and may change in future releases.
budgetMin integer (JSON string) The upper limit on project bids, as specified by the employer.
budgetMax integer (JSON string) The lower limit on project bids, as specified by the employer.
numProposals integer The number of bids and plans for project execution that have been submitted by potential contractors.
postedDate Date The month, day and year on which the job was submitted to Elance.
startDate Date The month, day and year on which the project is expected to begin.
endDate date The date when bidding for this job ends, in the format DD-MM-YY.
timeLeft string The number of days and hours before bidding is closed on this project. (NOTE: This is a human-readable text value; its format may change without notice.)
clientUserId integer The unique integer ID assigned to the employer on Elance.
clientUserName string The unique text string chosen by the employer as her Elance login.
clientName string The individual or corporate name of the employer.
clientImageURL string The URL resource pointer to the picture representing the employer, such as a photograph or a logo.
clientCountry string The employer's country, returned as the full name of the nation.
clientCountryCode string The alpha-2 country code for the employer's country of residence, as specified by ISO 3166-1.
isHourly boolean (JSON true or false) True if the job is paid on an hourly basis; otherwise, false.
isEscrow boolean (JSON true or false) True if the Elance Escrow service is being used for payment processing; otherwise, false.
jobCatId integer (JSON string) The numeric ID, assigned by Elance, that represents the primary category for this job. A list of all job categories is available using the categories method.
category string The text representing the type of work represented by this project, as chosen by the employer.
subcategory string The label that further specifies the category of work to be performed.
searchURL string A URL pointing to the Elance Web site that displays a list of jobs in the same category as this job.
recommendURL string A URL on the Elance Web site that employers can use to invite prospective candidates.
phase integer (Enumeration) A value indicating the current state of the project, such as whether it is open, in progress, or complete. See Phase Enumeration for valid values.
isAwarded boolean True if this job has been given to a contractor; otherwise, false.
reasonComments string A human-readable description expanding on the current state of the project.
keepOpenAfterAward boolean True if the employer opted to keep soliciting bids after the project was assigned to a contractor; otherwise, false.
reuseTerms boolean True if the contract terms were reused from another project; otherwise, false.
groupOnlyBids boolean True if the employer is only accepting bids on this project from groups and companies; otherwise, false.
jobURL string The full path to the job listing on elance.com.

3. ActionObject Data Description

Property Name Data Type Description
URL string The full path to this feature, with the bidId parameter embedded as a query string parameter.
code string The short, one-word abbreviation or name by which the action is known.
title string The name of the feature as it is displayed to the user on the Elance Web site.

V. Request/Response Examples in JSON

1. Requesting a List of Actions for a Workroom

The following URL requests a list of available actions for the Workroom identified by the bid ID 27614904.

A. Request

https://api.elance.com/api2/workroom/27614904/actions?access_token=4eb1de8bf06b10210e000005|3680366|Ygi54KkpjuLRO3k8KPkjTw

B. Response

{
   "data": {
      "bidData": {
         "bidId": "30561769",
         "jobId": "30561768",
         "jobName": "PHP Development Required ASAP",
         "userType": "PROVIDER",
         "clientUserId": "4124673",
         "clientUserName": "m_eriksen",
         "clientName": "m_eriksen",
         "clientImageURL": "https://elance.com/media/images/4.0/no-photo-64x80.jpg",
         "clientCountry": "United States",
         "clientCountryCode": "US",
         "providerUserId": "4124672",
         "providerUserName": "t_mosby",
         "providerName": "Ted Mosby",
         "providerCompany": "Ted Mosby",
         "providerCompanyURL": "https://elance.com/s/t_mosby/",
         "providerImageURL": "https://elance.com/media/images/4.0/no-photo-64x80.jpg",
         "providerProfileURL": "https://elance.com/s/t_mosby/",
         "providerJobHistoryURL": "https://elance.com/s/t_mosby/job-history/",
         "providerCountry": "United States",
         "providerCountryCode": "US",
         "providerCity": "Seattle",
         "providerState": "WA",
         "providerRegion": "021",
         "providerHourlyRate": "33",
         "providerIdVerified": false,
         "providerIsBusiness": false,
         "phase": "5",
         "status": "Working",
         "secondaryStatus": "",
         "isHourly": false,
         "isSponsored": false,
         "isDelisted": false,
         "isPreBid": false,
         "isAwarded": true,
         "isCompleted": true,
         "bidAmount": "2191.78",
         "hourlyRate": "0",
         "hoursPerWeek": "0",
         "duration": "",
         "submissionDate": 1337659200,
         "awardedDate": 1337659200,
         "contractEndDate": "Jul 22, 2012",
         "milestonesCount": 1,
         "milestonesCompleted": 0,
         "deliveryCodeId": "13012"
      },
      "jobData": {
         "jobId": "30561768",
         "userType": "PROVIDER",
         "name": "PHP Development Required ASAP",
         "description": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
         "budget": " $1,000 - $5,000",
         "budgetMin": "1000",
         "budgetMax": "5000",
         "numProposals": "1",
         "postedDate": 1337659200,
         "startDate": 1337659200,
         "endDate": 1337659200,
         "timeLeft": "Closed",
         "clientUserId": "4124673",
         "clientUserName": "m_eriksen",
         "clientName": "m_eriksen",
         "clientImageURL": "https://elance.com/media/images/4.0/no-photo-64x80.jpg",
         "clientCountry": "United States",
         "clientCountryCode": "US",
         "isHourly": false,
         "isEscrow": true,
         "jobCatId": "10183",
         "category": "IT & Programming",
         "subcategory": "Web Programming",
         "searchURL": "https://elance.com/r/contractors/cat-it-programming/",
         "recommendURL": "https://elance.com/jobInviteCandidates?jobid=30561768",
         "phase": "2",
         "isAwarded": "Y",
         "reasonComments": "Client Closed Project. Reason: Picked Winner Early<p>",
         "keepOpenAfterAward": false,
         "reuseTerms": false,
         "groupOnlyBids": false,
         "jobURL": "https://elance.com/j/php-development-required-asap/30561768/"
      },
      "actions": [
         {
            "url": "https://elance.com/php/collab/main/collab.php bidid=30561769",
            "title": "Messages",
            "code": "pmb"
         },
         {
            "url": "https://elance.com/php/project/main/projectInvoices.php?bidid=30561769",
            "title": "Billing & Invoices",
            "code": "billing"
         },
         {
            "url": "https://elance.com/php/workspace/main/fileList.php?bidid=30561769",
            "title": "Files",
            "code": "file_list"
         },
         {
            "url": "https://elance.com/php/workview/main/workviewPage.php?bidid=30561769",
            "title": "Work View&trade;",
            "code": "workview"
         },
         {
            "url": "https://elance.com/php/statusreport/main/statusReportList.php?bidid=30561769",
            "title": "Status Reports",
            "code": "status_reports"
         },
         {
            "url": "https://elance.com/terms?bidid=30561769",
            "title": "Terms & Milestones",
            "code": "terms"
         },
         {
            "url": "https://elance.com/j/php-development-required-asap/30561768/",
            "title": "Proposal List",
            "code": "proposal_list"
         },
         {
            "url": "https://elance.com/php/project/main/projectTeam.php?bidid=30561769",
            "title": "Team",
            "code": "team"
         },
         {
            "url": "https://elance.com/repeat?bidid=30561769",
            "title": "Submit Repeat Project",
            "code": "repeat_job"
         },
         {
            "url": "https://elance.com/php/dispute/main/request.php?bidid=30561769",
            "title": "Refund, Cancel or Dispute",
            "code": "cancel_job"
         },
         {
            "code": "workroom_alerts"
         }
      ]
   }
}

VI. Error Codes

Error Description
E_WORKROOM_INVALID_BID Either the bidId supplied in the URL is invalid, or the currently logged in user does not have permission to access that Workroom.

For a list of additional error codes that can be thrown by this method, see Common API Error Codes.