TOOLS Navbar
Json

Introduction

This document describes RedTeam’s API standards, data model, and endpoints. Endpoints may be tested using the API Explorer (accessed via a button at the end of each section). The API Explorer may require you to enter your API key.

Standards

Pagination

Endpoints that return multiple records use offset based pagination which uses?limit and ?skip query parameters. ?limit indicates the maximum number of records to return, and ?skip indicates the number of items to skip in the set of unpaginated records. If an endpoint returned 6 issues, setting ?skip to 2 and ?limit to 3 would retrieve the third, fourth, and fifth issue:

The default and maximum number for ?limit is 50, but you can request less. The default ?skip value starts from the beginning of unpaginated records and is 0.

The curl command below skips two records and returns a maximum of ten records:

cURL

The response to a request that returns multiple records is paginated and is always of the form:

[
  {
    "data": [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}],
    "total_count": 14,
    "next_page_url": "...?skip=12&limit=10",
  }
]

data is the array of records matched with ?skip and ?limit, total_count is the number of unpaginated records, and next_page_url is a url to the next page of records -- it will be null if you’ve reached the last page.

If ?limit or ?skip are not positive integers or 0, the RedTeam API will return a 400 with an appropriate message.

Authentication

Direct your users to the /oauth/authorize endpoint with the response_type set to code and following parameters:

1. Request user authorization

Direct your users to the /oauth/authorize endpoint with the response_type set to code and following parameters:

Name Type Description
client_id
[Required]
string A unique identifier for your application provided by RedTeam.
state
[Required]
string An arbitrary string that will be included in the response. This can be used to confirm that the request originated from your application.
scope
[Required]
string Specify a group of resources an application can request access to. See OAuth Scopes for details.
redirect_uri
[Required]
string Specify a URL where the response will be redirected. Must match a value in the whitelist for this client.

An example request would look like the following:

HTTP

Note that the response_type is set to code for the authorization code flow.

2. User authorizes your application

The user will be directed to RedTeam to authorize your application. Any errors will be displayed to the user. The user must authorize your application to access the information defined in the request scope.

After authorizing your application, the user-agent will be redirected to the redirect_uri along with an authorization code as a query parameter. For example, if your redirect_uri is https://myapplication.com/return, the redirect will look like the following:

HTTP

3. Request access token

The authorization code from the previous step can be used to retrieve the access token. To do so, you must POST to the /oauth/token endpoint with the parameters below. The request must be a URL encoded body with the header Content-Type: application/x-www-form-urlencoded.

Name Type Description
x_grant_type
[Required]
string Type of request. Can be either authorization_code or refresh_token.
x_code
[Required]
string Is required.

Below is an example of a response from a successful request:

[
  {
    "access_token": "bb4e2271-e99c-4f66-bc1e-698ffd744f33",
    "expires_in":  86400,
    "entered_date": "2018-11-12T12:20:01.384-05:00"
  }
]

4. Using access token

Now that you have an access token, your application can perform API requests on behalf of the user. Your header must include Authorization: Bearer access_token with the access_token from the previous steps.

cURL

5. Refreshing accessing tokens

Access tokens will periodically expire. You can use the refresh_token to request a new access token when that happens. This avoids forcing your user to re-authorize your application.

To request a new access token, you must POST to the /oauth/token endpoint with the x_grant_type parameter set to refresh_token and pass in the x_code as the value for the token parameter. If successful, you will receive a new access_token.

Secundary Objects

References

The above command returns JSON structured like this:

[
  {
    "Reference_ID": "14",
    "Reference_Name": null,
    "Reference_Type": "Vendor_Invoices"
  }
]

Attribute Type Description
Reference_ID string(15) Unique identifier of the annotation. Never blank
Reference_Name string(50)
Reference_Type string(20)

Lines

The above command returns JSON structured like this:

[
  {
    "Line_ID": 2,
    "Line_Description": "Invoice # 1210001-Css Contruction",
    "Line_Amount": 130.55,
    "Line_Reference": {
      "reference_ID": "32",
      "reference_Name": null,
      "reference_Type": "Vendor_Invoices"
    }
  }
]

Attribute Type Description
Line_ID int
Line_Description string
Line_Amount decimal
Line_Reference References

Roles

The above command returns JSON structured like this:

[
  {
    "Role_ID": "PM",
    "Role_Name": "Project Manager",
    "Role_Type": "ServiceProvider"
  }
]

Attribute Type Description
Role_ID string(15) Unique identifier of the annotation. Never blank
Role_Name string(50)
Role_Type string(20)

GET List All Roles

Definition

https://{{url}}/v1/lists/{{accountKey}}/roles

Get a list of roles. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Roles

Definition

https://{{url}}/v1/lists/{{accountKey}}/roles/:Role_ID

Get a specific role by unique identifier.

Path Params Description
Role_ID
[required]
string
Unique identifier of role to retrieve.

Cost_Divisions

The above command returns JSON structured like this:

[
  {
    "Cost_Division_ID": "07",
    "Cost_Division_Name": "Thermal and Moisture Protection",
    "Cost_Division_Status": "Active"
  }
]

Attribute Type Description
Cost_Division_ID string(4) Unique identifier of the annotation. Never blank
Cost_Division_Name string(50)
Cost_Division_Status string(3) This attribute returns only these values 'Active' or 'Inactive'

GET List All Cost_Divisions

Definition

https://{{url}}/v1/lists/{{accountKey}}/cost_divisions

Get a list of cost divisions. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Cost_Divisions

Definition

https://{{url}}/v1/lists/{{accountKey}}/cost_divisions/:Cost_Division_ID

Get a specific cost division by unique identifier.

Path Params Description
Cost_Division_ID
[required]
string
Unique identifier of cost division to retrieve.

Company_Divisions

The above command returns JSON structured like this:

