How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
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.2.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.2.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
TaskCreateOrUpdate
object
4 properties 3 required
Error
object
2 properties
Tasks
object
2 properties
ProjectUser
object
3 properties
Task
object
15 properties
ProjectPatch
object
1 property 1 required
ProjectCreateOrUpdate
object
4 properties 1 required
CurrencyCode
string
3 letter alpha code for the ISO-4217 currency code, e.g. USD, AUD.
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…
TimeEntryCreateOrUpdate
object
5 properties 4 required
Projects
object
2 properties
ProjectStatus
string
Status for project
Amount
object
2 properties
ProjectUsers
object
2 properties
TimeEntry
object
9 properties
TimeEntries
object
2 properties
Project
object
22 properties 1 required

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
Where this information came from

This is an independent, third-party profile of Xero Project API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.