Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Xero Project API

The Project API from Xero — 7 operation(s) for project.

Xero Project API is one of 10 APIs that Xero publishes on the APIs.io network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification.

Tagged areas include Project. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an AsyncAPI specification.

This API exposes 16 operations across 7 paths, and defines 18 schemas. It is described by OpenAPI 3.0.0, at version 11.1.0.

Requests are made against a single base URL, https://api.xero.com/api.xro/2.0.

16 operations 7 paths 18 schemas 2 DELETE7 GET1 PATCH3 POST3 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
11.1.0
Base URL
https://api.xero.com/api.xro/2.0
Authentication
OAuth 2.0
Terms of Service
Resource Areas
1

Authentication & Security 1

Xero Project API declares 1 security scheme for authenticating requests. It supports OAuth 2.0 (OAuth2) using the authorizationCode flow, exposing 16 scopes.

  • OAuth2 — For more information

Paths & Operations 16

Across 7 paths, the API surfaces 16 operations — 2 DELETE, 7 GET, 1 PATCH, 3 POST, 3 PUT. Each is listed below with its method, path, parameters, and response codes.

Project 16
GET
/Projects
Xero Retrieves all projects
getProjects 6 params → 200400
POST
/Projects
Xero Create one or more new projects
createProject 2 params body → 201400
GET
/Projects/{projectId}
Xero Retrieves a single project
getProject 2 params → 200400
PUT
/Projects/{projectId}
Xero Updates a specific project
updateProject 3 params body → 204400
PATCH
/Projects/{projectId}
Xero creates a project for the specified contact
patchProject 3 params body → 204400
GET
/ProjectsUsers
Xero Retrieves a list of all project users
getProjectUsers 3 params → 200400
GET
/Projects/{projectId}/Tasks
Xero Retrieves all project tasks
getTasks 6 params → 200400
POST
/Projects/{projectId}/Tasks
Xero Allows you to create a task
createTask 3 params body → 201400
GET
/Projects/{projectId}/Tasks/{taskId}
Xero Retrieves a single project task
getTask 3 params → 200400
PUT
/Projects/{projectId}/Tasks/{taskId}
Xero Allows you to update a task
updateTask 4 params body → 204400
DELETE
/Projects/{projectId}/Tasks/{taskId}
Xero Allows you to delete a task
deleteTask 3 params → 204400
GET
/Projects/{projectId}/Time
Xero Retrieves all time entries associated with a specific project
getTimeEntries 12 params → 200400
POST
/Projects/{projectId}/Time
Xero Creates a time entry for a specific project
createTimeEntry 3 params body → 200400
GET
/Projects/{projectId}/Time/{timeEntryId}
Xero Retrieves a single time entry for a specific project
getTimeEntry 3 params → 200400
PUT
/Projects/{projectId}/Time/{timeEntryId}
Xero Updates a time entry for a specific project
updateTimeEntry 4 params body → 204400
DELETE
/Projects/{projectId}/Time/{timeEntryId}
Xero Deletes a time entry for a specific project
deleteTimeEntry 3 params → 204400

Schemas 18

The contract defines 18 schemas that model the data the API accepts and returns. The most detailed are Project (22 properties), Task (15 properties), TimeEntry (9 properties), TimeEntryCreateOrUpdate (5 properties). Each schema is shown below with its type and property counts.

Pagination
object
4 properties
ProjectPatch
object
1 property 1 required
CurrencyCode
string
3 letter alpha code for the ISO-4217 currency code, e.g. USD, AUD.
TaskCreateOrUpdate
object
4 properties 3 required
TimeEntries
object
2 properties
Tasks
object
2 properties
ProjectUsers
object
2 properties
Task
object
15 properties
ChargeType
string
Can be TIME, FIXED or NONCHARGEABLE, defines how the task will be charged. Use TIME when you want to charge per hour and FIXED to charge as a fixed amount. If…
Amount
object
2 properties
Projects
object
2 properties
Project
object
22 properties 1 required
TimeEntry
object
9 properties
ProjectUser
object
3 properties
ProjectCreateOrUpdate
object
4 properties 1 required
TimeEntryCreateOrUpdate
object
5 properties 4 required
ProjectStatus
string
Status for project
Error
object
2 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

xero-project-api-openapi.yml Raw ↑

Other APIs Xero publishes across the network.

Xero Accounting API
Xero Asset API
Xero BankFeeds API
Xero Files API
Xero Finance API
Xero Identity API
Xero PayrollAu API
Xero PayrollNz API
Xero PayrollUk API