[
  {
    "Company_Division_ID": "280",
    "Company_Division_Name": "Wegmans Food Markets",
    "Company_Division_Legal_Name": "Wegmans Food Markets",
    "Company_Division_Status": "Active"
  }
]

Attribute Type Description
Company_Division_ID int Unique identifier of the annotation. Never blank
Company_Division_Name string(50)
Company_Division_Legal_Name string(100)
Company_Division_Status string(10) This attribute returns only these values 'Active' or 'Inactive'

GET List All Company_Divisions

Definition

https://{{url}}/v1/lists/{{accountKey}}/company_divisions

Get a list of company divisions. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Company_Divisions

Definition

https://{{url}}/v1/lists/{{accountKey}}/company_divisions/:Company_Division_ID

Get a specific company division by unique identifier.

Path Params Description
Company_Division_ID
[required]
string
Unique identifier of company division to retrieve.

Cost_Codes

Cost Code is a series of alphabetical or numerical symbols each of which represents a particular labour, material or overhead cost item. Cost codes facilitate the classification and recording of costs for cost control purposes.

The above command returns JSON structured like this:

[
  {
    "Cost_Code_ID": "02050",
    "Cost_Code_Number": "Piles and Caissons",
    "Cost_Code_Name": "05",
    "Cost_Code_Status": "Active",
    "Cost_Code_CostDivisionRef": {
      "Reference_ID":"01",
      "Reference_Name":"General Requirements",
      "Reference_Type":"Cost_Divisions",
    }
  }
]

Attribute Type Description
Cost_Code_ID string(15) Unique identifier of the annotation. Never blank
Cost_Code_Number string(100) Cost Code Id
Cost_Code_Name string(4) Cost Code Name
Cost_Code_Status string(3) This attribute returns only these values 'Active' or 'Inactive'
Cost_Code_CostDivisionRef References[object] Indentifier of Division for this cost code

GET List All Cost_Codes

Definition

https://{{url}}/v1/lists/{{accountKey}}/cost_codes

Get a list of cost codes. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Cost_Codes

Definition

https://{{url}}/v1/lists/{{accountKey}}/cost_codes/:Cost_Code_ID

Get a specific cost codes by unique identifier.

Path Params Description
Cost_Code_ID
[required]
string
Unique identifier of cost code to retrieve.

Project_Cost_Codes

Project Cost Code is a series of alphabetical or numerical symbols each of which represents a particular labour, material or overhead cost item. Cost codes facilitate the classification and recording of costs for cost control purposes.

The above command returns JSON structured like this:

[
  {
    "project_Cost_Code_ID": 24,
    "project_Cost_Code_Number": "0000001",
    "project_Cost_Code_Name": "Payment and Performance Bond",
    "project_Cost_Code_Status": "Active",
    "project_Cost_Code_ProjectRef": {
        "reference_ID": "1491",
        "reference_Name": null,
        "reference_Type": "Projects"
    },
    "project_Cost_Code_CostCodeRef": {
        "reference_ID": "3",
        "reference_Name": "0000001 - Payment and Performance Bond",
        "reference_Type": "Cost_Codes"
    }
  }
]

Attribute Type Description
Project_Cost_Code_ID int Unique identifier of the annotation. Never blank
Project_Cost_Code_Number string(15) Cost Code Id
Project_Cost_Code_Name string(1000) Project Cost Code Name
Project_Cost_Code_Status string(3) This attribute returns only these values 'Active' or 'Inactive'
Project_Cost_Code_ProjectRef References[object] Indentifier of Division for this cost code
Project_Cost_Code_CostCodeRef References[object] Indentifier of Division for this cost code

GET List All Project_Cost_Codes

Definition

https://{{url}}/v1/lists/{{accountKey}}/project_cost_codes

Get a list of cost codes. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Project_Cost_Codes

Definition

https://{{url}}/v1/lists/{{accountKey}}/project_cost_codes/:Project_Cost_Code_ID

Get a specific project cost code by unique identifier.

Path Params Description
Project_Cost_Code_ID
[required]
string
Unique identifier of project cost code to retrieve.

Customers

The above command returns JSON structured like this:

[
  {
    "Customer_ID": "11",
    "Customer_Name": "Above All Stoe Fronts, Inc.",
    "Customer_Status": "Active",
    "Customer_Phone": "407-555-1234",
    "Customer_Address": "50 Gilpin Ave",
    "Customer_City": "Hauppauge",
    "Customer_State": "NY",
    "Customer_Postal_Code": "10455",
    "Customer_Country": "USA"
  }
]

Attribute Type Description
Customer_ID int Unique identifier of the annotation. Never blank
Customer_Name string(10)
Customer_Status string(3) This attribute returns only these values 'Active' or 'Inactive'
Customer_Phone string(50)
Customer_Address string(255)
Customer_City string(50)
Customer_State string(50)
Customer_Postal_Code string(50)
Customer_Country string(50)

GET List All Customers

Definition

https://{{url}}/v1/lists/{{accountKey}}/customers

Get a list of Customers. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Customers

Definition

https://{{url}}/v1/lists/{{accountKey}}/customers/:Customer_ID

Get a specific customer by unique identifier.

Path Params Description
Customer_ID
[required]
string
Unique identifier of customer to retrieve.

Projects

The above command returns JSON structured like this:

[
  {
    "Project_ID": "3",
    "Project_Number": "1020001",
    "Project_Prime_Scope": "00",
    "Project_Name": "Winnie Palmer Addition",
    "Project_Manager": "Chelsea Sykes",
    "Project_Status": "InProgress",
    "Project_Substatus": "Expecting Contract",
    "Project_Market": "Commercial",
    "Project_Division": "Construction Company",
    "Project_Work_Location": "101 Orange Ave.",
    "Project_PCO_Requests": "35",
    "Project_CustomerRef": {
      "Reference_ID":"447",
      "Reference_Name":"American Facilities",
      "Reference_Type":"Customers"
    }
  }
]

