Upwork · Schema

Job

A job posting on the Upwork marketplace

FreelancingJobsTalentMarketplaceContractsHiring

Properties

Name Type Description
id string Unique identifier for the job
title string Title of the job posting
description string Detailed description of the job requirements
status string Current status of the job posting
budget object
skills array Required skills for the job
createdDateTime string When the job was posted
client object
jobType string Type of job (hourly or fixed-price)
duration string Expected duration of the project
experienceLevel string Required experience level
View JSON Schema on GitHub

JSON Schema

graphql-job-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/upwork/refs/heads/main/json-schema/graphql-job-schema.json",
  "title": "Job",
  "description": "A job posting on the Upwork marketplace",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the job",
      "example": "~0123456789abcdef"
    },
    "title": {
      "type": "string",
      "description": "Title of the job posting",
      "example": "Python Developer for Data Pipeline"
    },
    "description": {
      "type": "string",
      "description": "Detailed description of the job requirements",
      "example": "Looking for an experienced Python developer..."
    },
    "status": {
      "type": "string",
      "description": "Current status of the job posting",
      "enum": [
        "open",
        "closed",
        "draft"
      ],
      "example": "open"
    },
    "budget": {
      "$ref": "#/components/schemas/Budget"
    },
    "skills": {
      "type": "array",
      "description": "Required skills for the job",
      "items": {
        "$ref": "#/components/schemas/Skill"
      }
    },
    "createdDateTime": {
      "type": "string",
      "format": "date-time",
      "description": "When the job was posted",
      "example": "2025-03-15T14:30:00Z"
    },
    "client": {
      "$ref": "#/components/schemas/Client"
    },
    "jobType": {
      "type": "string",
      "description": "Type of job (hourly or fixed-price)",
      "enum": [
        "hourly",
        "fixed-price"
      ],
      "example": "fixed-price"
    },
    "duration": {
      "type": "string",
      "description": "Expected duration of the project",
      "example": "1-3 months"
    },
    "experienceLevel": {
      "type": "string",
      "description": "Required experience level",
      "enum": [
        "entry",
        "intermediate",
        "expert"
      ],
      "example": "intermediate"
    }
  }
}