openapi: 3.0.0 info: title: Project and Resource Management description: > Project and Resource Management enables services companies to automate many of the functions of financial project management. version: '1.0' servers: - url: https://api.intacct.com/ia/api/v1-beta2 description: Open Beta tags: - name: Projects description: >- Use projects to manage, track, and report on work performed by or for your company.
Please be aware that this object is currently "Uncertified" in our open beta, signifying that it has not undergone the complete review process and the design may change during ongoing refinement. Users are advised to exercise discretion in using this object and are encouraged to provide feedback.
x-displayName: Projects - name: project groups description: >- A project group is a specified set of projectes, or a set of projectes that meet certain criteria. You can use groups to filter or display information in multiple ways, for instance by showing data from only certain projectes.
Please be aware that this object is currently "Uncertified" in our open beta, signifying that it has not undergone the complete review process and the design may change during ongoing refinement. Users are advised to exercise discretion in using this object and are encouraged to provide feedback.
x-displayName: project groups - name: Project resources description: >- Project resource description -- explain what it's for and how it's used.
Please be aware that this object is currently "Uncertified" in our open beta, signifying that it has not undergone the complete review process and the design may change during ongoing refinement. Users are advised to exercise discretion in using this object and are encouraged to provide feedback.
x-displayName: Project resources - name: Project statuses description: >- Project statuses let you track the progress of projects through different states. You can also disable (prevent) certain types of transactions from occurring in specific states, such as not allowing timesheet entries when a project is in a "Not Started" state.
Please be aware that this object is currently "Uncertified" in our open beta, signifying that it has not undergone the complete review process and the design may change during ongoing refinement. Users are advised to exercise discretion in using this object and are encouraged to provide feedback.
x-displayName: Project statuses - name: Project types description: >- Project types let you group projects into categories for reporting (such as, consulting, internal, or training). After defining project types, you can set each project to one of the types and then group and query based on the type.
Please be aware that this object is currently "Uncertified" in our open beta, signifying that it has not undergone the complete review process and the design may change during ongoing refinement. Users are advised to exercise discretion in using this object and are encouraged to provide feedback.
x-displayName: Project types - name: Tasks description: >- A unit of work to be performed for a project. Use tasks to: - Track project work by task and assigned resources. - Identify which tasks are billable to the customer. - Enter estimated and planned hours, track percent completed as the task progresses, and create recurring schedules. - Create task dependencies so one task doesn't start until another finishes. - Set other optional information, such as the priority or status of the task.
Please be aware that this object is currently "Uncertified" in our open beta, signifying that it has not undergone the complete review process and the design may change during ongoing refinement. Users are advised to exercise discretion in using this object and are encouraged to provide feedback.
x-displayName: Tasks - name: Task resources description: >- An employee who works on a project task is considered a task resource.
Please be aware that this object is currently "Uncertified" in our open beta, signifying that it has not undergone the complete review process and the design may change during ongoing refinement. Users are advised to exercise discretion in using this object and are encouraged to provide feedback.
x-displayName: Task resources - name: Employee rates description: >- Employee rate provides information about compensation by date. The rate can be either hourly or annual.
Please be aware that this object is currently "Uncertified" in our open beta, signifying that it has not undergone the complete review process and the design may change during ongoing refinement. Users are advised to exercise discretion in using this object and are encouraged to provide feedback.
x-displayName: Employee rates - name: Position skills description: >- Position skill description -- explain what it's for and how it's used.
Please be aware that this object is currently "Uncertified" in our open beta, signifying that it has not undergone the complete review process and the design may change during ongoing refinement. Users are advised to exercise discretion in using this object and are encouraged to provide feedback.
x-displayName: Position skills - name: Project billing templates description: >- Optimize project billing with our easy-to-use project billing template.
Please be aware that this object is currently "Uncertified" in our open beta, signifying that it has not undergone the complete review process and the design may change during ongoing refinement. Users are advised to exercise discretion in using this object and are encouraged to provide feedback.
x-displayName: Project billing templates paths: /objects/projects/project: get: summary: List projects description: >+ Returns up to 100 object references from the collection with a key, ID, and link for each project. This operation is mostly for use in testing; use query to find objects that meet certain criteria and to specify properties that are returned.
Permissions and other requirements
SubscriptionProjects
User typeBusiness, Employee, Project Manager
PermissionsList Projects
tags: - Projects operationId: list-projects-project responses: '200': description: OK content: application/json: schema: type: object title: List of project objects properties: ia::result: type: array items: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata-pages' examples: List of projects: value: ia::result: - key: '100' id: P-040 href: /objects/projects/project/100 - key: '101' id: P-050 href: /objects/projects/project/101 - key: '102' id: P-060 href: /objects/projects/project/102 ia::meta: totalCount: 3 start: 1 pageSize: 5 next: 0 previous: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] post: summary: Create a project description: >+ Creates a new project. `id` is required if document sequencing is not enabled for projects in the company. If document sequencing is enabled, you can provide an `id` value to use instead of the document sequence value.
Permissions and other requirements
SubscriptionProjects
User typeBusiness, Project Manager
PermissionsAdd Projects
tags: - Projects operationId: create-projects-project requestBody: description: Project to be created required: true content: application/json: schema: allOf: - $ref: '#/components/schemas/projects-project' - $ref: '#/components/schemas/projects-projectRequiredProperties' examples: Create a project: value: id: P-0045 name: Implementation Project description: Software Implementation Project projectCurrency: USD category: contract projectStatus: key: '1' startDate: '2021-01-23' EndDate: '2021-01-23' budget: billingAmount: '10000' budgetedDuration: '250' budgetedCost: '10000' glBudget: key: '5' contractAmount: '15000' progress: estimatedDuration: '200' actualDuration: '183' approvedDuration: '175' remainingDuration: '8' percentComplete: '35' observedPercentComplete: '50' billingType: timeAndMaterial salesOrderNumber: SO-5478 purchaseOrderNumber: PO-7829 purchaseOrderAmount: '4500' purchaseQuoteNumber: '1453' salesforceKey: '1' documentNumber: '1453' parent: key: '10' id: P-0040 name: NET-XML30-2 invoiceWithParent: false customer: key: '13' salesContact: key: '10' projectType: key: '3' manager: key: '10' department: key: '10' location: key: '1' paymentTerm: key: '10' customerUser: key: '1' class: key: '1' userRestrictions: systemDefault isBillableEmployeeExpense: false isBillablePurchasingAPExpense: false ratesAndPricing: laborPricing: billingRate laborMarkup: '10' pricing: billingRate expenseMarkup: '10' DefaultRate: '12' contacts: primary: key: '1' billTo: key: '2' shipTo: key: '2' invoiceMessage: Invoice for project invoiceCurrency: USD billingOverMax: preventBilling excludeExpenses: false contract: key: '1' attachment: key: '1' rootProject: key: '12' grant: aln: 10.555 fundedProjectName: Undergraduate Programs agency: US government payer: federal otherId: Other assistanceType: cash revenueRestriction: time restrictionExpiry: '1' restrictionExpirationDate: '2021-01-23' isTimeSatisfactionScheduled: false wipScheduleProject: key: '10' id: P-0040 name: NET-XML30-2 excludeFromWIPSchedule: false status: active responses: '201': description: Created content: application/json: schema: type: object title: New project properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: New project created: value: ia::result: key: '100' id: P-0045 href: /objects/projects/project/100 ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/projects/project/{key}: parameters: - name: key description: System-assigned key for the project. in: path required: true example: '635' schema: type: string get: summary: Get a project description: >+ Returns detailed information for a specified project.
Permissions and other requirements
SubscriptionProjects
User typeBusiness, Employee, Project Manager
PermissionsView Projects
tags: - Projects operationId: get-projects-project-key responses: '200': description: OK content: application/json: schema: type: object title: Details of the project properties: ia::result: $ref: '#/components/schemas/projects-project' ia::meta: $ref: '#/components/schemas/metadata' examples: Project details: value: ia::result: key: '83' id: P-0045 name: Implementation Project description: Software Implementation Project projectCurrency: USD category: contract projectStatus: key: '1' id: In Progress disableGenerateInvoice: false disablePurchasingAPEntry: false disableExpenseEntry: false disableTimesheetEntry: false startDate: '2021-01-23' endDate: '2021-01-23' budget: billingAmount: '10000' budgetedDuration: '250' budgetedCost: '10000' glBudget: key: '5' id: KPI Budgets href: /objects/general-ledger/budget/5 contractAmount: '15000' progress: estimatedDuration: '200' actualDuration: '183' approvedDuration: '175' remainingDuration: '8' percentComplete: '35' observedPercentComplete: '50' billingType: timeAndMaterial salesOrderNumber: SO-5478 purchaseOrderNumber: PO-7829 purchaseOrderAmount: '4500' purchaseQuoteNumber: '1453' salesforceKey: '1' documentNumber: '1453' parent: key: '10' id: P-0040 name: NET-XML30-2 invoiceWithParent: false customer: key: '13' id: '113' name: Software company salesContact: key: '10' id: '100' projectType: key: '3' id: Internal manager: key: '10' id: E10 department: key: '10' id: '20' name: Sales location: key: '1' id: '1' name: US paymentTerm: key: '10' id: '10' customerUser: key: '1' id: Admin class: key: '1' id: '10' name: Construction userRestrictions: systemDefault isBillableEmployeeExpense: false isBillablePurchasingAPExpense: false ratesAndPricing: laborPricing: billingRate laborMarkup: '10' pricing: billingRate expenseMarkup: '10' defaultRate: '12' contacts: primary: key: '1' id: JSmith href: /objects/company-config/contact/1 billTo: key: '2' id: ABrown href: /objects/company-config/contact/2 shipTo: key: '2' id: ABrown href: /objects/company-config/contact/2 invoiceMessage: Invoice for project invoiceCurrency: USD billingOverMax: preventBilling excludeExpenses: false contract: key: '1' id: CON-002 attachment: key: '1' id: '1' href: /objects/company-config/attachment/100 rootProject: key: '12' id: '12' name: PRJ-RT-0001 grant: aln: 10.555 fundedProjectName: Undergraduate Programs agency: US government payer: federal otherId: Other assistanceType: cash revenueRestriction: time restrictionExpiry: '1' restrictionExpirationDate: '2021-01-23' isTimeSatisfactionScheduled: false wipScheduleProject: key: '10' id: P-0040 name: NET-XML30-2 excludeFromWIPSchedule: false status: active multiEntityLocation: key: '2' id: '2' name: US href: /objects/company-config/location/2 audit: createdDateTime: '2022-04-20T16:20:00Z' modifiedDateTime: '2022-04-20T16:20:00Z' createdBy: '1' modifiedBy: '95' ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] patch: summary: Update a project description: >+ Updates an existing project by setting field values. Any fields not provided remain unchanged.
Permissions and other requirements
SubscriptionProjects
User typeBusiness, Project Manager
PermissionsEdit Projects
tags: - Projects operationId: update-projects-project-key requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/projects-project' - type: object properties: id: readOnly: true examples: Updates a project: value: name: Implementation Project description: Software Implementation Project projectCurrency: USD category: contract responses: '200': description: OK content: application/json: schema: type: object title: Updated project properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: Updated project: value: ia::result: key: '124' id: P-0345 href: /objects/projects/project/124 ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] delete: summary: Delete a project description: >+ Deletes a project. You can only delete projects without posted transactions. If posted transactions exist for the project, you can make the project inactive but cannot delete it.
Permissions and other requirements
SubscriptionProjects
User typeBusiness, Project Manager
PermissionsDelete Projects
tags: - Projects operationId: delete-projects-project-key responses: '204': description: No Content '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/projects/project-group: get: summary: List project groups description: > Returns up to 100 project groups from the collection with a key, ID, and link for each group. This operation is mostly for use in testing; use the query service to find project groups that meet certain criteria and specify the properties that are returned. tags: - project groups operationId: list-projects-project-group responses: '200': description: OK content: application/json: schema: type: object title: List of project-group objects properties: ia::result: type: array items: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata-pages' examples: List of project group: value: ia::result: - key: '1' id: '1' href: /objects/projects/project-group/1 - key: '3' id: '3' href: /objects/projects/project-group/3 - key: '5' id: '5' href: /objects/projects/project-group/5 ia::meta: totalCount: 3 start: 1 pageSize: 100 next: null previous: null '400': $ref: '#/components/responses/400error' security: - OAuth2: [] post: summary: Create a project group description: Creates a new project group. tags: - project groups operationId: create-projects-project-group requestBody: description: Creates a new project group. required: true content: application/json: schema: allOf: - $ref: '#/components/schemas/projects-project-group' - $ref: '#/components/schemas/projects-project-groupRequiredProperties' examples: Creates a project group of type all: value: id: E 01 name: my top 01 project description: my top 01 project groupType: all sortOrder: descending sortField: PROJECTID conditionType: and memberFilter: - FIELD: PROJECTID OPERATOR: equals VALUE: '8' responses: '201': description: Created content: application/json: schema: type: object title: New project group properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: New project group of type all: value: ia::result: key: '21' id: E 01 href: /objects/projects/project-group/19 ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/projects/project-group/{key}: parameters: - name: key description: system-assigned unique key for the project group. in: path required: true schema: type: string get: summary: Get a project group description: Returns detailed information for a specified project group. tags: - project groups operationId: get-projects-project-group-key responses: '200': description: OK content: application/json: schema: type: object title: Details of the project-group properties: ia::result: $ref: '#/components/schemas/projects-project-group' ia::meta: $ref: '#/components/schemas/metadata' examples: Details of the project Group: value: ia::result: key: '1' id: Top Projects name: Top Level Projects description: Top Level Projects groupType: specific audit: createdDateTime: '2016-10-26T17:28:09Z' modifiedDateTime: '2016-10-26T17:30:09Z' createdBy: '1' modifiedBy: '1' maxMatches: '10' sortField: PROJECTID expression: (1 AND 2) sortOrder: ascending groupMembers: - key: '1' id: DIM - BTI name: Dimensions - Berkeley Technology Inc href: /objects/projects/project/23 status: active sortOrder: '0' - key: '2' id: P-0045 name: Implementation Project href: /objects/projects/project/24 status: active sortOrder: '1' href: /objects/projects/project-group/1 ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] patch: summary: Update a project group description: >- Updates an existing project group by setting field values. Any fields not provided remain unchanged. tags: - project groups operationId: update-projects-project-group-key requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/projects-project-group' - type: object properties: id: readOnly: true examples: Updates a project group: value: description: My Top 001 project responses: '200': description: OK content: application/json: schema: type: object title: Updated Department group properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: Updated project group: value: ia::result: key: '7' id: E 01 href: /objects/projects/project-group/7 ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] delete: summary: Delete a project group description: Deletes a project group. tags: - project groups operationId: delete-projects-project-group-key responses: '204': description: No Content '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/projects/project-resource: get: summary: List project resources description: Returns a collection with a key, ID, and link for each project resource. tags: - Project resources operationId: list-projects-project-resource responses: '200': description: OK content: application/json: schema: type: object title: List of project-resource objects properties: ia::result: type: array items: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata-pages' examples: List of project resource: value: ia::result: - key: '12345' id: '12345' href: /objects/projects/project-resource/12345 - key: '85' id: EXP-00002 href: /objects/projects/employee-expense/85 - key: '60' id: EXP-00003 href: /objects/projects/employee-expense/60 ia::meta: totalCount: 3 start: 1 pageSize: 5 next: 0 previous: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] post: summary: Create a project resource description: Creates a new project resource. tags: - Project resources operationId: create-projects-project-resource requestBody: description: '' required: true content: application/json: schema: allOf: - $ref: '#/components/schemas/projects-project-resource' - $ref: '#/components/schemas/projects-project-resourceRequiredProperties' examples: Creates a project resource: value: description: Hourly resource startDate: '2023-04-01' employee: key: '244' item: key: '23' pricing: laborRate: 100 expenseRate: 110 apPurchasingRate: 120 project: key: '23' responses: '201': description: Created content: application/json: schema: type: object title: New project-resource properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: New project resource: value: ia::result: key: '12345' id: '12345' href: /objects/projects/project-resource/12345 ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/projects/project-resource/{key}: parameters: - name: key description: system-assigned unique key for the project resource. in: path required: true schema: type: string get: summary: Get a project resource description: Returns detailed information for a particular project resource. tags: - Project resources operationId: get-projects-project-resource-key responses: '200': description: OK content: application/json: schema: type: object title: Details of the project-resource properties: ia::result: $ref: '#/components/schemas/projects-project-resource' ia::meta: $ref: '#/components/schemas/metadata' examples: Details of the project resource: value: ia::result: key: '23' id: '23' href: /objects/projects/project-resource/23 description: Hourly resource startDate: '2023-04-01' employee: href: /objects/company-config/employee/23 key: '244' id: jsmith startDate: '2022-01-01' endDate: '2023-01-01' employeeContact: key: '977' id: John Smith firstName: John lastName: Smith href: /objects/company-config/contact/977 item: href: /objects/inventory-control/item/23 key: '23' id: B002 name: Monitor-Acer pricing: laborPricingMethod: billingRate laborRate: 100 expensePricingMethod: billingRate expenseRate: 100 apPurchasingPricingMethod: costPlusFee apPurchasingRate: 120 project: href: /objects/projects/project/23 key: '23' id: P-0045 name: Implementation Project audit: createdDateTime: '2022-04-20T16:20:00Z' modifiedDateTime: '2022-04-20T16:20:00Z' createdBy: '1' modifiedBy: '95' ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] patch: summary: Update a project resource description: >- Updates an existing project resource by setting field values. Any fields not provided remain unchanged. tags: - Project resources operationId: update-projects-project-resource-key requestBody: content: application/json: schema: $ref: '#/components/schemas/projects-project-resource' examples: Updates a project resource: value: description: Project resource responses: '200': description: OK content: application/json: schema: type: object title: Updated project-resource properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: Updated project resource: value: ia::result: key: '12345' id: ID123 href: /objects/projects/project-resource/12345 ia::meta: totalCount: 3 totalSuccess: 2 totalError: 1 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] delete: summary: Delete a project resource description: Deletes a project resource. tags: - Project resources operationId: delete-projects-project-resource-key responses: '204': description: No Content '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/projects/project-status: get: summary: List project statuses description: >+ Returns up to 100 object references from the collection with a key, ID, and link for each project status. This operation is mostly for use in testing; use query to find objects that meet certain criteria and to specify properties that are returned.
Permissions and other requirements
SubscriptionProjects Basic Project Tracking and General Ledger (enable the Projects dimension)
User typeBusiness, Employee, Project Manager
PermissionsList Project Status
tags: - Project statuses operationId: list-projects-project-status responses: '200': description: OK content: application/json: schema: type: object title: List of project statuses properties: ia::result: type: array items: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata-pages' examples: List of project statuses: value: ia::result: - key: '100' id: In Progress href: /objects/projects/project-status/100 - key: '101' id: Completed href: /objects/projects/project-status/101 - key: '102' id: Started href: /objects/projects/project-status/102 ia::meta: totalCount: 3 start: 1 pageSize: 5 next: 0 previous: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] post: summary: Create a project status description: >+ Creates a new project status.
Permissions and other requirements
SubscriptionProjects Basic Project Tracking and General Ledger (enable the Projects dimension)
User typeBusiness, Project Manager
PermissionsAdd Project Status
tags: - Project statuses operationId: create-projects-project-status requestBody: description: Project status to create required: true content: application/json: schema: allOf: - $ref: '#/components/schemas/projects-project-status' - $ref: '#/components/schemas/projects-project-statusRequiredProperties' examples: Creates a project status: value: id: In Progress description: Current status disableTimesheetEntry: false disableExpenseEntry: false disablePurchasingAPEntry: false disableGenerateInvoice: false status: active responses: '201': description: Created content: application/json: schema: type: object title: New project status properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: New project status: value: ia::result: key: '1' id: In Progress href: /objects/projects/project-status/1 ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/projects/project-status/{key}: parameters: - name: key description: System-assigned key for the project status. in: path required: true example: '1038' schema: type: string get: summary: Get a project status description: >+ Returns detailed information for a specified project status.
Permissions and other requirements
SubscriptionProjects Basic Project Tracking and General Ledger (enable the Projects dimension)
User typeBusiness, Employee, Project Manager
PermissionsView Project Status
tags: - Project statuses operationId: get-projects-project-status-key responses: '200': description: OK content: application/json: schema: type: object title: Details of the project status properties: ia::result: $ref: '#/components/schemas/projects-project-status' ia::meta: $ref: '#/components/schemas/metadata' examples: Project status details: value: ia::result: key: '1' id: In Progress description: In progress disableTimesheetEntry: false disableExpenseEntry: false disablePurchasingAPEntry: false disableGenerateInvoice: false status: active audit: createdDateTime: '2022-04-01T16:20:00Z' modifiedDateTime: '2022-04-01T16:20:00Z' createdBy: '1' modifiedBy: '95' href: /objects/projects/project-status/1 ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] patch: summary: Update a project status description: >+ Updates an existing project status by setting field values. Any fields not provided remain unchanged.
Permissions and other requirements
SubscriptionProjects Basic Project Tracking and General Ledger (enable the Projects dimension)
User typeBusiness, Project Manager
PermissionsEdit Project Status
tags: - Project statuses operationId: update-projects-project-status-key requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/projects-project-status' - type: object properties: id: readOnly: true examples: Disable timesheet entry: value: disableTimesheetEntry: true responses: '200': description: OK content: application/json: schema: type: object title: Project status updated properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: Updated project status: value: ia::result: key: '1' id: In Progress href: /objects/projects/project-status/1 ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] delete: summary: Delete a project status description: >+ Deletes a project status.
Permissions and other requirements
SubscriptionProjects Basic Project Tracking and General Ledger (enable the Projects dimension)
User typeBusiness, Project Manager
PermissionsDelete Project Status
tags: - Project statuses operationId: delete-projects-project-status-key responses: '204': description: No Content '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/projects/project-type: get: summary: List project types description: >+ Returns up to 100 object references from the collection with a key, ID, and link for each project type. This operation is mostly for use in testing; use query to find objects that meet certain criteria and to specify properties that are returned.
Permissions and other requirements
SubscriptionProjects Basic Project Tracking and General Ledger (enable the Projects dimension)
User typeBusiness, Employee, Project Manager
PermissionsList Project Types
tags: - Project types operationId: list-projects-project-type responses: '200': description: OK content: application/json: schema: type: object title: List of project types properties: ia::result: type: array items: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata-pages' examples: List project types: value: ia::result: - key: '100' id: Internal href: /objects/projects/project-type/100 - key: '101' id: External href: /objects/projects/project-type/101 - key: '102' id: Contract href: /objects/projects/project-type/102 ia::meta: totalCount: 3 start: 1 pageSize: 5 next: 0 previous: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] post: summary: Create a project type description: >+ Creates a new project type.
Permissions and other requirements
SubscriptionProjects Basic Project Tracking and General Ledger (enable the Projects dimension)
User typeBusiness, Project Manager
PermissionsAdd Project Type
tags: - Project types operationId: create-projects-project-type requestBody: description: project type to create required: true content: application/json: schema: allOf: - $ref: '#/components/schemas/projects-project-type' - $ref: '#/components/schemas/projects-project-typeRequiredProperties' examples: Creates a project type: value: id: Internal parent: key: '12' status: active responses: '201': description: Created content: application/json: schema: type: object title: New project type properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: New project type: value: ia::result: key: '1' id: Internal href: /objects/projects/project-type/1 ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/projects/project-type/{key}: parameters: - name: key description: System-assigned key for the project type. in: path required: true example: '956' schema: type: string get: summary: Get a project type description: >+ Returns detailed information for a specified project type.
Permissions and other requirements
SubscriptionProjects Basic Project Tracking and General Ledger (enable the Projects dimension)
User typeBusiness, Employee, Project Manager
PermissionsView Project Type
tags: - Project types operationId: get-projects-project-type-key responses: '200': description: OK content: application/json: schema: type: object title: Details of the project type properties: ia::result: $ref: '#/components/schemas/projects-project-type' ia::meta: $ref: '#/components/schemas/metadata' examples: Project type details: value: ia::result: key: '1' id: Internal parent: key: '100' id: Billable href: /objects/projects/project-type/100 status: active audit: createdDateTime: '2022-04-01T16:20:00Z' modifiedDateTime: '2022-04-01T16:20:00Z' createdBy: '1' modifiedBy: '95' href: /objects/projects/project-type/1 ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] patch: summary: Update a project type description: >+ Updates an existing project type by setting field values. Any fields not provided remain unchanged.
Permissions and other requirements
SubscriptionProjects Basic Project Tracking and General Ledger (enable the Projects dimension)
User typeBusiness, Project Manager
PermissionsEdit Project Type
tags: - Project types operationId: update-projects-project-type-key requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/projects-project-type' - type: object properties: id: readOnly: true examples: Set status to inactive: value: status: inactive responses: '200': description: OK content: application/json: schema: type: object title: Project type updated properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: Updated project type: value: ia::result: key: '1' id: Internal href: /objects/projects/project-type/1 ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] delete: summary: Delete a project type description: >+ Deletes a project type.
Permissions and other requirements
SubscriptionProjects Basic Project Tracking and General Ledger (enable the Projects dimension)
User typeBusiness, Project Manager
PermissionsEdit Project Type
tags: - Project types operationId: delete-projects-project-type-key responses: '204': description: No Content '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/projects/task: get: summary: List tasks description: >+ Returns up to 100 object references from the collection with a key, ID, and link for each task. This operation is mostly for use in testing; use query to find tasks that meet certain criteria and to specify properties that are returned.
Permissions and other requirements
SubscriptionProjects
User typeBusiness, Employee, Project Manager, Warehouse
PermissionsList Tasks
tags: - Tasks operationId: list-projects-task responses: '200': description: OK content: application/json: schema: type: object title: List of task objects properties: ia::result: type: array items: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata-pages' examples: List of tasks: value: ia::result: - key: '1' id: T-1 href: /objects/projects/task/1 - key: '2' id: T-2 href: /objects/projects/task/2 - key: '3' id: T-3 href: /objects/projects/task/3 ia::meta: totalCount: 3 start: 1 pageSize: 3 next: 0 previous: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] post: summary: Create a task description: |+ Creates a new project task.
Permissions and other requirements
SubscriptionProjects
User typeBusiness, Project Manager
PermissionsAdd Tasks
tags: - Tasks operationId: create-projects-task requestBody: description: New task definition required: true content: application/json: schema: allOf: - $ref: '#/components/schemas/projects-task' - $ref: '#/components/schemas/projects-taskRequiredProperties' examples: Creates a task: value: id: Task-1 name: General Overhead project: id: NET-XML30-1 status: planned responses: '201': description: Created content: application/json: schema: type: object title: New task properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: New task: value: ia::result: key: '6' id: '6' href: /objects/projects/task/6 ia::meta: totalCount: 1 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/projects/task/{key}: parameters: - name: key description: System-assigned key for the task. in: path required: true schema: type: string get: summary: Get a task description: >+ Returns detailed information for a specified task.
Permissions and other requirements
SubscriptionProjects
User typeBusiness, Employee, Project Manager, Warehouse
PermissionsView Tasks
tags: - Tasks operationId: get-projects-task-key responses: '200': description: OK content: application/json: schema: type: object title: Details of the task properties: ia::result: $ref: '#/components/schemas/projects-task' ia::meta: $ref: '#/components/schemas/metadata' examples: Details of the task: value: ia::result: key: '1' id: T-1 parent: key: '11' id: T-11 name: Cabinet design href: /objects/projects/task/11 name: Project Task project: key: '1' id: NET-XML30-1 name: Created by XML 3.0 startDate: '2023-02-25' endDate: '2023-04-25' href: /objects/projects/project/56 customer: key: '1' id: '101' name: Corley Energy href: /objects/accounts-receivable/customer/41 productionUnits: estimate: 1200 description: linear feet siding item: key: '311' id: Project Item 1 name: Extension pack href: /objects/inventory-control/item/311 planned: startDate: '2023-02-25' endDate: '2023-06-25' actual: startDate: '2023-02-25' endDate: '2023-11-25' duration: planned: 100 estimated: 100 actual: 0 remaining: 0 approved: 0 plannedBillable: 0 estimatedBillable: 0 actualBillable: 0 approvedBillable: 0 percentComplete: 0.25 observerPercentComplete: 0.3 description: Task Description isMilestone: false isUtilized: false isBillable: false wbsCode: '1' priority: 1 status: inProgress timeType: key: '2' id: overtime href: /objects/time/time-type/2 class: key: '19' id: DES name: Design href: /objects/company-config/class/19 audit: createdDateTime: '2021-08-12T17:25:29Z' modifiedDateTime: '2021-08-12T17:25:29Z' createdBy: '1' modifiedBy: '1' dependentOn: key: '1' id: T-1 name: Design review href: /objects/projects/task/1 root: key: '1' id: ID1 name: Task 1 href: /objects/projects/task/1 standardTask: key: '1' id: '1' name: '1' href: /objects/construction/standard-task/1 attachment: id: '1' href: /objects/projects/task/1 ia::meta: totalCount: 1 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] patch: summary: Update a task description: >+ Updates an existing task by setting field values. Any fields not provided remain unchanged.
Permissions and other requirements
SubscriptionProjects
User typeBusiness, Project Manager
PermissionsEdit Tasks
tags: - Tasks operationId: update-projects-task-key requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/projects-task' - type: object properties: id: readOnly: true project: readOnly: true examples: Updates a task: value: status: completed duration: estimated: 27 responses: '200': description: OK content: application/json: schema: type: object title: Updated task properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: Updated task: value: ia::result: key: '6' id: T-6 href: /objects/projects/task/6 ia::meta: totalCount: 1 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] delete: summary: Delete a task description: |+ Deletes a task.
Permissions and other requirements
SubscriptionProjects
User typeBusiness, Project Manager
PermissionsDelete Tasks
tags: - Tasks operationId: delete-projects-task-key responses: '204': description: No Content '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/projects/task-resource: get: summary: List task resources description: >- Returns up to 100 object references from the collection with a key, ID, and link for each task resource. This operation is mostly for use in testing; use query to find task resources that meet certain criteria and to specify properties that are returned. tags: - Task resources operationId: list-projects-task-resource responses: '200': description: OK content: application/json: schema: type: object title: List of task-resource objects properties: ia::result: type: array items: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata-pages' examples: List of task resources: value: ia::result: - key: '110' id: '110' href: /objects/projects/task-resource/110 - key: '2374' id: '2374' href: /objects/projects/task-resource/2374 - key: '33' id: '33' href: /objects/projects/task-resource/33 ia::meta: totalCount: 3 start: 1 pageSize: 100 next: 0 previous: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] post: summary: Create a task resource description: Creates a new task resource. tags: - Task resources operationId: create-projects-task-resource requestBody: description: Task resource to create required: true content: application/json: schema: allOf: - $ref: '#/components/schemas/projects-task-resource' - $ref: '#/components/schemas/projects-task-resourceRequiredProperties' examples: Creates a task resource: value: planned: startDate: '2023-01-01' endDate: '2023-06-30' actual: startDate: '2023-01-08' endDate: '2023-04-01' duration: budget: 22 estimated: 20 actual: 17 approved: 18 remaining: 8 percentComplete: 50 description: Resource of task RR-27-Q5 isFullTime: true isSoftBook: true employee: key: '23' project: id: Q-Field task: id: RR-27-Q5 responses: '201': description: Created content: application/json: schema: type: object title: New task-resource properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: New task resource: value: ia::result: key: '40' id: '40' href: /objects/projects/task-resource/40 ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/projects/task-resource/{key}: parameters: - name: key description: System-assigned unique key for the task resource. in: path required: true example: '215' schema: type: string get: summary: Get a task resource description: Returns detailed information for a specified task resource. tags: - Task resources operationId: get-projects-task-resource-key responses: '200': description: OK content: application/json: schema: type: object title: Details of the task-resource properties: ia::result: $ref: '#/components/schemas/projects-task-resource' ia::meta: $ref: '#/components/schemas/metadata' examples: Details of the task resource: value: ia::result: key: '23' id: '23' href: /objects/projects/task-resource/23 planned: startDate: '2023-01-01' endDate: '2023-06-30' actual: startDate: '2023-01-08' endDate: '2023-04-01' duration: budget: 22 estimated: 20 actual: 17 approved: 18 remaining: 8 percentComplete: 50 description: Resource of task RR-27-Q5 isFullTime: true isSoftBook: true employee: href: /objects/company-config/employee/23 key: '23' id: jsmith startDate: '2023-04-01' endDate: '2024-04-01' employeeContact: key: '977' id: John Smith firstName: John lastName: Smith href: /objects/company-config/contact/977 project: href: /objects/projects/project/23 key: '23' id: Q-Field name: Quantum Field Repair task: href: /objects/projects/task/23 key: '23' id: RR-27-Q5 name: Adjust flux capacitor isBillable: true audit: createdDateTime: '2022-04-20T16:20:00Z' modifiedDateTime: '2022-04-20T16:20:00Z' createdBy: '1' modifiedBy: '95' ia::meta: totalCount: 3 totalSuccess: 2 totalError: 1 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] patch: summary: Update a task resource description: >- Updates an existing task resource by setting field values. Any fields not provided remain unchanged. tags: - Task resources operationId: update-projects-task-resource-key requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/projects-task-resource' - type: object properties: project: readOnly: true task: readOnly: true examples: Updates a task resource: value: description: Resource of task RR-27-Q5 responses: '200': description: OK content: application/json: schema: type: object title: Updated task-resource properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: Task resource updated: value: ia::result: key: '40' id: '40' href: /objects/projects/task-resource/40 ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] delete: summary: Delete a task resource description: Deletes a task resource. tags: - Task resources operationId: delete-projects-task-resource-key responses: '204': description: No Content '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/company-config/employee-rate: get: summary: List employee rates description: Returns a collection with a key, ID, and link for each employee rate. tags: - Employee rates operationId: list-projects-employee-rate responses: '200': description: OK content: application/json: schema: type: object title: List of employee-rate objects properties: ia::result: type: array items: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata-pages' examples: List of employee rates: value: ia::result: - key: '1' id: '1' href: /objects/company-config/employee-rate/1 - key: '3' id: '3' href: /objects/company-config/employee-rate/3 - key: '5' id: '5' href: /objects/company-config/employee-rate/5 ia::meta: totalCount: 3 start: 1 pageSize: 100 next: null previous: null '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/company-config/employee-rate/{key}: parameters: - name: key description: system-assigned unique key for the employee rate. in: path required: true schema: type: string get: summary: Get a/an employee rate description: Returns detailed information for a particular employee rate. tags: - Employee rates operationId: get-projects-employee-rate-key responses: '200': description: OK content: application/json: schema: type: object title: Details of the employee-rate properties: ia::result: $ref: '#/components/schemas/company-config-employee-rate' ia::meta: $ref: '#/components/schemas/metadata' examples: Details of the employee rate: value: ia::result: id: '111' key: '111' employee: key: '1' id: '1' name: 1099 Int href: /objects/company-config/employee/1 hourlyRate: '50001' annualSalary: null startDate: '2023-01-01' endDate: '2023-12-31' href: /objects/company-config/employee-rate/111 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] delete: summary: Delete an employee rate record description: Deletes an employee rate record tags: - Employee rates operationId: delete-company-config-employee-rate-key responses: '204': description: No Content '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/projects/position-skill: get: summary: List position skills description: Returns a collection with a key, ID, and link for each position skill. tags: - Position skills operationId: list-projects-position-skill responses: '200': description: OK content: application/json: schema: type: object title: List of position-skill objects properties: ia::result: type: array items: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata-pages' examples: List of position skills: {} '400': $ref: '#/components/responses/400error' security: - OAuth2: [] post: summary: Create a position skill description: Creates a new position skill. tags: - Position skills operationId: create-projects-position-skill requestBody: description: '' required: true content: application/json: schema: allOf: - $ref: '#/components/schemas/projects-position-skill' - $ref: '#/components/schemas/projects-position-skillRequiredProperties' examples: Creates a position skill: {} responses: '201': description: Created content: application/json: schema: type: object title: New position-skill properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: New position skill: {} '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/projects/position-skill/{key}: parameters: - name: key description: system-assigned unique key for the position skill. in: path required: true schema: type: string get: summary: Get a/an position skill description: Returns detailed information for a particular position skill. tags: - Position skills operationId: get-projects-position-skill-key responses: '200': description: OK content: application/json: schema: type: object title: Details of the position-skill properties: ia::result: $ref: '#/components/schemas/projects-position-skill' ia::meta: $ref: '#/components/schemas/metadata' examples: Details of the position skill: {} '400': $ref: '#/components/responses/400error' security: - OAuth2: [] patch: summary: Update a/an position skill description: >- Updates an existing position skill by setting field values. Any fields not provided remain unchanged. tags: - Position skills operationId: update-projects-position-skill-key requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/projects-position-skill' - type: object properties: id: readOnly: true examples: Updates a/an position skill: {} responses: '200': description: OK content: application/json: schema: type: object title: Updated position-skill properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: Updated position skill: {} '400': $ref: '#/components/responses/400error' security: - OAuth2: [] delete: summary: Delete a position skill description: Deletes a position skill. tags: - Position skills operationId: delete-projects-position-skill-key responses: '204': description: No Content '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/projects/project-billing-template: get: summary: List billing templates description: Returns a collection with a key, ID, and link for each billing template. tags: - Project billing templates operationId: list-projects-project-billing-template responses: '200': description: OK content: application/json: schema: type: object title: List of project billing template objects properties: ia::result: type: array items: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata-pages' examples: List of billing templates: value: ia::result: - key: '12' id: '12' href: /objects/projects/project-billing-template/12 - key: '13' id: '13' href: /objects/projects/project-billing-template/13 - key: '14' id: '14' href: /objects/projects/project-billing-template/14 ia::meta: totalCount: 3 start: 1 pageSize: 100 next: 101 previous: null '400': $ref: '#/components/responses/400error' security: - OAuth2: [] post: summary: Create a project billing template description: Creates a new project billing template. tags: - Project billing templates operationId: create-projects-project-billing-template requestBody: description: Create a project billing template required: true content: application/json: schema: allOf: - $ref: '#/components/schemas/projects-project-billing-template' - $ref: '#/components/schemas/projects-project-billing-templateRequiredProperties' examples: Creates a project billing template: value: name: Project Estimated Hours description: Template for billing by estimated project hours billingMethod: percentCompleted calculateOn: project basedOn: plannedHours status: active milestones: - percentCompleted: '0.1' description: Project Estimated Hours responses: '201': description: Created content: application/json: schema: type: object title: New project billing template properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: New billing template: value: ia::result: key: '15' id: '15' href: /objects/projects/project-billing-template/15 ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] /objects/projects/project-billing-template/{key}: parameters: - name: key description: system-assigned unique key for the billing template. in: path required: true schema: type: string get: summary: Get a billing template description: Returns detailed information for a particular billing template. tags: - Project billing templates operationId: get-projects-project-billing-template-key responses: '200': description: OK content: application/json: schema: type: object title: Details of the project billing template properties: ia::result: $ref: '#/components/schemas/projects-project-billing-template' ia::meta: $ref: '#/components/schemas/metadata' examples: Details of the billing template: value: ia::result: key: '15' id: '15' href: /objects/projects/project-billing-template/15 name: Project Estimated Hours description: Template for billing by estimated project hours billingMethod: percentCompleted calculateOn: project basedOn: plannedHours status: active milestones: - key: '23' id: '23' percentCompleted: '0.5' percentToInvoice: '0.5' description: Bill at 50% completion href: '/objects/projects/project-billing-template-milestone/23' projectBillingTemplate: key: '15' id: '15' href: /objects/projects/project-billing-template/15 - key: '24' id: '24' percentCompleted: '1' percentInvoiced: '0.5' description: Bill at 100% completion href: '/objects/projects/project-billing-template-milestone/23' projectBillingTemplate: key: '15' id: '15' href: /objects/projects/project-billing-template/15 ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] patch: summary: Update a billing template description: >- Updates an existing billing template by setting field values. Any fields not provided remain unchanged. tags: - Project billing templates operationId: update-projects-project-billing-template-key requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/projects-project-billing-template' - type: object properties: name: readOnly: true examples: Updates a billing template: value: description: Bill by actual project hours responses: '200': description: OK content: application/json: schema: type: object title: Updated project billing template properties: ia::result: $ref: '#/components/schemas/object-reference' ia::meta: $ref: '#/components/schemas/metadata' examples: Updated billing template: value: ia::result: key: '12' id: '12' href: /objects/projects/project-billing-template/12 ia::meta: totalCount: 1 totalSuccess: 1 totalError: 0 '400': $ref: '#/components/responses/400error' security: - OAuth2: [] delete: summary: Delete a billing template description: Deletes a billing template. tags: - Project billing templates operationId: delete-projects-project-billing-template-key responses: '204': description: No Content '400': $ref: '#/components/responses/400error' security: - OAuth2: [] components: schemas: projects-projectRequiredProperties: type: object required: - name - category object-reference: type: object description: Reference to created or updated object properties: key: type: string example: '12345' id: type: string example: ID123 href: type: string readOnly: true example: /objects///12345 metadata-pages: description: Metadata for collection response type: object properties: totalCount: type: integer description: Total count readOnly: true example: 3 start: type: integer description: Start element number readOnly: true example: 1 pageSize: type: integer description: Page size readOnly: true example: 100 next: type: integer description: Next element number readOnly: true nullable: true example: 101 previous: type: integer description: Previous element number readOnly: true nullable: true example: null metadata: description: Metadata for response type: object properties: totalCount: type: integer description: Total count readOnly: true example: 3 totalSuccess: type: integer description: Total success readOnly: true example: 2 totalError: type: integer description: Total errors readOnly: true example: 1 error-response: type: object description: Error response properties: ia::result: type: object properties: ia::error: type: object properties: code: type: string example: invalidRequest message: type: string example: Payload contains errors supportId: type: string example: sQrM9%7EYdh5oDEWVb80mrn9xuHjoAAAABBQ errorId: type: string example: REST-1064 additionalInfo: type: object properties: messageId: type: string example: IA.PAYLOAD_CONTAINS_ERRORS placeholders: type: string propertySet: type: string details: type: array items: type: object properties: code: type: string example: invalidRequest message: type: string example: /testDate is not a valid field errorId: type: string example: REST-1043 target: type: string example: /testDate additionalInfo: type: object properties: messageId: type: string example: IA.NOT_A_VALID_FIELD placeholders: type: string example: FIELD: /testDate propertySet: type: string ia::meta: $ref: '#/components/schemas/metadata' entity-location-ref: type: object description: >- This is the entity location. If Object's entity location is not set, it means object is created at the top. properties: key: type: string description: System-assigned key for the entity location. example: '2' nullable: true id: type: string description: Unique identifier for the entity location. example: DIA nullable: true name: type: string description: Name for the entity location. readOnly: true example: Canada nullable: true href: type: string readOnly: true example: /objects/company-config/location/2 status: type: string description: >- Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced. enum: - active - inactive default: active example: active audit: type: object properties: createdDateTime: description: Time of the submission type: string format: date-time example: '2022-04-20T16:20:00Z' readOnly: true modifiedDateTime: description: Time of the modification type: string format: date-time example: '2022-04-20T16:20:00Z' readOnly: true createdBy: description: User who created this type: string example: '1' readOnly: true nullable: true modifiedBy: description: User who modified this type: string example: '95' readOnly: true nullable: true readOnly: true projects-project: type: object description: Project for work management. properties: key: type: string description: >- System-assigned unique key for the project. Use this key to refer to the project in all operations. readOnly: true example: '83' id: type: string description: Unique identifier for the project. example: P-0045 name: type: string description: Project name. example: Implementation Project description: type: string description: A brief description of the project. example: Software Implementation Project nullable: true projectCurrency: type: string description: Currency used for project budget information. example: USD nullable: true category: type: string description: Project category. Used for filtering and reporting. example: contract enum: - contract - capitalized - internalNonBillable - internalBillable default: contract projectStatus: type: object description: Project status properties: key: type: string description: Project status key. example: '1' nullable: true id: type: string description: Project status Id. example: In Progress nullable: true disableGenerateInvoice: type: boolean description: >- Whether project invoices can be generated while the project has this status. readOnly: true example: false disablePurchasingAPEntry: type: boolean description: >- Whether AP/PO entries are allowed while the project has this status. readOnly: true example: false disableExpenseEntry: type: boolean description: >- Whether expense entries are allowed while the project has this status. readOnly: true example: false disableTimesheetEntry: type: boolean description: >- Whether timesheet entries are allowed while the project has this status. readOnly: true example: false href: type: string readOnly: true example: /objects/projects/project-status/1 startDate: type: string format: date description: Date on which the project is scheduled to begin. example: '2023-01-23' nullable: true endDate: type: string format: date description: Date on which the project is scheduled to end. example: '2023-04-01' nullable: true budget: type: object description: Project budget projections. properties: billingAmount: type: string description: User-specified project budgeted billing amount. format: decimal-precision-2 example: '10000.00' nullable: true budgetedDuration: type: string description: User-specified project budgeted duration (in hours). format: decimal-precision-2 example: '250' nullable: true budgetedCost: type: string description: User-specified project budgeted cost. format: decimal-precision-2 example: '10000' nullable: true glBudget: type: object description: >- GL budget used by Rev Rec to calculate the projected cost amount for the project. properties: key: type: string description: System-assigned key for the budget. example: '5' nullable: true id: type: string description: Unique GL budget identifier. example: KPI Budgets nullable: true href: type: string readOnly: true example: /objects/general-ledger/budget/5 nullable: true contractAmount: type: string description: The contracted amount for the project for reporting purposes. format: decimal-precision-2 example: '15000.00' nullable: true progress: type: object description: Project progress readOnly: true properties: estimatedDuration: type: string description: Estimated duration (in hours) to complete the project. readOnly: true example: '200' nullable: true actualDuration: type: string description: Actual duration (in hours) currently submitted for the project. readOnly: true example: '183' nullable: true approvedDuration: type: string description: Total approved duration (in hours) for the project. readOnly: true example: '175' nullable: true remainingDuration: type: string description: >- Remaining duration (in hours) allotted for the project (difference between estimated and actual duration). readOnly: true example: '8' nullable: true percentComplete: type: string description: >- Calculated percent completed, or how complete the project is (actual duration divided by estimated duration for project tasks). readOnly: true example: '35' nullable: true observedPercentComplete: type: string description: >- Latest observed percent completed, or how complete the project is as of a specific date. readOnly: true example: '50' nullable: true billingType: type: string description: Billing type specifies how the project will be invoiced. example: timeAndMaterial enum: - null - timeAndMaterial - fixedFee - fixedFeeAndExpenses nullable: true default: null salesOrderNumber: type: string description: Sales order number for the project, for reference. example: SO-5478 nullable: true purchaseOrderNumber: type: string description: Purchase order number for the project, for reference. example: PO-7829 nullable: true purchaseOrderAmount: type: string description: Project purchase order amount, for reference. format: decimal-precision-2 example: '4500.00' nullable: true purchaseQuoteNumber: type: string description: Project purchase quote number, for reference. example: '1453' nullable: true salesforceKey: type: string description: Salesforce key readOnly: true example: '1' nullable: true documentNumber: type: string description: >- An external reference number that can be used to report on the project in custom reports. example: '1453' nullable: true parent: type: object description: >- The parent project if this project is the child of another, larger project. properties: key: type: string description: System-assigned key of the parent project. example: '10' nullable: true id: type: string description: Unique identifier of the parent project. example: P-0040 nullable: true name: type: string description: Parent project name. readOnly: true example: NET-XML30-2 nullable: true href: type: string readOnly: true example: /objects/projects/project/1 nullable: true invoiceWithParent: type: boolean description: >- Set to `true` to include the projects transactions in invoices for the parent project. example: true default: false nullable: true customer: type: object description: The customer associated with the project. properties: key: type: string description: >- System-assigned key for the customer associated with the project. example: '13' nullable: true id: type: string description: Unique identifier of the customer associated with the project. example: '113' nullable: true name: type: string description: Name of the customer associated with the project. readOnly: true example: Software company nullable: true href: type: string readOnly: true example: /objects/accounts-receivable/customer/1 salesContact: type: object description: The sales contact employee for the project. properties: key: type: string description: System-assigned key for the sales contact employee. example: '10' nullable: true id: type: string description: Unique identifier of the sales contact employee. example: '100' nullable: true href: type: string readOnly: true example: /objects/company-config/employee/1 projectType: type: object description: Project type, used to categorize and report on projects- properties: key: type: string description: System-assigned key for the project type. example: '3' nullable: true id: type: string description: Name or ID of the project type. example: Internal nullable: true href: type: string readOnly: true example: /objects/projects/project-type/1 manager: type: object description: >- Project manager employee for the project. Project managers usually approve timesheets and expense reports. Project managers can also run and view project reports. properties: key: type: string description: System-assigned key for the project manager employee. example: '10' nullable: true id: type: string description: Unique identifier for the project manager employee. example: E10 nullable: true href: type: string readOnly: true example: /objects/company-config/employee/1 department: type: object description: >- The department associated with this project. The project department overrides any department associated with an employee on a timesheet. If a project department is not set, the employee department is used. properties: key: type: string description: System-assigned key for the department. example: '10' nullable: true id: type: string description: Unique identifier for the department. example: '20' nullable: true name: type: string description: Name for the department. readOnly: true example: Sales nullable: true href: type: string readOnly: true example: /objects/company-config/department/1 location: type: object description: >- The location associated with this project. The project location overrides any location associated with an employee on a timesheet. If a project location is not set, the employee location is used. properties: key: type: string description: System-assigned key for the project location. example: '1' nullable: true id: type: string description: Unique identifier for the project location. example: DIA nullable: true name: type: string description: Name for the project location. readOnly: true example: US nullable: true href: type: string readOnly: true example: /objects/company-config/location/1 paymentTerm: type: object description: >- The Accounts Receivable payment terms for the project. The payment terms are included on the invoice header. If project payment terms are not set, the customers terms are used. properties: key: type: string description: System-assigned key for project payment terms. example: '10' nullable: true id: type: string description: Payment term name or identifier. example: '10' nullable: true href: type: string readOnly: true example: /objects/accounts-receivable/term/1 customerUser: type: object description: >- A Sage Intacct user assigned as a customer representative with the ability to approve timesheets for the project. properties: key: type: string description: System-assigned key for the user. example: '1' nullable: true id: type: string description: Unique identifier for the user with access to the project. example: Admin nullable: true href: type: string readOnly: true example: /objects/company-config/user/1 class: type: object description: Class dimension used to track the project. properties: key: type: string description: >- System-assigned key for a class dimension associated with the project. example: '1' nullable: true id: type: string description: >- Unique identifier for a class dimension associated with the project. example: '10' nullable: true name: type: string description: Class name associated with the project. readOnly: true example: Construction nullable: true href: type: string readOnly: true example: /objects/company-config/class/1 userRestrictions: type: string description: >- User restrictions for entering project time and expenses (overrides default user restrictions for the Projects application). example: systemDefault enum: - systemDefault - anyUser - projectUsers - projectTaskUsers default: systemDefault isBillableEmployeeExpense: type: boolean description: Set to `true` to bill employee expenses for the project. example: true default: false isBillablePurchasingAPExpense: type: boolean description: >- Set to `true` to bill project purchases entered through Accounts Payable or Purchasing. example: true default: false ratesAndPricing: type: object description: Rates and Pricing properties: laborPricing: type: string description: Billing pricing option. example: billingRate enum: - billingRate - costPlusFee default: billingRate laborMarkup: type: string description: >- Project-specific default rate to calculate labor pricing when labor pricing option is set to cost plus fee. example: '10' expensePricing: type: string description: Expense pricing option. example: billingRate enum: - billingRate - costPlusFee default: costPlusFee expenseMarkup: type: string description: >- Project-specific default rate to calculate expense pricing when expense pricing option is set to cost plus fee. example: '10' defaultRate: type: string description: >- Project-specific default rate to calculate AP/PO pricing when generating project invoices. example: '12' contacts: type: object description: Contacts associated with the project. properties: primary: type: object description: >- The person others can turn to with questions and information about the project. properties: key: type: string description: System-assigned key for the project primary contact. example: '1' nullable: true id: type: string description: Name of the project primary contact. example: JSmith nullable: true href: type: string readOnly: true example: /objects/company-config/contact/1 billTo: type: object description: >- The person or organization responsible for paying project invoices. If not set, the customer contact will be used for billing. properties: key: type: string description: System-assigned key for the bill-to contact. example: '2' nullable: true id: type: string description: >- Name of the person or organization that is the bill-to contact. example: ABrown nullable: true href: type: string readOnly: true example: /objects/company-config/contact/2 shipTo: type: object properties: key: type: string description: System-assigned key for the Ship-to contact example: '2' nullable: true id: type: string description: >- Name of the person or organization that is the ship-to contact (blank if shipping to the customer contact). example: ABrown nullable: true href: type: string readOnly: true example: /objects/company-config/contact/2 invoiceMessage: type: string description: Message to appear on invoices. example: Invoice for project nullable: true invoiceCurrency: type: string description: Currency to use when generating invoices for the project. example: USD nullable: true billingOverMax: type: string description: >- Billing control to prevent or warn of billings that exceed the projects budgeted billing amount. example: preventBilling enum: - doNothing - issueAWarningMessage - preventBilling default: doNothing excludeExpenses: type: boolean description: >- Set to `true` to exclude employee, Accounts Payable (AP), and purchase order expenses from the over-budget calculation example: false default: false nullable: true contract: type: object description: The contract that this project is associated with. readOnly: true properties: key: type: string description: >- System-assigned key for the contract associated with the project. readOnly: true example: '1' nullable: true id: type: string description: Unique identifier for the contract associated with the project. readOnly: true example: CON-002 nullable: true href: type: string readOnly: true example: /objects/contracts/contract/1 attachment: type: object description: >- Documents associated with the project, such as statements of work, specifications, or agreements. properties: key: type: string example: '1' nullable: true id: type: string description: Attachment example: '1' nullable: true href: type: string readOnly: true example: /objects/company-config/attachment/1 rootProject: type: object description: The top-level project that this project descends from. readOnly: true properties: key: type: string description: System-assigned key for the top parent project. readOnly: true example: '12' nullable: true id: type: string description: Unique identifier for the top parent project. readOnly: true example: '12' nullable: true name: type: string description: Name of the top parent project. readOnly: true example: PRJ-RT-0001 nullable: true href: type: string readOnly: true example: /objects/projects/project/12 grant: type: object description: Grant-related fields. properties: aln: type: string description: >- Classification in the Catalog of Assistance Listing Numbers (ALN). example: 10.555 nullable: true fundedProjectName: type: string description: External name of the project receiving the funding. example: Undergraduate Programs nullable: true agency: type: string description: Funding agency example: US government nullable: true payer: type: string description: Funding source example: federal enum: - null - federal - thirdParty nullable: true default: null otherId: type: string description: Another external identifier for the funding. example: Other nullable: true assistanceType: type: string description: >- Assistance provided to identify the type of funding (Cash or Non-Cash) example: cash enum: - null - cash - nonCash nullable: true default: null revenueRestriction: type: string description: >- Field to indicate if there is a restriction on the received grant revenue. example: time enum: - null - purpose - time - NA nullable: true default: null restrictionExpiry: type: string description: Duration of time-based restriction (in years) example: '1' nullable: true restrictionExpirationDate: type: string description: >- Date when first restriction expires on time-based restricted funding. format: date example: '2021-01-23' nullable: true isTimeSatisfactionScheduled: type: boolean description: >- Indicates that the release of restriction has been scheduled for time-based restrictions. example: false default: false nullable: true wipScheduleProject: type: object description: The project this project rolls up to for work in progress schedules. properties: key: type: string description: System-assigned key for the roll up project. example: '12' nullable: true id: type: string description: Unique identifier for the roll up project. example: '12' nullable: true name: type: string description: Name of the roll up project. readOnly: true example: PRJ-RT-0001 nullable: true href: type: string readOnly: true example: /objects/projects/project/12 excludeFromWIPSchedule: type: boolean description: Set to true to exclude the project from work in progress schedules. example: true default: true multiEntityLocation: $ref: '#/components/schemas/entity-location-ref' status: $ref: '#/components/schemas/status' audit: $ref: '#/components/schemas/audit' projects-project-groupRequiredProperties: type: object required: - id - name projects-project-group: type: object description: A project group is a dimension group. properties: key: type: string description: System-assigned key for the project-group. readOnly: true example: '23' id: type: string description: Project or project group ID. example: Projects without PO href: type: string description: URL for the project-group. readOnly: true example: /objects/projects/project-group/23 name: type: string description: Name example: Projects that are waiting on PO description: type: string description: Description example: This is a description. nullable: true groupType: type: string description: Group type example: all enum: - all - specific default: all sortOrder: type: string description: Sort Order. example: ascending enum: - ascending - descending default: ascending maxMatches: type: string description: Max Matches. example: '10' nullable: true sortField: type: string description: select sort field for project group. example: PROJECTID default: PROJECTID isDimensionStructure: type: boolean description: >- If this checked, creating a dimension structure from a group enables you to add the group to the rows or columns of a financial report. default: false example: false conditionType: type: string description: The condition type for filters defined to create the class group. enum: - and - or - expression default: and example: and expression: type: string description: >- If conditionType is expression, you can manually add the text of the expression in this field. nullable: true example: (1 AND 2) memberFilter: type: array description: The memberFilter of the group nullable: true items: title: children properties: field: type: string description: the field example: status operator: type: string description: Comparison operator. enum: - equals - doesNotEqual - isGreaterThan - isLessThan - isOneOf - isNotOneOf - isEmpty - isNotEmpty - contains - isCurrentUser default: isOneOf example: isOneOf value: type: string description: the field example: active groupMembers: type: array items: type: object properties: key: type: string description: Members. example: '1' id: type: string description: Members. example: DIM - BTI name: type: string example: Dimensions - Berkeley Technology Inc readOnly: true href: type: string description: Endpoint for the project. readOnly: true example: /objects/projects/project/23 status: type: string example: active readOnly: true sortOrder: type: string description: Sort order. example: '0' readOnly: true audit: $ref: '#/components/schemas/audit' projects-project-resourceRequiredProperties: type: object required: - project projects-project-resource: type: object description: Employee and billing rate for a project. properties: key: type: string description: System-assigned key for the project resource. readOnly: true example: '23' id: type: string description: >- Same as `key`. API operations should use the `key` property to refer to a project resource. readOnly: true example: '23' href: type: string description: Endpoint for the project resource. readOnly: true example: /objects/projects/project-resource/23 description: type: string description: Description of the project resource. example: Hourly resource nullable: true startDate: type: string description: Start date of the resource on the project. format: date example: '2023-04-01' nullable: true employee: type: object description: The employee resource assigned to the project. properties: href: type: string description: Endpoint for the employee. readOnly: true example: /objects/company-config/employee/23 nullable: true key: type: string description: Employee key. example: '244' nullable: true id: type: string description: Employee ID. example: jsmith nullable: true startDate: type: string format: date example: '2022-01-01' nullable: true readOnly: true endDate: type: string format: date readOnly: true example: '2023-01-01' nullable: true employeeContact: type: object description: The contact for the employee. properties: key: type: string description: System generated key for the contact. readOnly: true example: '977' id: type: string description: Unique identifier for the contact. readOnly: true example: John Smith href: type: string example: /objects/company-config/contact/973 readOnly: true readOnly: true item: type: object properties: href: type: string description: Endpoint for the item. readOnly: true example: /objects/inventory-control/item/23 nullable: true key: type: string description: Item key. example: '23' nullable: true id: type: string description: Item ID. example: B002 nullable: true name: type: string description: Item name. readOnly: true example: Monitor-Acer nullable: true pricing: type: object properties: laborPricingMethod: type: string readOnly: true description: How labor for this resource will be priced. example: billingRate enum: - billingRate - costPlusFee laborRate: type: number description: Labor rate for this resource on this project. example: 10 nullable: true expensePricingMethod: type: string readOnly: true description: How expenses will be priced for this project resource.. example: billingRate enum: - billingRate - costPlusFee expenseRate: type: number description: Expense rate. example: 120 nullable: true apPurchasingPricingMethod: type: string readOnly: true description: AP and PO pricing option. example: costPlusFee enum: - costPlusFee apPurchasingRate: type: number description: AP and PO. example: 100 nullable: true project: type: object properties: href: type: string description: Endpoint for the project. readOnly: true example: /objects/projects/project/23 key: type: string description: Project key. example: '23' id: type: string description: Project ID. example: P-0045 name: type: string description: Project name. readOnly: true example: Implementation Project audit: $ref: '#/components/schemas/audit' projects-project-statusRequiredProperties: type: object required: - id projects-project-status: type: object description: >- Project status to track project progress and optionally limit transactions. properties: key: type: string description: >- System-assigned unique key for project status. Use this key to refer to the project status in all operations. readOnly: true example: '1' id: type: string description: >- User-specified name for the project status; used to categorize and report on projects- Same value as `name` example: In Progress description: type: string description: A brief description of the purpose of the project status. example: In progress nullable: true disableTimesheetEntry: type: boolean description: >- Indicates whether timesheet entries are allowed for projects with this status. example: false default: false disableExpenseEntry: type: boolean description: >- Indicates whether expense entries are allowed for projects with this status. example: false default: false disablePurchasingAPEntry: type: boolean description: >- Indicates whether AP/PO entries are allowed for projects with this status. example: false default: false disableGenerateInvoice: type: boolean description: >- Indicates whether invoices can be generated for projects with this status. example: false default: false status: $ref: '#/components/schemas/status' audit: $ref: '#/components/schemas/audit' href: type: string description: Endpoint for this project status. readOnly: true example: /objects/projects/project-status/1 projects-project-typeRequiredProperties: type: object required: - id projects-project-type: type: object description: Project type for grouping projects for reporting properties: key: type: string description: >- System-assigned unique key for project type. Use this key to refer to the project type in all operations. readOnly: true example: '3' id: type: string description: >- User-specified name for the project type; used to categorize and report on projects- example: Internal href: type: string readOnly: true example: /objects/projects/project-type/3 parent: type: object description: >- The parent project type if you are working with a hierarchy of project types. properties: key: type: string description: System-assigned key for the parent project type. example: '10' nullable: true id: type: string description: Unique identifier (name) of the parent project type. example: Billable nullable: true href: type: string readOnly: true example: /objects/projects/project-type/1 status: $ref: '#/components/schemas/status' audit: $ref: '#/components/schemas/audit' projects-taskRequiredProperties: type: object required: - name - project projects-task: type: object description: Information about each task. properties: key: type: string description: >- System-assigned unique key for the task. Use this key to refer to the task in all operations. readOnly: true example: '101' id: type: string description: >- Identifier for the task. Must be unique within the project. 20 characters max. example: 01-010 name: type: string description: Task name. Must be unique within the project. example: Task 1 parent: type: object description: The parent task if this task is the child of another, larger task. properties: key: type: string description: System-assigned key of the parent task. example: '11' nullable: true id: type: string description: Parent task ID. readOnly: true example: Task-11 nullable: true name: type: string readOnly: true description: Name of the parent task. example: Window installation nullable: true href: type: string readOnly: true example: /objects/projects/task/11 project: type: object description: The project that the task is associated with. properties: key: type: string description: System-assigned key of the project. example: '114' id: type: string description: Unique identifier of the project. example: 15-GAR name: type: string description: Project name. readOnly: true example: Parking garage renovation startDate: type: string format: date description: Project begin date. readOnly: true example: '2023-01-01' nullable: true endDate: type: string format: date description: Project end date. readOnly: true example: '2023-04-01' nullable: true href: type: string readOnly: true example: /objects/projects/project/114 customer: type: object description: The customer that this task will be billed to. readOnly: true properties: key: type: string description: System-assigned key of the customer. readOnly: true example: '987' nullable: true id: type: string description: Unique identifier of the customer. readOnly: true example: 38-097 nullable: true name: type: string readOnly: true description: Customer name. example: City Parking nullable: true href: type: string readOnly: true example: /objects/accounts-receivable/customer/987 item: type: object description: >- Work item that this task is assigned to. A task must be assigned to an item for it to be invoiced. properties: key: type: string description: System-assigned key of the item. example: '311' nullable: true id: type: string description: Unique identifier of the item. example: Project Item 1 nullable: true name: type: string readOnly: true description: Item name. example: Extension pack nullable: true href: type: string readOnly: true example: /objects/inventory-control/item/311 planned: type: object description: Planned start and end dates for the task. properties: startDate: format: date type: string description: Planned start date. example: '2023-04-01' nullable: true endDate: format: date type: string description: Planned end date. example: '2023-05-05' nullable: true actual: type: object readOnly: true description: Actual task start and end dates. properties: startDate: format: date type: string readOnly: true description: Actual start date. example: '2023-04-01' nullable: true endDate: format: date type: string readOnly: true description: Actual end date. example: '2023-05-05' nullable: true duration: type: object description: Task-related durations. properties: planned: type: number description: Task planned duration (hours). example: 100 nullable: true plannedBillable: type: number readOnly: true description: Billable task planned duration (hours). example: 10 nullable: true estimated: type: number description: Task estimated duration (hours). example: 100 nullable: true estimatedBillable: type: number readOnly: true description: Billable task estimated duration (hours). example: 10 nullable: true actual: type: number readOnly: true description: Task actual duration (hours). example: 105 nullable: true actualBillable: type: number readOnly: true description: Billable actual duration (hours). example: 15 nullable: true approved: type: number readOnly: true description: Approved duration (hours). example: 100 nullable: true approvedBillable: type: number readOnly: true description: Billable approved duration (hours). example: 15 nullable: true remaining: type: number readOnly: true description: Remaining duration (hours). example: 100 nullable: true percentComplete: type: number readOnly: true description: Calculated percentage of the task that has been completed. example: 0.25 nullable: true observedPercentComplete: type: number readOnly: true description: >- Latest user-entered value of percentage of the task that has been completed. example: 0.3 nullable: true description: type: string description: Task description. example: First task nullable: true isMilestone: type: boolean description: Set to `true` to indicate that the task is a milestone. example: true default: false isUtilized: type: boolean description: >- Set to `true` to mark this task as utilized. A utilized task is one spent making progress on a customer project or internal project. A non-utilized task is one spent not working on a customer project or internal project, for example, time spent filling in an expense report or timesheet. example: true default: false isBillable: type: boolean description: >- Set to `true` to bill the work for the task. Set to `false` to mark the task as non-billable. example: true default: false wbsCode: type: string description: Work breakdown structure code. example: '1' nullable: true priority: type: number description: A numeric value indicating the task priority. example: 2 nullable: true status: type: string description: >- Current status of the task. If the task status is Completed, employees can't enter time for the task on timesheets. enum: - notStarted - planned - inProgress - completed - onHold default: inProgress example: completed timeType: type: object description: >- Time type used when posting labor costs to the general ledger or for tracking and reporting how work time is spent. properties: key: type: string description: System-assigned key of the time type. example: '2' nullable: true id: type: string description: Unique identifier of the time type. Same as name. example: overtime nullable: true href: type: string readOnly: true example: /objects/time/time-type/2 class: type: object description: Class dimension associated with the task. properties: key: type: string description: System-assigned key of the class. example: '19' nullable: true id: type: string description: Class ID. example: DES nullable: true name: type: string readOnly: true description: Class name. example: Design nullable: true href: type: string readOnly: true example: /objects/company-config/class/19 attachment: type: object description: >- Documents associated with the task, such as statements of work, specifications, or agreements. properties: key: type: string description: System-assigned key of the attachment. example: '12' nullable: true id: type: string description: Attachment ID. example: P8-29 nullable: true href: type: string description: Link to the attachment. readOnly: true example: /objects/company-config/attachment/12 dependentOn: type: object description: Task that must be completed before this task can start. properties: key: type: string description: System-assigned key of the task that this task is dependent on. example: '1330' nullable: true id: type: string description: ID of the task that this task is dependent on. readOnly: true example: Task-1330 nullable: true name: type: string readOnly: true description: Name of the task that this task is dependent on. example: Rough framing nullable: true href: type: string readOnly: true description: Link to the task that this task is dependent on. example: /objects/link/1223 productionUnits: type: object description: Production Units properties: estimate: type: number description: Production unit estimate. example: 1200 nullable: true description: type: string description: >- Production unit description, such as "cubic yards" or "window assembly". example: linear feet siding nullable: true root: type: object readOnly: true description: The top-level task that this task descends from. properties: id: type: string readOnly: true description: >- ID of the root task. If the parent is the root, then it's the ID of the parent task. If there is no parent task, then it's the ID of the current task. example: '1334' nullable: true key: type: string readOnly: true description: >- System-assigned key of the root task. If the parent is the root, then it's the key of the parent task. If there is no parent task, then it's the key of the current task. example: '1334' nullable: true name: type: string readOnly: true description: >- Name of the root task. If the parent is the root, then it's the name of the parent task. If there is no parent task, then it's the name of the current task. example: 1295 Maple St home remodel nullable: true href: type: string readOnly: true description: Link to the root task. example: /objects/projects/task/1334 standardTask: type: object readOnly: true description: The standard task that is the template for this task. properties: id: type: string description: Standard task ID. readOnly: true example: ST-13 nullable: true key: type: string readOnly: true description: System-assigned key of the standard task. example: '13' nullable: true name: type: string readOnly: true description: Name of the standard task. example: Rough framing nullable: true href: type: string readOnly: true description: link to the standard task. example: /objects/construction/standard-task/13 href: type: string readOnly: true description: link to the task. example: /objects/projects/task/101 audit: $ref: '#/components/schemas/audit' projects-task-resourceRequiredProperties: type: object required: - project - employee projects-task-resource: type: object description: >- An employee who works on a project task, and the duration of their involvement. properties: key: type: string description: System-assigned unique key for the task resource. readOnly: true example: '23' id: type: string description: This value is the same as the `key` value for this object. readOnly: true example: '23' href: type: string description: Endpoint for the task resource. readOnly: true example: /objects/projects/task-resource/23 planned: type: object description: Task resource planned dates. properties: startDate: type: string description: Planned begin date for this resource on the task. format: date example: '2023-01-01' nullable: true endDate: type: string description: Planned end date for this resource on the task. format: date example: '2023-06-30' nullable: true actual: type: object description: Task resource actual dates. properties: startDate: type: string description: Actual begin date of this resource on the task. format: date readOnly: true example: '2023-01-08' nullable: true endDate: type: string description: Actual end date of this resource on the task. format: date readOnly: true example: '2023-04-01' nullable: true duration: type: object description: Task resource duration in hours properties: planned: type: number description: Planned duration (hours). example: 22 nullable: true estimated: type: number description: Estimated duration (hours). example: 20 nullable: true actual: type: number description: Actual duration (hours). readOnly: true example: 17 nullable: true approved: type: number description: Approved duration (hours). readOnly: true example: 18 nullable: true remaining: type: number description: Remaining estimated duration or planned duration (hours). readOnly: true example: 8 nullable: true percentComplete: type: number description: Calculated estimated percent completed or planned percent completed. readOnly: true example: 50 nullable: true description: type: string description: Description of the task resource. example: Resource of task RR-27-Q5 nullable: true isFullTime: type: boolean description: Set to `true` to mark the resource as fully booked. example: true default: false isSoftBook: type: boolean description: Set to `true` to mark the resource as soft booked. example: true default: false employee: type: object description: The employee resource assigned to the task. properties: href: type: string description: Endpoint for the employee. readOnly: true example: /objects/company-config/employee/23 key: type: string description: Employee key. example: '23' id: type: string description: Employee ID. example: jsmith startDate: type: string format: date readOnly: true example: '2023-04-01' nullable: true endDate: type: string format: date readOnly: true example: '2024-04-01' nullable: true employeeContact: type: object description: The contact for the employee. properties: key: type: string description: System generated key for the contact. readOnly: true example: '977' id: type: string description: Unique identifier for the contact. readOnly: true example: John Smith href: type: string example: /objects/company-config/contact/973 readOnly: true readOnly: true project: type: object description: The project that the task is part of. properties: href: type: string description: Endpoint for the project. readOnly: true example: /objects/projects/project/23 key: type: string description: Project key. example: '23' id: type: string description: Project ID. example: Q-Field name: type: string description: Project name. readOnly: true example: Quantum Field Repair task: type: object description: The task that the resource is assigned to. properties: href: type: string description: Endpoint for the task. readOnly: true example: /objects/projects/task/23 nullable: true key: type: string description: System-assigned key for the task. example: '23' nullable: true id: type: string description: Task identifier. example: RR-27-Q5 nullable: true name: type: string description: Task name. readOnly: true example: Adjust flux capacitor nullable: true isBillable: type: string description: Whether work on this task is billable. example: true readOnly: true nullable: true audit: $ref: '#/components/schemas/audit' company-config-employee-rate: type: object description: List of employee cost rates, including history. properties: key: type: string description: System-assigned key for the employee-rate. readOnly: true example: '23' id: type: string description: Employee rate ID. readOnly: true example: '23' href: type: string description: Endpoint for the employee-rate. readOnly: true example: /objects/projects/employee-rate/23 hourlyRate: type: string description: Hourly rate format: decimal-precision-2 example: '50' annualSalary: type: string description: Annual salary. nullable: true example: '100000' startDate: type: string format: date description: Start date of hourly rate or annual salary. example: '2023-04-01' endDate: type: string format: date description: End date of of hourly rate or annual salary. example: '2023-04-01' employee: type: object readOnly: true properties: id: type: string description: Employee ID. readOnly: true example: '111' key: type: string description: Employee Key example: '1' readOnly: true name: type: string description: Employee name readOnly: true example: John Doe href: type: string description: Endpoint for the emp. readOnly: true example: /objects/company-config/employee/23 audit: $ref: '#/components/schemas/audit' projects-position-skillRequiredProperties: type: object required: - id projects-position-skill: type: object description: List of positions and skills available to assign to employees. properties: key: type: string description: System-assigned key for the position-skill. readOnly: true example: '23' id: type: string description: Name of the position skill. example: null href: type: string description: URL for the position-skill. readOnly: true example: /objects/projects/position-skill/23 description: type: string description: Description. example: null status: $ref: '#/components/schemas/status' audit: $ref: '#/components/schemas/audit' projects-project-billing-templateRequiredProperties: type: object required: - name - description projects-project-billing-template-milestone: type: object description: Project billing template milestone properties: key: type: string description: System-assigned key for the billing template milestone. readOnly: true example: '23' id: type: string description: Billing template milestone ID (same as key). readOnly: true example: '23' percentCompleted: type: string description: Percent completed value when invoicing should occur example: '.5' percentToInvoice: type: string description: >- Percent of the total that will be invoiced when the milestone is reached readOnly: true example: '.5' description: type: string description: Milestone description example: Invoice at 50% nullable: true href: type: string description: Endpoint for the billing template milestone. readOnly: true example: /objects/projects/project-billing-template-milestone/23 projectBillingTemplate: type: object readOnly: true properties: key: type: string description: System-assigned key for the billing-template. readOnly: true example: '23' id: type: string description: Billing template ID. readOnly: true example: '23' href: type: string description: Endpoint for the billing template. readOnly: true example: /objects/projects/project-billing-template/23 projects-project-billing-template: type: object description: Project billing template. properties: key: type: string description: System-assigned key for the project billing template. readOnly: true example: '23' id: type: string description: Billing template ID (same as key). readOnly: true example: '23' href: type: string description: Endpoint for the project billing template. readOnly: true example: /objects/projects/project-billing-template/23 name: type: string description: Unique name of the billing template. example: Project Estimated Hours description: type: string description: Project billing template description. example: Template for billing by estimated project hours nullable: false billingMethod: type: string description: Billing method. example: percentCompleted enum: - percentCompleted - milestone default: percentCompleted calculateOn: type: string description: Calculate on. example: project enum: - project - task default: project basedOn: type: string description: Based on. example: plannedHours enum: - plannedHours - estimatedHours - budgetedHours - observedPercentCompleted default: estimatedHours status: $ref: '#/components/schemas/status' milestones: type: array description: Line items of the billing template. items: $ref: '#/components/schemas/projects-project-billing-template-milestone' responses: 400error: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/error-response' securitySchemes: OAuth2: description: Sage Intacct OAuth 2.0 authorization code flow type: oauth2 flows: authorizationCode: authorizationUrl: https://api.intacct.com/ia/api/v1-beta2/oauth2/authorize tokenUrl: https://api.intacct.com/ia/api/v1-beta2/oauth2/token refreshUrl: https://api.intacct.com/ia/api/v1-beta2/oauth2/token scopes: {}