Attribute Type Description
Project_ID int Unique identifier of the annotation. Never blank
Project_Number string(7)
Project_Prime_Scope string(2)
Project_Name string(100)
Project_Manager string(150)
Project_Status string(50)
Project_Substatus int
Project_Market string(50)
Project_Division string(50)
Project_Work_Location string(255)
Project_PCO_Requests int
Project_CustomerRef References[object]

GET List All Projects

Definition

https://{{url}}/v1/lists/{{accountKey}}/projects

Get a list of projects. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Projects

Definition

https://{{url}}/v1/lists/{{accountKey}}/projects/:Project_ID

Get a specific project by unique identifier.

Path Params Description
Project_ID
[required]
string
Unique identifier of project to retrieve.

Terms

The above command returns JSON structured like this:

[
  {
    "Term_ID": "2",
    "Term_Name": "NET15",
    "Term_Due": "15",
    "Term_Status": "Active",
    "Term_Description": "NET 15"
  }
]

Attribute Type Description
Term_ID int Unique identifier of the annotation. Never blank
Term_Name string(20)
Term_Due int
Term_Status string(3) This attribute returns only these values 'Active' or 'Inactive'
Term_Description string(100)

GET List All Terms

Definition

https://{{url}}/v1/lists/{{accountKey}}/terms

Get a list of terms. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Terms

Definition

https://{{url}}/v1/lists/{{accountKey}}/terms/:Term_ID

Get a specific term by unique identifier.

Path Params Description
Term_ID
[required]
string
Unique identifier of term to retrieve.

Vendors

The above command returns JSON structured like this:

[
  {
    "Vendor_ID": "59",
    "Vendor_Name": "Automatic Irigation Design",
    "Vendor_Status": "Active",
    "Vendor_Type": "Subcontractor",
    "Vendor_Phone": "407-555-1234",
    "Vendor_Address": "333 Baldwin Road",
    "Vendor_City": "Hempstead",
    "Vendor_State": "NY",
    "Vendor_Postal_Code": "11550",
    "Vendor_Country": "USA"
  }
]

Attribute Type Description
Vendor_ID int Unique identifier of the annotation. Never blank
Vendor_Name string(200)
Vendor_Status string(3) This attribute returns only these values 'Active' or 'Inactive'
Vendor_Type string(50)
Vendor_Phone string(50)
Vendor_Address string(255)
Vendor_City string(50)
Vendor_State string(50)
Vendor_Postal_Code string(50)
Vendor_Country string(50)

GET List All Vendors

Definition

https://{{url}}/v1/lists/{{accountKey}}/vendors

Get a list of vendors. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Vendors

Definition

https://{{url}}/v1/lists/{{accountKey}}/vendors/:Vendor_ID

Get a specific vendor by unique identifier.

Path Params Description
Vendor_ID
[required]
string
Unique identifier of vendor to retrieve.

Labor_Categories

The above command returns JSON structured like this:

[
  {
    "Labor_Category_ID": "2",
    "Labor_Category_Name": "Operations Manager",
    "Labor_Category_Rate": "67.07",
    "Labor_Category_Status": "Active",
    "Labor_Category_CompanyDivisionsRef": {
      "Reference_ID":"1",
      "Reference_Name":"Construction Company",
      "Reference_Type":"Company_Divisions"
    }
  }
]

Attribute Type Description
Labor_Category_ID int Unique identifier of the annotation. Never blank
Labor_Category_Name string(100)
Labor_Category_Rate string(20)
Labor_Category_Status string(3) This attribute returns only these values 'Active' or 'Inactive'
Labor_Category_CompanyDivisionsRef References[object]

GET List All Labor_Categories

Definition

https://{{url}}/v1/lists/{{accountKey}}/labor_categories

Get a list of labor categories. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Labor_Categories

Definition

https://{{url}}/v1/lists/{{accountKey}}/labor_categories/:Labor_Category_ID

Get a specific labor category by unique identifier.

Path Params Description
Labor_Category_ID
[required]
string
Unique identifier of labor category to retrieve.

Employees

The above command returns JSON structured like this:

[
  {
    "Employee_ID": "5",
    "Employee_First_Name": "Jeff",
    "Employee_Last_Name": "Roche",
    "Employee_System_Admin": "yes",
    "Employee_Title": "Superintendent",
    "Employee_Email": "",
    "Employee_Phone": "82382-3232323",
    "Employee_Mobile": "407-883-2720",
    "Employee_Employment_Type": "Exempt",
    "Employee_Hourly_Rate": "40.0",
    "Employee_Status": "Active",
    "Employee_LaborCategoryRef": {
        "Reference_ID": "9",
        "Reference_Name": "Project Administrator",
        "Reference_Type": "Labor_Categories"
    },
    "Employee_RoleRef": {
        "Reference_ID":"Admin",
        "Reference_Name":"Service Provider Administrator",
        "Reference_Type":"Roles"
    },
    "Employee_CompanyDivisionRef": {
      "Reference_ID":"1",
      "Reference_Name":"Construction Company",
      "Reference_Type":"Company_Divisions"
    },
  }
]

Attribute Type Description
Employee_ID int Unique identifier of the annotation. Never blank
Employee_First_Name string(50)
Employee_Last_Name string(30)
Employee_System_Admin string(15) This attribute returns only these values 'yes' or 'no'
Employee_Title string(100)
Employee_Email string(100)
Employee_Phone string(50)
Employee_Mobile string(30)
Employee_Employment_Type string(20) This attribute returns only these values 'Exempt' or 'Non-Exempt'
Employee_Hourly_Rate int
Employee_Status string(3) This attribute returns only these values 'Active' or 'Inactive'
Employee_LaborCategoryRef References[object]
Employee_RoleRef References[object]
Employee_CompanyDivisionRef References[object]

GET List All Employees

Definition

https://{{url}}/v1/lists/{{accountKey}}/employees

Get a list of employees. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Employees

