Class ProjectApi

java.lang.Object
com.xero.api.client.ProjectApi

public class ProjectApi
extends Object
  • Constructor Details

    • ProjectApi

      public ProjectApi()
    • ProjectApi

      public ProjectApi​(ApiClient apiClient)
  • Method Details

    • getInstance

      public static ProjectApi getInstance​(ApiClient apiClient)
    • getApiClient

      public ApiClient getApiClient()
    • setApiClient

      public void setApiClient​(ApiClient apiClient)
    • setUserAgent

      public void setUserAgent​(String userAgent)
    • getUserAgent

      public String getUserAgent()
    • createProject

      public Project createProject​(String accessToken, String xeroTenantId, ProjectCreateOrUpdate projectCreateOrUpdate) throws IOException
      create one or more new projects

      201 - OK/success, returns the new project object

      400 - A failed request due to validation error

      Parameters:
      xeroTenantId - Xero identifier for Tenant
      projectCreateOrUpdate - Create a new project with ProjectCreateOrUpdate object
      accessToken - Authorization token for user set in header of each request
      Returns:
      Project
      Throws:
      IOException - if an error occurs while attempting to invoke the API
    • createProjectForHttpResponse

      public com.google.api.client.http.HttpResponse createProjectForHttpResponse​(String accessToken, String xeroTenantId, ProjectCreateOrUpdate projectCreateOrUpdate) throws IOException
      Throws:
      IOException
    • createTimeEntry

      public TimeEntry createTimeEntry​(String accessToken, String xeroTenantId, UUID projectId, TimeEntryCreateOrUpdate timeEntryCreateOrUpdate) throws IOException
      Allows you to create a task Allows you to create a specific task

      200 - OK/success, returns the newly created time entry

      Parameters:
      xeroTenantId - Xero identifier for Tenant
      projectId - You can specify an individual project by appending the projectId to the endpoint
      timeEntryCreateOrUpdate - The time entry object you are creating
      accessToken - Authorization token for user set in header of each request
      Returns:
      TimeEntry
      Throws:
      IOException - if an error occurs while attempting to invoke the API
    • createTimeEntryForHttpResponse

      public com.google.api.client.http.HttpResponse createTimeEntryForHttpResponse​(String accessToken, String xeroTenantId, UUID projectId, TimeEntryCreateOrUpdate timeEntryCreateOrUpdate) throws IOException
      Throws:
      IOException
    • deleteTimeEntry

      public void deleteTimeEntry​(String accessToken, String xeroTenantId, UUID projectId, UUID timeEntryId) throws IOException
      Allows you to delete a time entry Allows you to delete a specific time entry

      204 - Success - return response 204 no content

      Parameters:
      xeroTenantId - Xero identifier for Tenant
      projectId - You can specify an individual project by appending the projectId to the endpoint
      timeEntryId - You can specify an individual task by appending the id to the endpoint
      accessToken - Authorization token for user set in header of each request
      Throws:
      IOException - if an error occurs while attempting to invoke the API
    • deleteTimeEntryForHttpResponse

      public com.google.api.client.http.HttpResponse deleteTimeEntryForHttpResponse​(String accessToken, String xeroTenantId, UUID projectId, UUID timeEntryId) throws IOException
      Throws:
      IOException
    • getProject

      public Project getProject​(String accessToken, String xeroTenantId, UUID projectId) throws IOException
      Allows you to retrieve a single project Allows you to retrieve a specific project

      200 - OK/success, returns a list of project objects

      400 - A failed request due to validation error

      Parameters:
      xeroTenantId - Xero identifier for Tenant
      projectId - You can specify an individual project by appending the projectId to the endpoint
      accessToken - Authorization token for user set in header of each request
      Returns:
      Project
      Throws:
      IOException - if an error occurs while attempting to invoke the API
    • getProjectForHttpResponse

      public com.google.api.client.http.HttpResponse getProjectForHttpResponse​(String accessToken, String xeroTenantId, UUID projectId) throws IOException
      Throws:
      IOException
    • getProjectUsers

      public ProjectUsers getProjectUsers​(String accessToken, String xeroTenantId, Integer page, Integer pageSize) throws IOException
      list all project users Allows you to retrieve the users on a projects.

      200 - OK/success, returns a list of project objects

      400 - A failed request due to validation error

      Parameters:
      xeroTenantId - Xero identifier for Tenant
      page - set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.
      pageSize - 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.
      accessToken - Authorization token for user set in header of each request
      Returns:
      ProjectUsers
      Throws:
      IOException - if an error occurs while attempting to invoke the API
    • getProjectUsersForHttpResponse

      public com.google.api.client.http.HttpResponse getProjectUsersForHttpResponse​(String accessToken, String xeroTenantId, Integer page, Integer pageSize) throws IOException
      Throws:
      IOException
    • getProjects

      public Projects getProjects​(String accessToken, String xeroTenantId, List<UUID> projectIds, UUID contactID, String states, Integer page, Integer pageSize) throws IOException
      list all projects Allows you to retrieve, create and update projects.

      200 - OK/success, returns a list of project objects

      400 - A failed request due to validation error

      Parameters:
      xeroTenantId - Xero identifier for Tenant
      projectIds - Search for all projects that match a comma separated list of projectIds
      contactID - Filter for projects for a specific contact
      states - Filter for projects in a particular state (INPROGRESS or CLOSED)
      page - set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.
      pageSize - 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.
      accessToken - Authorization token for user set in header of each request
      Returns:
      Projects
      Throws:
      IOException - if an error occurs while attempting to invoke the API
    • getProjectsForHttpResponse

      public com.google.api.client.http.HttpResponse getProjectsForHttpResponse​(String accessToken, String xeroTenantId, List<UUID> projectIds, UUID contactID, String states, Integer page, Integer pageSize) throws IOException
      Throws:
      IOException
    • getTask

      public Task getTask​(String accessToken, String xeroTenantId, UUID projectId, UUID taskId) throws IOException
      Allows you to retrieve a single project Allows you to retrieve a specific project

      200 - OK/success, returns a list of task objects

      Parameters:
      xeroTenantId - Xero identifier for Tenant
      projectId - You can specify an individual project by appending the projectId to the endpoint
      taskId - You can specify an individual task by appending the taskId to the endpoint, i.e. GET https://.../tasks/{taskId}
      accessToken - Authorization token for user set in header of each request
      Returns:
      Task
      Throws:
      IOException - if an error occurs while attempting to invoke the API
    • getTaskForHttpResponse

      public com.google.api.client.http.HttpResponse getTaskForHttpResponse​(String accessToken, String xeroTenantId, UUID projectId, UUID taskId) throws IOException
      Throws:
      IOException
    • getTasks

      public Tasks getTasks​(String accessToken, String xeroTenantId, UUID projectId, Integer page, Integer pageSize, String taskIds, ChargeType chargeType) throws IOException
      Allows you to retrieve a single project Allows you to retrieve a specific project

      200 - OK/success, returns a list of task objects

      Parameters:
      xeroTenantId - Xero identifier for Tenant
      projectId - You can specify an individual project by appending the projectId to the endpoint
      page - Set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.
      pageSize - 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.
      taskIds - taskIdsSearch for all tasks that match a comma separated list of taskIds, i.e. GET https://.../tasks?taskIds={taskId},{taskId}
      chargeType - The chargeType parameter
      accessToken - Authorization token for user set in header of each request
      Returns:
      Tasks
      Throws:
      IOException - if an error occurs while attempting to invoke the API
    • getTasksForHttpResponse

      public com.google.api.client.http.HttpResponse getTasksForHttpResponse​(String accessToken, String xeroTenantId, UUID projectId, Integer page, Integer pageSize, String taskIds, ChargeType chargeType) throws IOException
      Throws:
      IOException
    • getTimeEntries

      public TimeEntries getTimeEntries​(String accessToken, String xeroTenantId, UUID projectId, UUID userId, UUID taskId, UUID invoiceId, UUID contactId, Integer page, Integer pageSize, List<String> states, Boolean isChargeable, org.threeten.bp.OffsetDateTime dateAfterUtc, org.threeten.bp.OffsetDateTime dateBeforeUtc) throws IOException
      Allows you to retrieve the time entries associated with a specific project Allows you to retrieve the time entries associated with a specific project

      200 - OK/success, returns a list of time entry objects

      Parameters:
      xeroTenantId - Xero identifier for Tenant
      projectId - Identifier of the project, that the task (which the time entry is logged against) belongs to.
      userId - The xero user identifier of the person who logged time.
      taskId - Identifier of the task that time entry is logged against.
      invoiceId - Finds all time entries for this invoice.
      contactId - Finds all time entries for this contact identifier.
      page - Set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.
      pageSize - 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.
      states - Comma-separated list of states to find. Will find all time entries that are in the status of whatever’s specified.
      isChargeable - Finds all time entries which relate to tasks with the charge type `TIME` or `FIXED`.
      dateAfterUtc - ISO 8601 UTC date. Finds all time entries on or after this date filtered on the `dateUtc` field.
      dateBeforeUtc - ISO 8601 UTC date. Finds all time entries on or before this date filtered on the `dateUtc` field.
      accessToken - Authorization token for user set in header of each request
      Returns:
      TimeEntries
      Throws:
      IOException - if an error occurs while attempting to invoke the API
    • getTimeEntriesForHttpResponse

      public com.google.api.client.http.HttpResponse getTimeEntriesForHttpResponse​(String accessToken, String xeroTenantId, UUID projectId, UUID userId, UUID taskId, UUID invoiceId, UUID contactId, Integer page, Integer pageSize, List<String> states, Boolean isChargeable, org.threeten.bp.OffsetDateTime dateAfterUtc, org.threeten.bp.OffsetDateTime dateBeforeUtc) throws IOException
      Throws:
      IOException
    • getTimeEntry

      public TimeEntry getTimeEntry​(String accessToken, String xeroTenantId, UUID projectId, UUID timeEntryId) throws IOException
      Allows you to get a single time entry in a project Allows you to upget a single time entry in a project

      200 - OK/success, returns a single time entry

      Parameters:
      xeroTenantId - Xero identifier for Tenant
      projectId - You can specify an individual project by appending the projectId to the endpoint
      timeEntryId - You can specify an individual time entry by appending the id to the endpoint
      accessToken - Authorization token for user set in header of each request
      Returns:
      TimeEntry
      Throws:
      IOException - if an error occurs while attempting to invoke the API
    • getTimeEntryForHttpResponse

      public com.google.api.client.http.HttpResponse getTimeEntryForHttpResponse​(String accessToken, String xeroTenantId, UUID projectId, UUID timeEntryId) throws IOException
      Throws:
      IOException
    • patchProject

      public void patchProject​(String accessToken, String xeroTenantId, UUID projectId, ProjectPatch projectPatch) throws IOException
      creates a project for the specified contact Allows you to update a specific projects.

      204 - Success - return response 204 no content

      400 - A failed request due to validation error

      Parameters:
      xeroTenantId - Xero identifier for Tenant
      projectId - You can specify an individual project by appending the projectId to the endpoint
      projectPatch - Update the status of an existing Project
      accessToken - Authorization token for user set in header of each request
      Throws:
      IOException - if an error occurs while attempting to invoke the API
    • patchProjectForHttpResponse

      public com.google.api.client.http.HttpResponse patchProjectForHttpResponse​(String accessToken, String xeroTenantId, UUID projectId, ProjectPatch projectPatch) throws IOException
      Throws:
      IOException
    • updateProject

      public void updateProject​(String accessToken, String xeroTenantId, UUID projectId, ProjectCreateOrUpdate projectCreateOrUpdate) throws IOException
      update a specific project Allows you to update a specific projects.

      204 - Success - return response 204 no content

      400 - A failed request due to validation error

      Parameters:
      xeroTenantId - Xero identifier for Tenant
      projectId - You can specify an individual project by appending the projectId to the endpoint
      projectCreateOrUpdate - Request of type ProjectCreateOrUpdate
      accessToken - Authorization token for user set in header of each request
      Throws:
      IOException - if an error occurs while attempting to invoke the API
    • updateProjectForHttpResponse

      public com.google.api.client.http.HttpResponse updateProjectForHttpResponse​(String accessToken, String xeroTenantId, UUID projectId, ProjectCreateOrUpdate projectCreateOrUpdate) throws IOException
      Throws:
      IOException
    • updateTimeEntry

      public void updateTimeEntry​(String accessToken, String xeroTenantId, UUID projectId, UUID timeEntryId, TimeEntryCreateOrUpdate timeEntryCreateOrUpdate) throws IOException
      Allows you to update time entry in a project Allows you to update time entry in a project

      204 - Success - return response 204 no content

      Parameters:
      xeroTenantId - Xero identifier for Tenant
      projectId - You can specify an individual project by appending the projectId to the endpoint
      timeEntryId - You can specify an individual time entry by appending the id to the endpoint
      timeEntryCreateOrUpdate - The time entry object you are updating
      accessToken - Authorization token for user set in header of each request
      Throws:
      IOException - if an error occurs while attempting to invoke the API
    • updateTimeEntryForHttpResponse

      public com.google.api.client.http.HttpResponse updateTimeEntryForHttpResponse​(String accessToken, String xeroTenantId, UUID projectId, UUID timeEntryId, TimeEntryCreateOrUpdate timeEntryCreateOrUpdate) throws IOException
      Throws:
      IOException
    • convertInputToByteArray

      public ByteArrayInputStream convertInputToByteArray​(InputStream is) throws IOException
      Throws:
      IOException