Class ProjectApi


  • public class ProjectApi
    extends Object
    ProjectApi has methods for interacting with all endpoints in the API set
    • Constructor Detail

      • ProjectApi

        public ProjectApi()
        ProjectApi
      • ProjectApi

        public ProjectApi​(ApiClient apiClient)
        ProjectApi
        Parameters:
        apiClient - ApiClient pass into the new instance of this class
    • Method Detail

      • getInstance

        public static ProjectApi getInstance​(ApiClient apiClient)
        ProjectApi getInstance
        Parameters:
        apiClient - ApiClient pass into the new instance of this class
        Returns:
        instance of this class
      • getApiClient

        public ApiClient getApiClient()
        get ApiClient
        Returns:
        apiClient the current ApiClient
      • setApiClient

        public void setApiClient​(ApiClient apiClient)
        set ApiClient
        Parameters:
        apiClient - ApiClient pass into the new instance of this class
      • setUserAgent

        public void setUserAgent​(String userAgent)
        set user agent
        Parameters:
        userAgent - string to override the user agent
      • getUserAgent

        public String getUserAgent()
        get user agent
        Returns:
        String of user agent
      • 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
        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:
        HttpResponse
        Throws:
        IOException - if an error occurs while attempting to invoke the API
      • createTimeEntry

        public TimeEntry createTimeEntry​(String accessToken,
                                         String xeroTenantId,
                                         UUID projectId,
                                         TimeEntryCreateOrUpdate timeEntryCreateOrUpdate)
                                  throws IOException
        Creates a time entry for a specific project 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
        Creates a time entry for a specific project 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:
        HttpResponse
        Throws:
        IOException - if an error occurs while attempting to invoke the API
      • deleteTimeEntry

        public void deleteTimeEntry​(String accessToken,
                                    String xeroTenantId,
                                    UUID projectId,
                                    UUID timeEntryId)
                             throws IOException
        Deletes a time entry for a specific project 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
        Deletes a time entry for a specific project 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
        Returns:
        HttpResponse
        Throws:
        IOException - if an error occurs while attempting to invoke the API
      • getProject

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

        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
        Retrieves a single project Allows you to retrieve a specific project using the projectId

        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:
        HttpResponse
        Throws:
        IOException - if an error occurs while attempting to invoke the API
      • getProjectUsers

        public ProjectUsers getProjectUsers​(String accessToken,
                                            String xeroTenantId,
                                            Integer page,
                                            Integer pageSize)
                                     throws IOException
        Retrieves a list of 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
        Retrieves a list of 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:
        HttpResponse
        Throws:
        IOException - if an error occurs while attempting to invoke the API
      • getProjects

        public Projects getProjects​(String accessToken,
                                    String xeroTenantId,
                                    List<UUID> projectIds,
                                    UUID contactID,
                                    String states,
                                    Integer page,
                                    Integer pageSize)
                             throws IOException
        Retrieves 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
        Retrieves 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:
        HttpResponse
        Throws:
        IOException - if an error occurs while attempting to invoke the API
      • getTask

        public Task getTask​(String accessToken,
                            String xeroTenantId,
                            UUID projectId,
                            UUID taskId)
                     throws IOException
        Retrieves a single project task 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
        Retrieves a single project task 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:
        HttpResponse
        Throws:
        IOException - if an error occurs while attempting to invoke the API
      • getTasks

        public Tasks getTasks​(String accessToken,
                              String xeroTenantId,
                              UUID projectId,
                              Integer page,
                              Integer pageSize,
                              String taskIds,
                              ChargeType chargeType)
                       throws IOException
        Retrieves all project tasks 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
        Retrieves all project tasks 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:
        HttpResponse
        Throws:
        IOException - if an error occurs while attempting to invoke the API
      • 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
        Retrieves all 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 is 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
        Retrieves all 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 is 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:
        HttpResponse
        Throws:
        IOException - if an error occurs while attempting to invoke the API
      • getTimeEntry

        public TimeEntry getTimeEntry​(String accessToken,
                                      String xeroTenantId,
                                      UUID projectId,
                                      UUID timeEntryId)
                               throws IOException
        Retrieves a single time entry for a specific project Allows you to get 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
        Retrieves a single time entry for a specific project Allows you to get 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:
        HttpResponse
        Throws:
        IOException - if an error occurs while attempting to invoke the API
      • 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
        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
        Returns:
        HttpResponse
        Throws:
        IOException - if an error occurs while attempting to invoke the API
      • updateProject

        public void updateProject​(String accessToken,
                                  String xeroTenantId,
                                  UUID projectId,
                                  ProjectCreateOrUpdate projectCreateOrUpdate)
                           throws IOException
        Updates 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
        Updates 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
        Returns:
        HttpResponse
        Throws:
        IOException - if an error occurs while attempting to invoke the API
      • updateTimeEntry

        public void updateTimeEntry​(String accessToken,
                                    String xeroTenantId,
                                    UUID projectId,
                                    UUID timeEntryId,
                                    TimeEntryCreateOrUpdate timeEntryCreateOrUpdate)
                             throws IOException
        Updates a time entry for a specific 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
        Updates a time entry for a specific 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
        Returns:
        HttpResponse
        Throws:
        IOException - if an error occurs while attempting to invoke the API
      • convertInputToByteArray

        public ByteArrayInputStream convertInputToByteArray​(InputStream is)
                                                     throws IOException
        convert intput to byte array
        Parameters:
        is - InputStream the server status code returned
        Returns:
        byteArrayInputStream a ByteArrayInputStream
        Throws:
        IOException - for failed or interrupted I/O operations