Definition

https://{{url}}/v1/lists/{{accountKey}}/employees/:Employee_ID

Get a specific employee by unique identifier.

Path Params Description
Employee_ID
[required]
string
Unique identifier of employee to retrieve.

POST Create Employees

The above command returns JSON structured like this:

[
    {
        "Employee_First_Name": "Christopher",
        "Employee_Last_Name": "Williams",
        "Employee_Title": "Project Manager",
        "Employee_Email": "cwilliams@mycompany.com",
        "Employee_Phone": "9802541250",
        "Employee_Mobile": "8452054262",
        "Employee_Employment_Type": "Exempt",
        "Employee_Hourly_Rate": "30",
        "Employee_RoleRef": {
            "reference_ID": "Admin"
        },
        "Employee_CompanyDivisionRef": {
            "reference_ID": "1"
        }
    }
]

Create a new RedTeam employee. The RedTeam account associated with the API key is added as an admin to the project team.

Attribute Type Description
Employee_First_Name string(50) Required
Employee_Last_Name string(30) Required
Employee_Title string(100)
Employee_Email string(100)
Employee_Phone string(50)
Employee_Mobile string(30)
Employee_Employment_Type string(20) This attribute only accepts these values 'Exempt' or 'Non-Exempt'
Employee_Hourly_Rate int
Employee_RoleRef References[object] Required
Employee_CompanyDivisionRef References[object] Required

Pay_Codes

The above command returns JSON structured like this:

[
  {
    "PayCode_ID": "2",
    "PayCode_Name": "Operations",
    "PayCode_Type": "Indirect",
    "PayCode_Status": "Active"
  }
]

Attribute Type Description
PayCode_ID int Unique identifier of the annotation. Never blank
PayCode_Name string(50)
PayCode_Type string(25)
PayCode_Status string(3) This attribute returns only these values 'Active' or 'Inactive'

GET List All Pay_Codes

Definition

https://{{url}}/v1/lists/{{accountKey}}/pay_codes

Get a list of pay code. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Pay_Codes

Definition

https://{{url}}/v1/lists/{{accountKey}}/pay_codes/:PayCode_ID

Get a specific pay code by unique identifier.

Path Params Description
PayCode_ID
[required]
string
Unique identifier of pay code to retrieve.

Customer_Contracts

The above command returns JSON structured like this:

[
  {
    "customer_Contract_ProjectRef": {
        "reference_ID": "1401",
        "reference_Name": "1020013 - FMR PROJECT",
        "reference_Type": "Projects"
    },
    "customer_Contract_CustomerRef": {
        "reference_ID": "447",
        "reference_Name": "American Facilities",
        "reference_Type": "Customers"
    },
    "customer_ContractLines": [
        {
            "cC_Lines_Date": "2017-05-22T00:00:00",
            "cC_Lines_Scope": "00",
            "cC_Lines_Description": "Original",
            "cC_Lines_Type": "TM",
            "cC_Lines_Days": "0",
            "cC_Lines_Amount": 42195.1,
            "cC_Lines_Status": "InProgress"
        },
        {
            "cC_Lines_Date": "2017-05-22T00:00:00",
            "cC_Lines_Scope": "01",
            "cC_Lines_Description": "CO FMR 01",
            "cC_Lines_Type": "FP",
            "cC_Lines_Days": "0",
            "cC_Lines_Amount": 0,
            "cC_Lines_Status": "InProgress"
        }]
    }
]

Attribute Type Description
customer_Contract_ProjectRef References[object]
customer_Contract_CustomerRef References[object]
customer_ContractLines ContractLines



ContractLines

Attribute Type Description
CC_Lines_Date string(10)
CC_Lines_Scope string(2)
CC_Lines_Description string(100)
CC_Lines_Type string(20)
CC_Lines_Days int
CC_Lines_Amount decimal
CC_Lines_Status string(50)

GET Retrieve a Customer_Contracts

Definition

https://{{url}}/v1/transactions/{{accountKey}}/customer_contracts/:Project_ID

Get a specific project by unique identifier.

Path Params Description
Project_ID
[required]
string
Unique identifier of project to retrieve.

Customer_Billings

The above command returns JSON structured like this:

[
  {
    "customer_Billing_ID": 177,
    "customer_Billing_Reference": "001",
    "customer_Billing_Description": "",
    "customer_Billing_InvoiceDate": "2018-05-17T00:00:00",
    "customer_Billing_DueDate": "2018-06-16T00:00:00",
    "customer_Billing_ExpectedDate": "2018-06-16T00:00:00",
    "customer_Billing_Billed": 250,
    "customer_Billing_Retainage": 25,
    "customer_Billing_Sales_Tax": 0,
    "customer_Billing_Receivable": 275,
    "customer_Billing_Status": "Committed",
    "customer_Billing_ProjectRef": {
        "reference_ID": "1287",
        "reference_Name": null,
        "reference_Type": "Projects"
    }
  }
]

Attribute Type Description
Customer_Billing_ID int Unique identifier of the annotation. Never blank
Customer_Billing_Reference string(22)
Customer_Billing_Description string(5000)
Customer_Billing_InvoiceDate string(10)
Customer_Billing_DueDate string(10)
Customer_Billing_ExpectedDate string(10)
Customer_Billing_Billed float
Customer_Billing_Retainage float
Customer_Billing_Sales_Tax int
Customer_Billing_Receivable float
Customer_Billing_Status string(10)
Customer_Billing_ProjectRef References[object]

GET List All Customer_Billings

Definition

https://{{url}}/v1/transactions/{{accountKey}}/customer_billings

Get a list of customer billing. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Customer_Billings

Definition

https://{{url}}/v1/transactions/{{accountKey}}/customer_billings/:Customer_Billing_ID

Get a specific customer billing by unique identifier.

Path Params Description
Customer_Billing_ID
[required]
string
Unique identifier of customer billing to retrieve.

