Upwork icon

Upwork

Interact with Upwork API to manage job posts and proposals

Actions3

Job Post → Create

AI-generated

Summary

Create a new job post on Upwork with specified details including title, description, job type, and optionally budget, hourly rate range, duration, experience level, required skills, and visibility.

Inputs

  • Title (required) — The title text of the job posting, e.g., 'Senior React Developer Needed'.
  • Description (required) — A detailed text description of the job to be posted.
  • Job Type (required) — Specifies whether the job is Fixed Price or Hourly.
  • Budget — For fixed price jobs, the total fixed budget in USD.
  • Hourly Rate Range — For hourly jobs, minimum and maximum hourly rates in USD.
  • Additional Options — Collection of optional parameters including duration (expected job length), experience level (entry, intermediate, expert), comma-separated skills list, and visibility (public, invite only, or Upwork Plus). These customize the job post beyond core required fields.

Output shape

a single JSON object representing the created job post's key properties such as ID, title, description, contract type, visibility, experience level, duration, creation date, and status.

If the API call fails, an error is thrown. The skills input string is split by commas into an array before sending. Budget is only set for fixed price jobs and hourly rate range only for hourly jobs.

Examples

Example 1: Create a fixed price job post

Title, Description, Job Type set to Fixed Price, Budget provided, plus optional duration, experience level, skills, and visibility.

Example 2: Create an hourly job post

Title, Description, Job Type set to Hourly, Hourly Rate Range with min and max values provided, plus optional duration, experience level, skills, and visibility.

Discussion