Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/upwork-organizations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Upwork REST Organizations API
description: The legacy Upwork REST API covering reports, financial data, organization management, and freelancer time entries. Authentication uses OAuth 2.0. Many resources have been migrated to the GraphQL API at api.upwork.com/graphql.
version: '3.0'
contact:
name: Upwork Developer Support
url: https://support.upwork.com/hc/en-us/sections/17976982721555-Upwork-API
x-generated-from: documentation
servers:
- url: https://www.upwork.com/api
description: Upwork REST API
security:
- oauth2AuthCode: []
tags:
- name: Organizations
description: Team and organization management.
paths:
/v3/hr/v2/teams:
get:
operationId: listTeams
summary: Upwork List Teams
description: List all teams in the authenticated user's organization.
tags:
- Organizations
responses:
'200':
description: List of teams
content:
application/json:
schema:
$ref: '#/components/schemas/TeamListResponse'
examples:
listTeams200Example:
summary: Default listTeams 200 response
x-microcks-default: true
value:
teams:
- id: team-abc123
name: Engineering Team
status: active
company_id: company-abc123
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v3/hr/v2/engagements:
get:
operationId: listEngagements
summary: Upwork List Engagements
description: List all engagements (contracts) for the authenticated user's account.
tags:
- Organizations
parameters:
- name: status
in: query
description: Filter by engagement status
schema:
type: string
enum:
- active
- closed
example: active
responses:
'200':
description: List of engagements
content:
application/json:
schema:
$ref: '#/components/schemas/EngagementListResponse'
examples:
listEngagements200Example:
summary: Default listEngagements 200 response
x-microcks-default: true
value:
engagements:
- id: engagement-abc123
status: active
job_title: Python Developer
provider_id: ~abc123
rate: 75.0
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
EngagementListResponse:
type: object
description: List of engagements
properties:
engagements:
type: array
items:
$ref: '#/components/schemas/Engagement'
Team:
type: object
description: An Upwork team within an organization
properties:
id:
type: string
example: team-abc123
name:
type: string
example: Engineering Team
status:
type: string
enum:
- active
- inactive
example: active
company_id:
type: string
example: company-abc123
Engagement:
type: object
description: An engagement (contract) on Upwork
properties:
id:
type: string
example: engagement-abc123
status:
type: string
enum:
- active
- closed
example: active
job_title:
type: string
example: Python Developer
provider_id:
type: string
example: ~abc123
rate:
type: number
example: 75.0
TeamListResponse:
type: object
description: List of teams
properties:
teams:
type: array
items:
$ref: '#/components/schemas/Team'
APIError:
type: object
description: API error response
properties:
error:
type: string
example: unauthorized
message:
type: string
example: Authentication failed.
code:
type: integer
example: 401
securitySchemes:
oauth2AuthCode:
type: oauth2
description: OAuth 2.0 authorization code flow
flows:
authorizationCode:
authorizationUrl: https://www.upwork.com/ab/account-security/oauth2/authorize
tokenUrl: https://www.upwork.com/api/v3/oauth2/token
scopes:
openid: Access to user identity
reports:read: Read financial reports
contracts:read: Read contract data
externalDocs:
description: Upwork Developer Documentation
url: https://developers.upwork.com/