Customer_Receipts

The above command returns JSON structured like this:

[
  {
    "Customer_Receipts_ID": "4",
    "Customer_Receipt_Reference": "25385",
    "customer_Receipt_Amount": 100,
    "Customer_Receipt_Status": "Draft",
    "Customer_Receipt_Date": "2018-11-05T00:00:00",
    "Customer_Receipt_CustomerRef": {
      "reference_ID": "2",
      "reference_Name": "Wilson Fisks Development",
      "reference_Type": "Customers"
    },
    "Customer_Receipt_Lines": {
      "line_ID": 1,
      "line_Description": "Invoice # 1010001-002",
      "line_Amount": 100,
      "line_Reference": {
        "reference_ID": "4",
        "reference_Name": null,
        "reference_Type": "Customer_Billings"
      }    
    }
  }
]

Attribute Type Description
Customer_Receipts_ID int Unique identifier of the annotation. Never blank
Customer_Receipt_Reference string(50)
Customer_Receipt_Amount decimal
Customer_Receipt_Status string(50)
Customer_Receipt_Date string(20)
Customer_Receipt_CustomerRef References[object]
Customer_Receipt_Lines Lines[object]



Lines

Attribute Type Description
line_ID int count increment
line_Description string
line_Amount decimal
line_Reference References[object] Customer_Billings

GET List All Customer_Receipts

Definition

https://{{url}}/v1/transactions/{{accountKey}}/customer_receipts

Get a list of customer receipts. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Customer_Receipts

Definition

https://{{url}}/v1/transactions/{{accountKey}}/customer_receipts
/:Customer_Receipts_ID

Get a specific customer receipt by unique identifier.

Path Params Description
Customer_Receipts_ID
[required]
string
Unique identifier of customer receipt to retrieve.

POST Create Customer_Receipts

Create a new RedTeam customer receipt. The RedTeam account associated with the API key is added as an admin to the project team.

The above command returns JSON structured like this:

[
  {
    "customer_Receipt_Reference": "11111",
    "customer_Receipt_Amount": 100,
    "customer_Receipt_Status": "Draft",
    "customer_Receipt_Date": "2018-12-04T00:00:00",
    "customer_Receipt_CustomerRef": {
        "reference_ID": "449"
    },
    "customer_Receipt_Lines": [
    {
        "line_Amount": 100,
        "line_Reference": {
            "reference_ID": "553"

        }
    }]
  }
]

Attribute Type Description
Customer_Receipt_Reference string(50)
Customer_Receipt_Amount decimal Required
Customer_Receipt_Status string(50) This attribute only accept this value 'Draft'
Customer_Receipt_Date string(20)
Customer_Receipt_CustomerRef References[object] Required
Customer_Receipt_Lines Lines[object] Required



Lines

Attribute Type Description
line_Amount decimal
line_Reference References[object] Customer_Billings

Vendor_Commitments

The above command returns JSON structured like this:

[
  {
    "vendor_Commitments_ID": "112320181132316",
    "vendor_Commitment_Prime_Scope": "00",
    "vendor_Commitments_Type": "PO",
    "vendor_Commitments_Number": "2130001-001",
    "vendor_Commitments_Sub_Scope": "00",
    "vendor_Commitments_Category_Name": "030",
    "vendor_Commitments_Prime_Scope": "00        ",
    "vendor_Commitments_Description": "EA - Painting 3.0",
    "vendor_Commitments_Total_Amount": "100",
    "vendor_Commitments_Order_Number": "001",
    "vendor_Commitments_Order_Date": "2018-11-23T00:00:00",
    "vendor_Commitments_Start_Date": "0001-01-01T00:00:00",
    "vendor_Commitments_Finish_Date": "0001-01-01T00:00:00",
    "vendor_Commitments_Delivery_Date": "0001-01-01T00:00:00",
    "vendor_Commitments_Status": "Committed",
    "vendor_Commitments_ProjectRef": {
    "reference_ID": "1388",
        "reference_Name": null,
        "reference_Type": "Projects"
    },
    "vendor_Commitments_VendorRef": {
        "reference_ID": "5",
        "reference_Name": "A. Lis & Co.",
        "reference_Type": "Vendors"
    },
    "vendor_Commitments_Lines": [{
        "line_ID": 1,
        "line_Description": "Paiting 3.0",
        "line_Amount": 100,
        "line_Reference": {
            "reference_ID": "0",
            "reference_Name": " - ",
            "reference_Type": "Project_Cost_Codes"
        }
    }]
  }
]

Attribute Type Description
Vendor_Commitments_ID string(50) Unique identifier of the annotation. Never blank
Vendor_Commitment_Prime_Scope string(2)
Vendor_Commitments_Type int
Vendor_Commitments_Number string(20)
Vendor_Commitments_Sub_Scope string(3)
Vendor_Commitments_Category_Name string(3)
Vendor_Commitments_Description string(100)
Vendor_Commitments_Total_Amount float
Vendor_Commitments_Order_Number string(50)
Vendor_Commitments_Order_Date string(10)
Vendor_Commitments_Start_Date string(10)
Vendor_Commitments_Finish_Date string(10)
Vendor_Commitments_Delivery_Date string(10)
Vendor_Commitments_Status string(10)
Vendor_Commitments_ProjectRef References[object]
Vendor_Commitments_VendorRef References[object]
Vendor_Commitments_Lines Lines[object]



Lines

Attribute Type Description
line_ID int count increment
line_Description string
line_Amount decimal
line_Reference References[object] Project_Cost_Codes

GET List All Vendor_Commitments

Definition

https://{{url}}/v1/transactions/{{accountKey}}/vendor_commitments

Get a list of vendor commitment. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Vendor_Commitments

Definition

https://{{url}}/v1/transactions/{{accountKey}}/vendor_commitments
/:Vendor_Commitments_ID

Get a specific vendor commitment by unique identifier.

