### Example Response for Get Job Time Entries (XML)
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
An example of the XML response when retrieving time sheet entries for a specific job. This format details each time entry with associated job, task, and staff information.
```xml
OK
```
--------------------------------
### Example Project Response
Source: https://developer.xero.com/documentation/api/projects/projects
This is an example of the JSON response when retrieving projects with the specified filters. It includes project details, financial summaries, and status.
```JSON
{
"pagination": {
"page": 1,
"pageSize": 50,
"pageCount": 1,
"itemCount": 1
}
},
"items": [
{
"projectId": "254553fa-2be8-4991-bd5e-70a97ea12ef8",
"contactId": "01234567-89ab-cdef-0123-456789abcdef",
"name": "New Kitchen",
"currencyCode": "",
"minutesLogged": 0,
"totalTaskAmount": {
"currency": "NZD",
"value": 0
},
"totalExpenseAmount": {
"currency": "NZD",
"value": 0
},
"minutesToBeInvoiced": 0,
"taskAmountToBeInvoiced": {
"currency": "NZD",
"value": 0
},
"taskAmountInvoiced": {
"currency": "NZD",
"value": 0
},
"expenseAmountToBeInvoiced": {
"currency": "NZD",
"value": 0
},
"expenseAmountInvoiced": {
"currency": "NZD",
"value": 0
},
"projectAmountInvoiced": {
"currency": "NZD",
"value": 0
},
"deposit": {
"currency": "NZD",
"value": 0
},
"depositApplied": {
"currency": "NZD",
"value": 0
},
"creditNoteAmount": {
"currency": "NZD",
"value": 0
},
"deadlineUtc": "",
"totalInvoiced": {
"currency": "NZD",
"value": 0
},
"totalToBeInvoiced": {
"currency": "NZD",
"value": 0
},
"estimate": {
"currency": "NZD",
"value": 99.99
},
"status": "INPROGRESS"
}
]
}
```
--------------------------------
### Example Response for Get Job Time Entries (JSON)
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
An example of the JSON response when retrieving time sheet entries for a specific job. This format details each time entry with associated job, task, and staff information, including conditional fields like start, end, and invoiceTaskUuid.
```json
{
"status": "OK",
"times": [
{
"uuid": "f8235e1a-d383-48b7-9139-ba97ab8ca889",
"job": {
"id": "J000001",
"name": "Brochure Template"
},
"task": {
"uuid": "faabafbe-1a8c-4172-b4a5-d989dda44ab5",
"name": "Design & Layout"
},
"staff": {
"uuid": "c2014300-12a3-4d98-9b83-0ff84ae1c72b",
"name": "Chris Spence"
},
"date": "2008-10-29T00:00:00",
"minutes": 240,
"note": "",
"billable": true,
"start": "13:00",
"end": "17:00",
"invoiceTaskUuid": ""
},
{
"uuid": "17cea522-77a8-4b38-912a-7bc6f6c6eca9",
"job": {
"id": "J000001",
"name": "Brochure Template"
},
"task": {
"uuid": "378300a7-dcb3-43ba-901d-d40c1fe14ba9",
"name": "Copywriting"
},
"staff": {
"uuid": "a6d22d8b-752b-4b50-854f-8ca5559061b4",
"name": "John Smith"
},
"date": "2008-11-04T00:00:00",
"minutes": 180,
"note": "",
"billable": true
}
]
}
```
--------------------------------
### Example JSON Response for Time Entry
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
This JSON response illustrates the structure of a detailed time entry. The 'start', 'end', and 'invoiceTaskUuid' fields are present only when applicable.
```JSON
{
"status": "OK",
"time": {
"uuid": "f8235e1a-d383-48b7-9139-ba97ab8ca889",
"job": {
"id": "J000001",
"name": "Brochure Template"
},
"task": {
"uuid": "faabafbe-1a8c-4172-b4a5-d989dda44ab5",
"name": "Design & Layout"
},
"staff": {
"uuid": "c2014300-12a3-4d98-9b83-0ff84ae1c72b",
"name": "Chris Spence"
},
"date": "2008-10-29T00:00:00",
"minutes": 240,
"note": "",
"billable": true,
"start": "13:00",
"end": "17:00",
"invoiceTaskUuid": ""
}
}
```
--------------------------------
### Example XML Response for Time Entry
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
This XML response shows the structure of a detailed time entry, including job, task, staff, date, minutes, and billable status. Fields like 'Start', 'End', and 'InvoiceTaskUUID' are conditionally included.
```XML
OK
```
--------------------------------
### Get Specific Client Group Response (XML)
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/client-groups
Example XML response for retrieving a client group. The 'Taxable' field is included if the Practice Management module is enabled.
```xml
OKf8235e1a-d383-48b7-9139-ba97ab8ca889Bloggs FamilyYesc2490566-78e2-4898-ad30-a3b220e98f47Jo Bloggsd9d3be65-9eb2-4cd4-ace4-e3089f28cfadBloggs Widget Ltd
```
--------------------------------
### GET projects
Source: https://developer.xero.com/documentation/api/projects/projects
Retrieves a list of projects. This endpoint allows users to fetch all available projects.
```APIDOC
## GET projects
### Description
Retrieves a list of projects.
### Method
GET
### Endpoint
/projects
### Parameters
#### Query Parameters
(No query parameters documented)
#### Path Parameters
(No path parameters documented)
### Request Example
(No request example documented)
### Response
#### Success Response (200)
(No response fields documented)
#### Response Example
(No response example documented)
```
--------------------------------
### Get Specific Client Group Response (JSON)
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/client-groups
Example JSON response for retrieving a client group. The 'taxable' field is returned if the Practice Management module is enabled.
```json
{
"status": "OK",
"group": {
"uuid": "f8235e1a-d383-48b7-9139-ba97ab8ca889",
"name": "Bloggs Family",
"taxable": "Yes",
"clients": [
{
"uuid": "c2490566-78e2-4898-ad30-a3b220e98f47",
"name": "Jo Bloggs"
},
{
"uuid": "d9d3be65-9eb2-4cd4-ace4-e3089f28cfad",
"name": "Bloggs Widget Ltd"
}
]
}
}
```
--------------------------------
### GET list
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
Return a list of all time sheet entries.
```APIDOC
## GET list
### Description
Return a list of all time sheet entries.
### Method
GET
### Endpoint
/practicemanager/3.1/time.api/list
### Response
#### Success Response (200)
- **status** (string) - The status of the response.
- **times** (array) - An array of time entry objects (structure similar to GET job/[job number] response).
### Response Example
**JSON**
```json
{
"status": "OK",
"times": [
{
"uuid": "f8235e1a-d383-48b7-9139-ba97ab8ca889",
"job": {
"id": "J000001",
"name": "Brochure Template"
},
"task": {
"uuid": "faabafbe-1a8c-4172-b4a5-d989dda44ab5",
"name": "Design & Layout"
},
"staff": {
"uuid": "c2014300-12a3-4d98-9b83-0ff84ae1c72b",
"name": "Chris Spence"
},
"date": "2008-10-29T00:00:00",
"minutes": 240,
"note": "",
"billable": true,
"start": "13:00",
"end": "17:00",
"invoiceTaskUuid": ""
}
]
}
```
```
--------------------------------
### GET Projects with Filters
Source: https://developer.xero.com/documentation/api/projects/projects
Retrieve a list of projects with specified filters for contact, status, and pagination. Ensure the contactId is valid and states are either INPROGRESS or CLOSED.
```HTTP
GET https://api.xero.com/projects.xro/2.0/projects?contactId=01234567-89ab-cdef-0123-456789abcdef&states=INPROGRESS&page=1&pageSize=50
```
--------------------------------
### List Client Groups Response (XML)
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/client-groups
Example XML response for the 'list' endpoint, showing client group details including UUID, Name, and Taxable status.
```xml
OKf8235e1a-d383-48b7-9139-ba97ab8ca889Bloggs FamilyYes46e1db32-6c94-43f6-b5eb-fa082feb1fc4Smith FamilyNo
```
--------------------------------
### List Client Groups Response (JSON)
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/client-groups
Example JSON response for the 'list' endpoint. The 'taxable' field is included if the Practice Management module is enabled.
```json
{
"status": "OK",
"groups": [
{
"uuid": "f8235e1a-d383-48b7-9139-ba97ab8ca889",
"name": "Bloggs Family",
"taxable": "Yes"
},
{
"uuid": "46e1db32-6c94-43f6-b5eb-fa082feb1fc4",
"name": "Smith Family",
"taxable": "No"
}
]
}
```
--------------------------------
### GET get/[uuid]
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
Detailed information for a specific time entry, identified by its UUID.
```APIDOC
## GET get/[uuid]
### Description
Detailed information for a specific time entry, identified by its UUID.
### Method
GET
### Endpoint
/practicemanager/3.1/time.api/get/[uuid]
#### Path Parameters
- **uuid** (string) - Required - The UUID of the time entry.
### Response
#### Success Response (200)
- **status** (string) - The status of the response.
- **time** (object) - The detailed time entry object (structure similar to GET job/[job number] response, but for a single entry).
### Response Example
**JSON**
```json
{
"status": "OK",
"time": {
"uuid": "f8235e1a-d383-48b7-9139-ba97ab8ca889",
"job": {
"id": "J000001",
"name": "Brochure Template"
},
"task": {
"uuid": "faabafbe-1a8c-4172-b4a5-d989dda44ab5",
"name": "Design & Layout"
},
"staff": {
"uuid": "c2014300-12a3-4d98-9b83-0ff84ae1c72b",
"name": "Chris Spence"
},
"date": "2008-10-29T00:00:00",
"minutes": 240,
"note": "",
"billable": true,
"start": "13:00",
"end": "17:00",
"invoiceTaskUuid": ""
}
}
```
```
--------------------------------
### GET get/[uuid]
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
Retrieves detailed information for a specific time entry using its unique identifier.
```APIDOC
## GET get/[uuid]
### Description
Detailed information for a specific time entry.
### Method
GET
### Endpoint
/practicemanager/3.1/time.api/get/{uuid}
### Parameters
#### Path Parameters
- **uuid** (string) - Required - The unique identifier for the time entry.
### Response
#### Success Response (200)
- **status** (string) - The status of the response (e.g., "OK").
- **time** (object) - An object containing the details of the time entry.
- **uuid** (string) - The unique identifier for the time entry.
- **job** (object) - Information about the associated job.
- **id** (string) - The ID of the job.
- **name** (string) - The name of the job.
- **task** (object) - Information about the associated task.
- **uuid** (string) - The UUID of the task.
- **name** (string) - The name of the task.
- **staff** (object) - Information about the staff member.
- **uuid** (string) - The UUID of the staff member.
- **name** (string) - The name of the staff member.
- **date** (string) - The date of the time entry (ISO 8601 format).
- **minutes** (integer) - The duration of the time entry in minutes.
- **note** (string) - Any notes associated with the time entry.
- **billable** (boolean) - Indicates if the time entry is billable.
- **start** (string) - Optional - The start time of the entry (HH:MM format), included if recorded.
- **end** (string) - Optional - The end time of the entry (HH:MM format), included if recorded.
- **invoiceTaskUuid** (string) - Optional - The UUID of the invoiced task, included if the time was invoiced.
### Response Example
```json
{
"status": "OK",
"time": {
"uuid": "f8235e1a-d383-48b7-9139-ba97ab8ca889",
"job": {
"id": "J000001",
"name": "Brochure Template"
},
"task": {
"uuid": "faabafbe-1a8c-4172-b4a5-d989dda44ab5",
"name": "Design & Layout"
},
"staff": {
"uuid": "c2014300-12a3-4d98-9b83-0ff84ae1c72b",
"name": "Chris Spence"
},
"date": "2008-10-29T00:00:00",
"minutes": 240,
"note": "",
"billable": true,
"start": "13:00",
"end": "17:00",
"invoiceTaskUuid": ""
}
}
```
```
--------------------------------
### Get Specific Time Entry by UUID
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
Retrieve detailed information for a specific time entry using its unique identifier (UUID).
```URL
https://api.xero.com/practicemanager/3.1/time.api/get/f8235e1a-d383-48b7-9139-ba97ab8ca889
```
--------------------------------
### GET get/[uuid]
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/client-groups
Detailed information for a specific client group identified by its UUID.
```APIDOC
## GET get/[uuid]
### Description
Detailed information for a specific client group.
### Method
GET
### Endpoint
/practicemanager/3.1/clientgroup.api/get/[uuid]
### Parameters
#### Path Parameters
- **uuid** (string) - Required - The unique identifier of the client group.
```
--------------------------------
### POST add
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
Adds a time sheet entry to a job. Supports specifying time by duration (in minutes) or by start and end times.
```APIDOC
## POST add
### Description
Add a time sheet entry to a job.
### Method
POST
### Endpoint
https://api.xero.com/practicemanager/3.1/time.api/add
### Request Body
#### JSON Example (by duration)
```json
{
"job": "J000309",
"taskUuid": "f73c82da-c1f3-4fa2-b2c3-eaa6397d300b",
"staffUuid": "fa0cb4d8-9b7f-42db-8b89-596681519afa",
"date": "20081030",
"minutes": 60,
"note": "Detailed note about the time sheet entry"
}
```
#### JSON Example (by duration - negative time)
```json
{
"job": "J000310",
"taskUuid": "f73c82da-c1f3-4fa2-b2c3-eaa6397d300b",
"staffUuid": "fa0cb4d8-9b7f-42db-8b89-596681519afa",
"date": "20141030",
"minutes": -60,
"note": "Negative time entry"
}
```
#### JSON Example (by start/end time)
```json
{
"job": "J000311",
"taskUuid": "f73c82da-c1f3-4fa2-b2c3-eaa6397d300b",
"staffUuid": "fa0cb4d8-9b7f-42db-8b89-596681519afa",
"date": "20081030",
"start": "13:00",
"end": "13:30",
"note": "Detailed note about the time sheet entry"
}
```
### Response
#### Success Response (200)
The response will include the detailed information of the time entry per the GET get/[identifier] method.
```
--------------------------------
### Add Client Group Message (JSON)
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/client-groups
Example JSON message body for adding a client group. The 'taxable' field is optional, and 'clientUuid' specifies the client to add.
```json
{
"name": "Smith Group",
"taxable": "No",
"clientUuid": "f8235e1a-d383-48b7-9139-ba97ab8ca889"
}
```
--------------------------------
### GET list
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/client-groups
Return a list of all client groups. The 'taxable' field is returned if the Practice Management module is enabled.
```APIDOC
## GET list
### Description
Return a list of all client groups. The `taxable` field is returned if the Practice Management module is enabled.
### Method
GET
### Endpoint
/practicemanager/3.1/clientgroup.api/list
### Response
#### Success Response (200)
- **groups** (array) - A list of client groups.
- **uuid** (string) - The unique identifier for the client group.
- **name** (string) - The name of the client group.
- **taxable** (string) - Indicates if the client group is taxable (returned if Practice Management module is enabled).
### Response Example
```json
{
"status": "OK",
"groups": [
{
"uuid": "f8235e1a-d383-48b7-9139-ba97ab8ca889",
"name": "Bloggs Family",
"taxable": "Yes"
},
{
"uuid": "46e1db32-6c94-43f6-b5eb-fa082feb1fc4",
"name": "Smith Family",
"taxable": "No"
}
]
}
```
```
--------------------------------
### GET projects
Source: https://developer.xero.com/documentation/api/projects/projects
Retrieves a list of projects. This endpoint can be filtered by various parameters such as projectId, projectIds, contactID, and states. Pagination is also supported.
```APIDOC
## GET projects
### Description
Retrieves a list of projects. This endpoint can be filtered by various parameters such as projectId, projectIds, contactID, and states. Pagination is also supported.
### Method
GET
### Endpoint
https://api.xero.com/projects.xro/2.0/projects
### Parameters
#### Query Parameters
- **projectId** (string) - Optional - You can specify an individual project by appending the projectId to the endpoint, i.e. `GET https://.../projects/{projectId}`
- **projectIds** (string) - Optional - Search for all projects that match a comma separated list of projectIds, i.e. `GET https://.../projects?projectIDs={projectId},{projectId}`
- **contactID** (string) - Optional - Filter for projects for a specific contact
- **states** (string) - Optional - Filter for projects in a particular state (INPROGRESS or CLOSED)
- **page** (integer) - Optional - Set to 1 by default. The requested number of the page in paged response – Must be a number greater than 0.
- **pageSize** (integer) - Optional - It is set to 50 by default. The number of items to return per page in a paged response – Must be a number between 1 and 500.
### Response
#### Success Response (200)
- **projectId** (string) - Identifier of the project.
- **contactId** (string) - Identifier of the contact this project was created for. See Contacts.
- **name** (string) - Name of the project.
- **currencyCode** (string) - A project's currency code in ISO-4217 format. Will be set to the organisation's default currency, until a time where Projects supports multi-currency projects.
- **minutesLogged** (integer) - A total of minutes logged against all tasks on the Project.
- **totalTaskAmount** (object) - A summation of the total actuals amount of each project task. An object containing currency and value.
- **totalExpenseAmount** (object) - A summation of the total actuals amount of each project expense. An object containing currency and value.
- **minutesToBeInvoiced** (integer) - Minutes which have not been invoiced across all chargeable tasks in the project.
- **taskAmountToBeInvoiced** (object) - A summation of `amountToBeInvoiced` of each task in the project. An object containing currency and value.
- **taskAmountInvoiced** (object) - A summation of `amountInvoiced` of each task in the project. An object containing currency and value.
- **expenseAmountToBeInvoiced** (object) - A summation of 'total' of each expense which is not invoiced in the project. An object containing currency and value.
- **expenseAmountInvoiced** (object) - A summation of 'total' of each expense which is invoiced in the project. An object containing currency and value.
- **projectAmountInvoiced** (object) - A summation of project amount invoices that is invoiced in the project. An object containing currency and value.
- **deposit** (object) - Deposit for the project. An object containing currency and value.
- **depositApplied** (object) - Deposit amounts which have been applied to invoice/s as credit. An object containing currency and value.
- **creditNoteAmount** (object) - A summation of credit notes in the project. An object containing currency and value.
- **deadlineUTC** (string) - Deadline for the project. UTC Date Time in ISO-8601 format.
- **totalInvoiced** (object) - A summation of the values `taskAmountInvoiced`, `expenseAmountInvoiced`, `projectAmountInvoiced`, `deposit`, `depositApplied` and `creditNoteAmount`. An object containing currency and value.
- **totalToBeInvoiced** (object) - A summation of the values values `taskAmountToBeInvoiced` and `expenseAmountToBeInvoiced`. An object containing currency and value.
- **estimate** (object) - Estimate for the project (currency and value). An object containing currency and value.
- **status** (string) - Status of the project. INPROGRESS or CLOSED. A project is created with status of `INPROGRESS`. To change the status of a project see PATCH.
### Request Example
GET https://api.xero.com/projects.xro/2.0/projects?contactId=01234567-89ab-cdef-0123-456789abcdef&states=INPROGRESS&page=1&pageSize=50
### Response Example
```json
{
"pagination": {
"page": 1,
"pageSize": 50,
"pageCount": 1,
"itemCount": 1
}
},
"items": [
{
"projectId": "254553fa-2be8-4991-bd5e-70a97ea12ef8",
"contactId": "01234567-89ab-cdef-0123-456789abcdef",
"name": "New Kitchen",
"currencyCode": "",
"minutesLogged": 0,
"totalTaskAmount": {
"currency": "NZD",
"value": 0
},
"totalExpenseAmount": {
"currency": "NZD",
"value": 0
},
"minutesToBeInvoiced": 0,
"taskAmountToBeInvoiced": {
"currency": "NZD",
"value": 0
},
"taskAmountInvoiced": {
"currency": "NZD",
"value": 0
},
"expenseAmountToBeInvoiced": {
"currency": "NZD",
"value": 0
},
"expenseAmountInvoiced": {
"currency": "NZD",
"value": 0
},
"projectAmountInvoiced": {
"currency": "NZD",
"value": 0
},
"deposit": {
"currency": "NZD",
"value": 0
},
"depositApplied": {
"currency": "NZD",
"value": 0
},
"creditNoteAmount": {
"currency": "NZD",
"value": 0
},
"deadlineUtc": "",
"totalInvoiced": {
"currency": "NZD",
"value": 0
},
"totalToBeInvoiced": {
"currency": "NZD",
"value": 0
},
"estimate": {
"currency": "NZD",
"value": 99.99
},
"status": "INPROGRESS"
}
]
}
```
```
--------------------------------
### Update Time Sheet Entry by Start/End Time (JSON)
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
This JSON structure is used to update a time sheet entry by providing the start and end times. The 'start' and 'end' fields should be in HH:MM format.
```json
{
"uuid": "f5d334b2-c07f-424c-89b4-2c2aabc09edd",
"job": "J000311",
"taskUuid": "f73c82da-c1f3-4fa2-b2c3-eaa6397d300b",
"staffUuid": "fa0cb4d8-9b7f-42db-8b89-596681519afa",
"date": "20081030",
"start": "13:00",
"end": "13:30",
"note": "Detailed note about the time sheet entry"
}
```
--------------------------------
### Update Time Sheet Entry by Start/End Time (XML)
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
Use this XML format to update a time sheet entry by specifying the start and end times. Ensure the Date, Start, and End fields are correctly formatted.
```xml
f5d334b2-c07f-424c-89b4-2c2aabc09eddJ000311f73c82da-c1f3-4fa2-b2c3-eaa6397d300bfa0cb4d8-9b7f-42db-8b89-596681519afa2008103013:0013:30Detailed note about the time sheet entry
```
--------------------------------
### GET get/[uuid]
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/client-groups
Retrieves detailed information for a specific client group using its unique identifier.
```APIDOC
## GET get/[uuid]
### Description
Detailed information for a specific client group.
### Method
GET
### Endpoint
/practicemanager/3.1/clientgroup.api/get/[uuid]
### Parameters
#### Path Parameters
- **uuid** (string) - Required - The unique identifier of the client group.
### Response
#### Success Response (200)
- **status** (string) - The status of the response (e.g., "OK").
- **group** (object) - Contains the client group details:
- **uuid** (string) - The unique identifier of the client group.
- **name** (string) - The name of the client group.
- **taxable** (string) - Indicates if the group is taxable. Returned if the Practice Management module is enabled.
- **clients** (array) - A list of clients within the group:
- **uuid** (string) - The unique identifier of the client.
- **name** (string) - The name of the client.
### Response Example (JSON)
{
"status": "OK",
"group": {
"uuid": "f8235e1a-d383-48b7-9139-ba97ab8ca889",
"name": "Bloggs Family",
"taxable": "Yes",
"clients": [
{
"uuid": "c2490566-78e2-4898-ad30-a3b220e98f47",
"name": "Jo Bloggs"
},
{
"uuid": "d9d3be65-9eb2-4cd4-ace4-e3089f28cfad",
"name": "Bloggs Widget Ltd"
}
]
}
}
```
--------------------------------
### Add Client Group Message (XML)
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/client-groups
Example XML message body for adding a client group. The 'Taxable' field is optional for Practice Manager users, and 'ClientUUID' specifies the client to add.
```xml
Smith GroupNof8235e1a-d383-48b7-9139-ba97ab8ca889
```
--------------------------------
### Add Time Sheet Entry by Start/End Time (XML)
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
Use this XML format to add a time sheet entry by specifying the start and end times. Ensure the Date, Job, TaskUUID, and StaffUUID are provided.
```xml
J000311f73c82da-c1f3-4fa2-b2c3-eaa6397d300bfa0cb4d8-9b7f-42db-8b89-596681519afa2008103013:0013:30Detailed note about the time sheet entry
```
--------------------------------
### Get Specific Client Group URL
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/client-groups
The URL to retrieve detailed information for a specific client group using its UUID.
```http
https://api.xero.com/practicemanager/3.1/clientgroup.api/get/f8235e1a-d383-48b7-9139-ba97ab8ca889
```
--------------------------------
### GET staff/[uuid]
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
Return a list of time sheet entries for a specific staff member, identified by their UUID.
```APIDOC
## GET staff/[uuid]
### Description
Return a list of time sheet entries for a specific staff member, identified by their UUID.
### Method
GET
### Endpoint
/practicemanager/3.1/time.api/staff/[uuid]
#### Path Parameters
- **uuid** (string) - Required - The UUID of the staff member.
### Response
#### Success Response (200)
- **status** (string) - The status of the response.
- **times** (array) - An array of time entry objects (structure similar to GET job/[job number] response).
### Response Example
**JSON**
```json
{
"status": "OK",
"times": [
{
"uuid": "f8235e1a-d383-48b7-9139-ba97ab8ca889",
"job": {
"id": "J000001",
"name": "Brochure Template"
},
"task": {
"uuid": "faabafbe-1a8c-4172-b4a5-d989dda44ab5",
"name": "Design & Layout"
},
"staff": {
"uuid": "c2014300-12a3-4d98-9b83-0ff84ae1c72b",
"name": "Chris Spence"
},
"date": "2008-10-29T00:00:00",
"minutes": 240,
"note": "",
"billable": true,
"start": "13:00",
"end": "17:00",
"invoiceTaskUuid": ""
}
]
}
```
```
--------------------------------
### GET staff/[uuid]
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
Returns a list of time sheet entries for a specific staff member, filtered by a date range.
```APIDOC
## GET staff/[uuid]
### Description
Return a list of time sheet entries for a specific staff member.
### Method
GET
### Endpoint
/practicemanager/3.1/time.api/staff/{uuid}
### Parameters
#### Path Parameters
- **uuid** (string) - Required - The unique identifier for the staff member.
#### Query Parameters
- **from** (YYYYMMDD) - Required - Return time sheet entries created on or after this date.
- **to** (YYYYMMDD) - Required - Return time sheet entries created on or before this date.
### Request Example
```
https://api.xero.com/practicemanager/3.1/time.api/staff/f8235e1a-d383-48b7-9139-ba97ab8ca889?from=20090801&to=20090901
```
```
--------------------------------
### Add Time Sheet Entry by Start/End Time (JSON)
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
Use this JSON format to add a time sheet entry by specifying the start and end times. Ensure the date, job, taskUuid, and staffUuid are provided.
```json
{
"job": "J000311",
"taskUuid": "f73c82da-c1f3-4fa2-b2c3-eaa6397d300b",
"staffUuid": "fa0cb4d8-9b7f-42db-8b89-596681519afa",
"date": "20081030",
"start": "13:00",
"end": "13:30",
"note": "Detailed note about the time sheet entry"
}
```
--------------------------------
### GET list
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
Returns a list of time sheet entries. The maximum date range between the 'from' and 'to' parameters is one year.
```APIDOC
## GET list
### Description
Return a list of time sheet entries. The maximum date range between the from and to parameters is one year.
### Method
GET
### Endpoint
/practicemanager/3.1/time.api/list
### Parameters
#### Query Parameters
- **from** (YYYYMMDD) - Required - Return time sheet entries created on or after this date.
- **to** (YYYYMMDD) - Required - Return time sheet entries created on or before this date.
### Request Example
```
https://api.xero.com/practicemanager/3.1/time.api/list?from=20090801&to=20090901
```
```
--------------------------------
### Add Time Sheet Entry by Duration - Negative Time (XML)
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
This XML example demonstrates adding a time sheet entry with a negative duration. This might be used for corrections or adjustments.
```xml
J000310f73c82da-c1f3-4fa2-b2c3-eaa6397d300bfa0cb4d8-9b7f-42db-8b89-596681519afa20141030-60Negative time entry
```
--------------------------------
### Add Time Sheet Entry by Duration - Negative Time (JSON)
Source: https://developer.xero.com/documentation/api/practice-manager-3-1/time
This JSON example demonstrates adding a time sheet entry with a negative duration. This might be used for corrections or adjustments.
```json
{
"job": "J000310",
"taskUuid": "f73c82da-c1f3-4fa2-b2c3-eaa6397d300b",
"staffUuid": "fa0cb4d8-9b7f-42db-8b89-596681519afa",
"date": "20141030",
"minutes": -60,
"note": "Negative time entry"
}
```