Path Params Description
Vendor_Commitments_ID
[required]
string
Unique identifier of vendor commitment to retrieve.

Employee_Commitments

The above command returns JSON structured like this:

[
  {
    "employee_Commitment_ID": "01611192018102357",
    "employee_Commitment_Prime_Scope": "00",
    "employee_Commitment_Type": "LA",
    "employee_Commitment_Number": "2030002-016",
    "employee_Commitment_Sub_Scope": "00",
    "employee_Commitment_Category_Name": "DL",
    "employee_Commitment_Description": "General Liability Insurance",
    "employee_Commitment_Total_Amount": "1937.6",
    "employee_Commitment_Order_Number": "016",
    "employee_Commitment_Order_Date": "2018-11-18T00:00:00",
    "employee_Commitment_Start_Date": "0001-01-01T00:00:00",
    "employee_Commitment_Finish_Date": "0001-01-01T00:00:00",
    "employee_Commitment_Delivery_Date": "0001-01-01T00:00:00",
    "employee_Commitment_Status": "Draft",
    "employee_Commitment_ProjectRef": {
        "reference_ID": "1491",
        "reference_Name": "2030002 - Construir",
        "reference_Type": "Projects"
    },
    "employee_Commitment_VendorRef": null,
    "employee_Commitment_Lines": [
    {
        "line_ID": 1,
        "line_Description": "",
        "line_Amount": 48.44,
        "line_Reference": {
        "reference_ID": "34",
        "reference_Name": "130312 - Material Code",
        "reference_Type": "Project_Cost_Codes"
        }
    }]
  }
]

Attribute Type Description
Employee_Commitments_ID string(50) Unique identifier of the annotation. Never blank
Employee_Commitment_Prime_Scope string(2)
Employee_Commitments_Type int
Employee_Commitments_Number string(20)
Employee_Commitments_Sub_Scope string(3)
Employee_Commitments_Category_Name string(3)
Employee_Commitments_Description string(100)
Employee_Commitments_Total_Amount float
Employee_Commitments_Order_Number string(50)
Employee_Commitments_Order_Date string(10)
Employee_Commitments_Start_Date string(10)
Employee_Commitments_Finish_Date string(10)
Employee_Commitments_Delivery_Date string(10)
Employee_Commitments_Status string(10)
Employee_Commitments_ProjectRef References[object]
Employee_Commitments_VendorRef References[object]
Employee_Commitments_Lines Lines[object]



Lines

Attribute Type Description
line_ID int count increment
line_Description string
line_Amount decimal
line_Reference References[object] Project_Cost_Codes

GET List All Employee_Commitments

Definition

https://{{url}}/v1/transactions/{{accountKey}}/employee_commitments

Get a list of employee commitment. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Employee_Commitments

Definition

https://{{url}}/v1/transactions/{{accountKey}}/employee_commitments
/:Employee_Commitments_ID

Get a specific employee commitment by unique identifier.

Path Params Description
Employee_Commitments_ID
[required]
string
Unique identifier of employee commitment to retrieve.

Vendor_Invoices

The above command returns JSON structured like this:

[
  {
    "vendor_Invoice_ID": 1645,
    "vendor_Invoice_Reference": "Invoice attachment",
    "vendor_Invoice_Status": "Committed",
    "vendor_Invoice_Category": "030",
    "vendor_Invoice_Date": "2018-12-06T00:00:00",
    "vendor_Invoice_Period_Ending": "2018-12-21T00:00:00",
    "vendor_Invoice_Invoiced": 2000,
    "vendor_Invoice_Approved": 1500,
    "vendor_Invoice_Retained": 0,
    "vendor_Invoice_Sales_Tax": 0,
    "vendor_Invoice_Authorized": 1500,
    "vendor_Invoice_ProjectRef": {
        "reference_ID": "1400",
        "reference_Name": null,
        "reference_Type": "Projects"
    },
    "vendor_Invoice_VendorRef": {
        "reference_ID": "52",
        "reference_Name": "Aristocrat Pant Contracting",
        "reference_Type": "Vendors"
    },
    "vendor_Invoice_CommitmentRef": {
        "reference_ID": "120520181238375",
        "reference_Name": null,
        "reference_Type": "Vendor_Commitments"
    },
    "vendor_Invoice_ProjectCostCodeRef": null,
    "vendor_Invoice_Lines": [
        {
            "vI_ChangeInProgress": 1000,
            "vI_ChangeInTax": 0
        },
        {
            "vI_ChangeInProgress": 500,
            "vI_ChangeInTax": 0
        }
    ]}   
  }
]

Attribute Type Description
Vendor_Invoice_ID int Unique identifier of the annotation. Never blank
Vendor_Invoice_Reference string(20)
Vendor_Invoice_Status string(10)
Vendor_Invoice_Category string(3)
Vendor_Invoice_Date date
Vendor_Invoice_Period_Ending date
Vendor_Invoice_Invoiced float
Vendor_Invoice_Approved float
Vendor_Invoice_Retained float
Vendor_Invoice_Sales_Tax float
Vendor_Invoice_Authorized float
Vendor_Invoice_ProjectRef References[object]
Vendor_Invoice_VendorRef References[object]
Vendor_Invoice_CommitmentRef References[object]
Vendor_Invoice_ProjectCostCodeRef References[object]
Vendor_Invoice_Lines VendorInvoiceLines



VendorInvoiceLines

Attribute Type Description
vI_ChangeInProgress decimal count increment
vI_ChangeInTax decimal

GET List All Vendor_Invoices

Definition

https://{{url}}/v1/transactions/{{accountKey}}/vendor_invoices

Get a list of vendor invoices. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Vendor_Invoices

Definition

https://{{url}}/v1/transactions/{{accountKey}}/vendor_invoices/:Vendor_Invoice_ID

Get a specific vendor invoice by unique identifier.

Path Params Description
Vendor_Invoice_ID
[required]
string
Unique identifier of vendor invoice to retrieve.

Vendor_Payments

The above command returns JSON structured like this:

[
  {
    "vendor_Payment_ID": "1128",
    "vendor_Payment_Reference": "Check 002",
    "vendor_Payment_Status": "Draft",
    "vendor_Payment_Amount": 100,
    "vendor_Payment_Date": "2018-10-29T00:00:00",
    "vendor_Payment_VendorRef": {
      "reference_ID": "1701",
      "reference_Name": "Michael Obama",
      "reference_Type": "Vendors"
    },
    "vendor_Payment_Lines": [{
      "line_ID": 1,
        "line_Description": "Invoice # 1130005-004/0924-01",
        "line_Amount": 100,
        "line_Reference": {
          "reference_ID": "1480",
          "reference_Name": null,
          "reference_Type": "Vendor_Invoices"
        }
      },
      {
        "line_ID": 2,
        "line_Description": "Invoice # 78814/25-360",
        "line_Amount": 233,
        "line_Reference": {
          "reference_ID": "1506",
          "reference_Name": null,
          "reference_Type": "Vendor_Invoices"
        }
    }]
  }
]

Attribute Type Description
Vendor_Payment_ID int Unique identifier of the annotation. Never blank
Vendor_Payment_Reference string(15)
Vendor_Payment_Status string(20)
Vendor_Payment_Amount decimal
Vendor_Payment_Date string(25)
Vendor_Payment_VendorRef References[object]
Vendor_Payment_Lines Lines[]



Lines

Attribute Type Description
line_ID int count increment
line_Description string
line_Amount decimal
line_Reference References[object] Vendor_Invoices

GET List All Vendor_Payments

Definition

https://{{url}}/v1/transactions/{{accountKey}}/vendor_payments

Get a list of vendor payments. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Vendor_Payments

Definition

https://{{url}}/v1/transactions/{{accountKey}}/vendor_payments
/:Vendor_Payment_ID

Get a specific vendor payment by unique identifier.

Path Params Description
Vendor_Payment_ID
[required]
string
Unique identifier of vendor payment to retrieve.

POST Create Vendor_Payments

Create a new RedTeam vendor payment. The RedTeam account associated with the API key is added as an admin to the project team.

The above command returns JSON structured like this:

[
  {
    "vendor_Payment_Reference": "2K",
    "vendor_Payment_Status": "Draft",
    "vendor_Payment_Amount": 250,
    "vendor_Payment_Date": "2018-11-28T00:00:00",
    "vendor_Payment_VendorRef": {
        "reference_ID": "1765"
    },
    "vendor_Payment_Lines": [
        {
            "line_Amount": 100,
            "line_Reference": {
                "reference_ID": "1677"
            }
        },
        {
            "line_Amount": 150,
            "line_Reference": {
                "reference_ID": "1676"
            }
        }
    ]
  }
]

Attribute Type Description
Vendor_Payment_Reference string(15)
Vendor_Payment_Status string(20)
Vendor_Payment_Amount decimal Required
Vendor_Payment_Date string(25)
Vendor_Payment_VendorRef References[object] Required
Vendor_Payment_Lines Lines[] Required



Lines

Attribute Type Description
line_Amount decimal
line_Reference References[object] Vendor_Invoices

Employee_Times

The above command returns JSON structured like this:

[
  {
    "employee_Time_ID": 1519,
    "employee_Time_Co_Code": "333",
    "employee_Time_Start_Date": "2018-10-17T00:00:00",
    "employee_Time_Finish_Date": "2018-10-17T00:00:00",
    "employee_Time_Hours": "8.0000",
    "employee_Time_Salary": "10.00",
    "employee_Time_WC": "5403",
    "employee_Time_Status": "Active",
    "employee_Time_LaborCategoryRef": {
        "reference_ID": "3",
        "reference_Name": "Project Manager",
        "reference_Type": "Labor_Categories"
    },
    "employee_Time_EmployeeRef": {
        "reference_ID": "1638",
        "reference_Name": "Betsabe Capcha",
        "reference_Type": "Employees"
    },
    "employee_Time_ProjectRef": {
        "reference_ID": "1449",
        "reference_Name": null,
        "reference_Type": "Projects"
    },
    "employee_Time_PayCodeRef": null,
    "employee_Time_ProjectCostCodeRef": {
        "reference_ID": "196",
        "reference_Name": "012200 - Unit Prices",
        "reference_Type": "Project_Cost_Codes"
    }
  }
]

Attribute Type Description
Employee_Time_ID int Unique identifier of the annotation. Never blank
Employee_Time_Co_Code string(50)
Employee_Time_Start_Date datetime
Employee_Time_Finish_Date datetime
Employee_Time_Hours int
Employee_Time_Salary int
Employee_Time_WC int
Employee_Time_Status string(10) This attribute returns only these values 'Active' or 'Inactive'
Employee_Time_LaborCategoryRef References[object]
Employee_Time_EmployeeRef References[object]
Employee_Time_ProjectRef References[object]
Employee_Time_PayCodeRef References[object]
Employee_Time_ProjectCostCodeRef References[object]

GET List All Employee_Times

Definition

https://{{url}}/v1/transactions/{{accountKey}}/employee_times

Get a list of employee times. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Employee_Times

Definition

https://{{url}}/v1/transactions/{{accountKey}}/employee_times
/:Employee_Time_ID

Get a specific employee time by unique identifier.

Path Params Description
Employee_Time_ID
[required]
string
Unique identifier of employee time to retrieve.

Employee_Expenses

The above command returns JSON structured like this:

[
  {
    "employee_Expenses_ID": "117",
    "employee_Expenses_Co_Code": "",
    "employee_Expenses_EA_Category": "1010006-00",
    "employee_Expenses_Description": "ML 09112018",
    "employee_Expenses_Date": "9/11/2018 12:00:00 AM",
    "employee_Expenses_Amount": "550",
    "employee_Expenses_Paid_By": "Employee",
    "employee_Expenses_Status": "Draft",
    "employee_Expenses_EmployeeRef": {
      "reference_ID": "1652",
      "reference_Name": "Manuel Leon",
      "reference_Type": "Employees"
    },
    "employee_Expenses_VendorCommitmentRef": {
      "reference_ID": "086911201810359",
      "reference_Name": null,
      "reference_Type": "Vendor_Commitment"
    },
    "employee_Expenses_PayCodeRef": null
  }
]

Attribute Type Description
Employee_Expenses_ID int Unique identifier of the annotation. Never blank
Employee_Expenses_Co_Code string(10)
Employee_Expenses_EA_Category string(25)
Employee_Expenses_Description string(1000)
Employee_Expenses_Date datetime
Employee_Expenses_Amount decimal
Employee_Expenses_Paid_By int
Employee_Expenses_Status string(10)
Employee_Expenses_EmployeeRef References[object]
Employee_Expenses_VendorCommitmentRef References[object]
Employee_Expenses_PayCodeRef References[object]

GET List All Employee_Expenses

Definition

https://{{url}}/v1/transactions/{{accountKey}}/employee_expenses

Get a list of employee expense. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Employee_Expenses

Definition

https://{{url}}/v1/transactions/{{accountKey}}/employee_expenses
/:Employee_Expenses_ID

Get a specific employee time by unique identifier.

Path Params Description
Employee_Expenses_ID
[required]
string
Unique identifier of employee time to retrieve.

Non_Commitment_Costs

The above command returns JSON structured like this:

[
  {
    "non_Commitment_Cost_ID": 3935,
    "non_Commitment_Cost_Scope": "00",
    "non_Commitment_Cost_Category": "DL",
    "non_Commitment_Cost_Date": "2018-11-07T00:00:00",
    "non_Commitment_Cost_Amount": "50000.00",
    "non_Commitment_Cost_Payee": "",
    "non_Commitment_Cost_Description": "NEW DESCRIPTION",
    "non_Commitment_Cost_ProjectRef": {
        "reference_ID": "1602",
        "reference_Name": null,
        "reference_Type": "Projects"
    },
    "non_Commitment_Cost_ProjectCostCodeRef": {
      "reference_ID": "23",
      "reference_Name": "000233 - Manufacturing SRL",
      "reference_Type": "Project_Cost_Codes"
    }
  }
]

Attribute Type Description
Non_Commitment_Cost_ID string(15) Unique identifier of the annotation. Never blank
Non_Commitment_Cost_Scope string(2)
Non_Commitment_Cost_Category string(50)
Non_Commitment_Cost_Date string(50)
Non_Commitment_Cost_Amount string(50)
Non_Commitment_Cost_Payee string(50)
Non_Commitment_Cost_Description string(50)
Non_Commitment_Cost_ProjectRef References[object]
Non_Commitment_Cost_ProjectCostCodeRef References[object]

GET List All Non_Commitment_Costs

Definition

https://{{url}}/v1/transactions/{{accountKey}}/non_commitment_costs

Get a list of non commitment cost. Results are paginated, see Pagination for details on how pagination works. We get maximun 500 records by query.

Query Params Description
limit
integer 500
Number of projects to retrieve. Maximum value of 500.
skip
integer 0
Number of projects to skip in the set of results.

GET Retrieve a Non_Commitment_Costs

Definition

https://{{url}}/v1/transactions/{{accountKey}}/non_commitment_costs
/:Non_Commitment_Cost_ID

Get a specific non commitment cost by unique identifier.

Path Params Description
Non_Commitment_Cost_ID
[required]
string
Unique identifier of non commitment cost time to retrieve.

POST Create Non_Commitment_Costs

Create a new RedTeam non commitment cost. The RedTeam account associated with the API key is added as an admin to the project team.

The above command returns JSON structured like this:

[
    {
        "non_Commitment_Cost_Scope":"00",
        "non_Commitment_Cost_Category": "DL",
        "non_Commitment_Cost_Date": "2018-11-12T00:00:00",
        "non_Commitment_Cost_Amount": "100.00",
        "non_Commitment_Cost_Payee": "Samuel",
        "non_Commitment_Cost_Description": "test description",
        "non_Commitment_Cost_ProjectRef": {
            "reference_ID": "1504"
        },
        "non_Commitment_Cost_ProjectCostCodeRef": {
            "reference_ID":"1"
        }
    }
]

Attribute Type Description
Non_Commitment_Cost_Scope string(2) Required
Non_Commitment_Cost_Category string(50)
Non_Commitment_Cost_Date string(50)
Non_Commitment_Cost_Amount string(50) Required
Non_Commitment_Cost_Payee string(50)
Non_Commitment_Cost_Description string(50)
Non_Commitment_Cost_ProjectRef References[object] Required
Non_Commitment_Cost_ProjectCostCodeRef References[object] Required

Estimate_At_Complete

Attribute Type Description
Estimate_At_Complete_ID string(15) Unique identifier of the annotation. Never blank
Estimate_At_Complete_Project_Number string(50)
Estimate_At_Complete_Description string(50)
Estimate_At_Complete_Actual_Start string(50)
Estimate_At_Complete_Anticipated_Finish string(50)
Estimate_At_Complete_Contract string(50)
Estimate_At_Complete_Direct_Labor string(50)
Estimate_At_Complete_Direct_Material string(50)
Estimate_At_Complete_Direct_Subcontract string(50)
Estimate_At_Complete_Direct_Equipment string(50)
Estimate_At_Complete_Total_Direct_Cost string(50)
Estimate_At_Complete_Estimated_Gross_Profit string(50)
Estimate_At_Complete_Total_Indirect_Cost string(50)
Estimate_At_Complete_Estimated_Profit string(50)
Estimate_At_Complete_Manager string(50)