FieldUpdate

APIDescription
POST api/fieldupdate?sid={sid}

LmePdf

APIDescription
GET api/pdf/lme?timesheetID={timesheetID}

No documentation available.

PGEDistributionUnitPriceForm

APIDescription
GET api/pdf/pgedistributionunitprice/{jobID}?sid={sid}

No documentation available.

SmartSheetDynamicRequest

APIDescription
GET api/smartsheet/dynamic/{sheetId}?key={key}

No documentation available.

DynamicReport

APIDescription
GET api/dynamic-report/preview?template={template}&sid={sid}

No documentation available.

GET api/dynamic-report?id={id}&template={template}&referenceCode={referenceCode}&sid={sid}

No documentation available.

InspectionReportUpload

APIDescription
GET api/pdf/inspectionreport/{vehicleInspectionID}?sid={sid}

No documentation available.

SmartSheetPull

APIDescription
GET api/smartsheetpull?sid={sid}

No documentation available.

POST api/smartsheetpull?sid={sid}

No documentation available.

BatchCCSC

APIDescription
GET api/BatchCCSC?id={id}&reportType={reportType}&format={format}&sid={sid}

No documentation available.

AutoImport

APIDescription
GET api/automation/import/{key}

No documentation available.

Account

APIDescription
GET api/Account/UserInfo

No documentation available.

POST api/Account/Logout

No documentation available.

GET api/Account/ManageInfo?returnUrl={returnUrl}&generateState={generateState}

No documentation available.

POST api/Account/ChangePassword

No documentation available.

POST api/Account/SetPassword

No documentation available.

POST api/Account/AddExternalLogin

No documentation available.

POST api/Account/RemoveLogin

No documentation available.

GET api/Account/ExternalLogin?provider={provider}&error={error}

No documentation available.

GET api/Account/ExternalLogins?returnUrl={returnUrl}&generateState={generateState}

No documentation available.

POST api/Account/Register

No documentation available.

POST api/Account/RegisterExternal

No documentation available.

SmartNFR

APIDescription
GET api/node/SmartNFR?id={id}&sid={sid}

No documentation available.

GET api/securedocs/SmartNFR/?id={id}&sid={sid}

No documentation available.

GET api/job/{id}/SmartNFR?sid={sid}

No documentation available.

GET api/SmartNFR/{id}?sid={sid}

No documentation available.

MainLine

APIDescription
GET api/node/MainLine?sid={sid}

gets all the related mainlines

GET api/node/MainLine?id={id}&sid={sid}

gets all the related mainlines

GET api/securedocs/MainLine/?sid={sid}

gets all the related mainlines

GET api/securedocs/MainLine/?id={id}&sid={sid}

gets all the related mainlines

GET api/MainLine?sid={sid}

gets all the related mainlines

GET api/MainLine/{id}?sid={sid}

gets all the related mainlines

Preflight

APIDescription
GET api/node/Preflight?id={id}&format={format}&saveToGoogle={saveToGoogle}&saveToAmazon={saveToAmazon}&sid={sid}

No documentation available.

GET api/securedocs/Preflight/?id={id}&format={format}&saveToGoogle={saveToGoogle}&saveToAmazon={saveToAmazon}&sid={sid}

No documentation available.

GET api/job/{id}/Preflight?format={format}&saveToGoogle={saveToGoogle}&saveToAmazon={saveToAmazon}&sid={sid}

No documentation available.

GET api/Preflight/{id}?format={format}&saveToGoogle={saveToGoogle}&saveToAmazon={saveToAmazon}&sid={sid}

No documentation available.

JobLatLong

APIDescription
GET api/node/JobLatLong?sid={sid}

No documentation available.

GET api/securedocs/JobLatLong/?sid={sid}

No documentation available.

GET api/job/{id}/JobLatLong?sid={sid}

No documentation available.

GET api/JobLatLong?sid={sid}

No documentation available.

MessageCount

returns the number of messages in the Message table. Used for polling to make sure the webpage doesn't need to reload the entire message list again. No updates, read only

APIDescription
GET api/node/MessageCount?messageCount={messageCount}&sid={sid}

returns the number of messages in the Message table. Used for polling to make sure the webpage doesn't need to reload the entire message list again.

GET api/securedocs/MessageCount/?messageCount={messageCount}&sid={sid}

returns the number of messages in the Message table. Used for polling to make sure the webpage doesn't need to reload the entire message list again.

GET api/job/{id}/MessageCount?messageCount={messageCount}&sid={sid}

returns the number of messages in the Message table. Used for polling to make sure the webpage doesn't need to reload the entire message list again.

GET api/MessageCount?messageCount={messageCount}&sid={sid}

returns the number of messages in the Message table. Used for polling to make sure the webpage doesn't need to reload the entire message list again.

SmartNFRInvoicing

APIDescription
GET api/node/SmartNFRInvoicing?id={id}&sid={sid}

No documentation available.

GET api/securedocs/SmartNFRInvoicing/?id={id}&sid={sid}

No documentation available.

GET api/job/{id}/SmartNFRInvoicing?sid={sid}

No documentation available.

GET api/SmartNFRInvoicing/{id}?sid={sid}

No documentation available.

LineBreakout

This handles the user's ability to break a PO item into multiple job items

APIDescription
GET api/node/LineBreakout?id={id}&sid={sid}

This executes a request for the break-out lines for any invividual line item

POST api/node/LineBreakout?sid={sid}

By Posting a list of LineBreakout Objects, including the parent line item ID, we can break that item into multiple lines

DELETE api/node/LineBreakout?id={id}&sid={sid}

Flags the Breakout Item (JobLineItem) as "deleted" by setting the DeleteBreakout column in the table.

GET api/securedocs/LineBreakout/?id={id}&sid={sid}

This executes a request for the break-out lines for any invividual line item

POST api/securedocs/LineBreakout/?sid={sid}

By Posting a list of LineBreakout Objects, including the parent line item ID, we can break that item into multiple lines

DELETE api/securedocs/LineBreakout/?id={id}&sid={sid}

Flags the Breakout Item (JobLineItem) as "deleted" by setting the DeleteBreakout column in the table.

GET api/job/{id}/LineBreakout?sid={sid}

This executes a request for the break-out lines for any invividual line item

POST api/job/{id}/LineBreakout?sid={sid}

By Posting a list of LineBreakout Objects, including the parent line item ID, we can break that item into multiple lines

DELETE api/job/{id}/LineBreakout?sid={sid}

Flags the Breakout Item (JobLineItem) as "deleted" by setting the DeleteBreakout column in the table.

GET api/LineBreakout/{id}?sid={sid}

This executes a request for the break-out lines for any invividual line item

POST api/LineBreakout?sid={sid}

By Posting a list of LineBreakout Objects, including the parent line item ID, we can break that item into multiple lines

DELETE api/LineBreakout/{id}?sid={sid}

Flags the Breakout Item (JobLineItem) as "deleted" by setting the DeleteBreakout column in the table.

Task

This controller allows tasks to be listed by user, by individual task ask well as updating adding and deleting tasks

APIDescription
GET api/node/Task?sid={sid}

Returns a list of tasks assigned to the user based upon the sessionid

GET api/node/Task?id={id}&sid={sid}

Returns an individal task based upon the ID

POST api/node/Task?sid={sid}

Posting the entire Task object will insert it into the system. The TaskID is ignored, so if you're updating a record and use the POST instead of a PUT, you'll actually be creating a new one. if the update was successful you'll get back the full UserTask object, including a TaskID. If not, the taskID will be -1

PUT api/node/Task?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/node/Task?id={id}&sid={sid}

this sets the task status to -1. a successful delete returns a 1 and a failure a -1

GET api/securedocs/Task/?sid={sid}

Returns a list of tasks assigned to the user based upon the sessionid

GET api/securedocs/Task/?id={id}&sid={sid}

Returns an individal task based upon the ID

POST api/securedocs/Task/?sid={sid}

Posting the entire Task object will insert it into the system. The TaskID is ignored, so if you're updating a record and use the POST instead of a PUT, you'll actually be creating a new one. if the update was successful you'll get back the full UserTask object, including a TaskID. If not, the taskID will be -1

PUT api/securedocs/Task/?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/securedocs/Task/?id={id}&sid={sid}

this sets the task status to -1. a successful delete returns a 1 and a failure a -1

POST api/job/{id}/Task?sid={sid}

Posting the entire Task object will insert it into the system. The TaskID is ignored, so if you're updating a record and use the POST instead of a PUT, you'll actually be creating a new one. if the update was successful you'll get back the full UserTask object, including a TaskID. If not, the taskID will be -1

PUT api/job/{id}/Task?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/job/{id}/Task?sid={sid}

this sets the task status to -1. a successful delete returns a 1 and a failure a -1

GET api/Task?sid={sid}

Returns a list of tasks assigned to the user based upon the sessionid

GET api/Task/{id}?sid={sid}

Returns an individal task based upon the ID

POST api/Task?sid={sid}

Posting the entire Task object will insert it into the system. The TaskID is ignored, so if you're updating a record and use the POST instead of a PUT, you'll actually be creating a new one. if the update was successful you'll get back the full UserTask object, including a TaskID. If not, the taskID will be -1

PUT api/Task?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/Task/{id}?sid={sid}

this sets the task status to -1. a successful delete returns a 1 and a failure a -1

Job

APIDescription
GET api/node/Job?sid={sid}

Retrieves a list of all jobs

GET api/node/Job?id={id}&sid={sid}

Retreives a specific job

POST api/node/Job?sid={sid}

This will create a new job record

PUT api/node/Job?sid={sid}

Used to update jobs with existing Job IDs

DELETE api/node/Job?id={id}&sid={sid}

Used to alter status column to "Deleted" in Upload table.

GET api/securedocs/Job/?sid={sid}

Retrieves a list of all jobs

GET api/securedocs/Job/?id={id}&sid={sid}

Retreives a specific job

POST api/securedocs/Job/?sid={sid}

This will create a new job record

PUT api/securedocs/Job/?sid={sid}

Used to update jobs with existing Job IDs

DELETE api/securedocs/Job/?id={id}&sid={sid}

Used to alter status column to "Deleted" in Upload table.

POST api/job/{id}/Job?sid={sid}

This will create a new job record

PUT api/job/{id}/Job?sid={sid}

Used to update jobs with existing Job IDs

DELETE api/job/{id}/Job?sid={sid}

Used to alter status column to "Deleted" in Upload table.

GET api/Job?sid={sid}

Retrieves a list of all jobs

GET api/Job/{id}?sid={sid}

Retreives a specific job

POST api/Job?sid={sid}

This will create a new job record

PUT api/Job?sid={sid}

Used to update jobs with existing Job IDs

DELETE api/Job/{id}?sid={sid}

Used to alter status column to "Deleted" in Upload table.

JobLabel

APIDescription
GET api/node/JobLabel?id={id}&sid={sid}

No documentation available.

GET api/securedocs/JobLabel/?id={id}&sid={sid}

No documentation available.

GET api/job/{id}/JobLabel?sid={sid}

No documentation available.

GET api/JobLabel/{id}?sid={sid}

No documentation available.

JobPurchaseOrder

This retrieves a list of all the Purchase Orders associated with a job

APIDescription
GET api/node/JobPurchaseOrder?id={id}&sid={sid}

This pulls a list of purchase orders related to the job

POST api/node/JobPurchaseOrder?sid={sid}

Links Jobs to Purchase Orders and Quotes.

GET api/securedocs/JobPurchaseOrder/?id={id}&sid={sid}

This pulls a list of purchase orders related to the job

POST api/securedocs/JobPurchaseOrder/?sid={sid}

Links Jobs to Purchase Orders and Quotes.

GET api/job/{id}/JobPurchaseOrder?sid={sid}

This pulls a list of purchase orders related to the job

POST api/job/{id}/JobPurchaseOrder?sid={sid}

Links Jobs to Purchase Orders and Quotes.

GET api/JobPurchaseOrder/{id}?sid={sid}

This pulls a list of purchase orders related to the job

POST api/JobPurchaseOrder?sid={sid}

Links Jobs to Purchase Orders and Quotes.

RouteDataEntry

APIDescription
GET api/node/RouteDataEntry?id={id}&sid={sid}

GET api/securedocs/RouteDataEntry/?id={id}&sid={sid}

GET api/job/{id}/RouteDataEntry?sid={sid}

GET api/RouteDataEntry/{id}?sid={sid}

CCSCUnderG

APIDescription
GET api/node/CCSCUnderG?id={id}&format={format}&saveToGoogle={saveToGoogle}&saveToAmazon={saveToAmazon}&sid={sid}

No documentation available.

GET api/securedocs/CCSCUnderG/?id={id}&format={format}&saveToGoogle={saveToGoogle}&saveToAmazon={saveToAmazon}&sid={sid}

No documentation available.

GET api/job/{id}/CCSCUnderG?format={format}&saveToGoogle={saveToGoogle}&saveToAmazon={saveToAmazon}&sid={sid}

No documentation available.

GET api/CCSCUnderG/{id}?format={format}&saveToGoogle={saveToGoogle}&saveToAmazon={saveToAmazon}&sid={sid}

No documentation available.

Dev

APIDescription
POST api/node/Dev?sid={sid}

No documentation available.

POST api/securedocs/Dev/?sid={sid}

No documentation available.

POST api/job/{id}/Dev?sid={sid}

No documentation available.

POST api/Dev?sid={sid}

No documentation available.

Customer

APIDescription
GET api/node/Customer?id={id}&sid={sid}

Retrieves rows from the Customer table. If id is set to zero, all rows are retrieved. Otherwise only the row with the associated id is returned.

POST api/node/Customer?sid={sid}

Controller to insert a new row into the Customer table.

PUT api/node/Customer?sid={sid}

Controller to update a row in the Customer table.

GET api/securedocs/Customer/?id={id}&sid={sid}

Retrieves rows from the Customer table. If id is set to zero, all rows are retrieved. Otherwise only the row with the associated id is returned.

POST api/securedocs/Customer/?sid={sid}

Controller to insert a new row into the Customer table.

PUT api/securedocs/Customer/?sid={sid}

Controller to update a row in the Customer table.

GET api/job/{id}/Customer?sid={sid}

Retrieves rows from the Customer table. If id is set to zero, all rows are retrieved. Otherwise only the row with the associated id is returned.

POST api/job/{id}/Customer?sid={sid}

Controller to insert a new row into the Customer table.

PUT api/job/{id}/Customer?sid={sid}

Controller to update a row in the Customer table.

GET api/Customer/{id}?sid={sid}

Retrieves rows from the Customer table. If id is set to zero, all rows are retrieved. Otherwise only the row with the associated id is returned.

POST api/Customer?sid={sid}

Controller to insert a new row into the Customer table.

PUT api/Customer?sid={sid}

Controller to update a row in the Customer table.

Fielding

APIDescription
GET api/node/Fielding?jobID={jobID}&locationNumber={locationNumber}&format={format}&saveToGoogle={saveToGoogle}&saveToAmazon={saveToAmazon}&sid={sid}

No documentation available.

GET api/securedocs/Fielding/?jobID={jobID}&locationNumber={locationNumber}&format={format}&saveToGoogle={saveToGoogle}&saveToAmazon={saveToAmazon}&sid={sid}

No documentation available.

GET api/job/{id}/Fielding?jobID={jobID}&locationNumber={locationNumber}&format={format}&saveToGoogle={saveToGoogle}&saveToAmazon={saveToAmazon}&sid={sid}

No documentation available.

GET api/Fielding?jobID={jobID}&locationNumber={locationNumber}&format={format}&saveToGoogle={saveToGoogle}&saveToAmazon={saveToAmazon}&sid={sid}

No documentation available.

FileUpload

APIDescription
GET api/node/FileUpload?filename={filename}&mins={mins}&sid={sid}

No documentation available.

GET api/node/FileUpload?directory={directory}&sid={sid}

No documentation available.

POST api/node/FileUpload

No documentation available.

GET api/securedocs/FileUpload/{filename}?mins={mins}&sid={sid}

No documentation available.

GET api/securedocs/FileUpload/?directory={directory}&sid={sid}

No documentation available.

POST api/securedocs/FileUpload/

No documentation available.

GET api/job/{id}/FileUpload?filename={filename}&mins={mins}&sid={sid}

No documentation available.

GET api/job/{id}/FileUpload?directory={directory}&sid={sid}

No documentation available.

POST api/job/{id}/FileUpload

No documentation available.

GET api/FileUpload?filename={filename}&mins={mins}&sid={sid}

No documentation available.

GET api/FileUpload?directory={directory}&sid={sid}

No documentation available.

POST api/FileUpload

No documentation available.

SiteReviewResponse

APIDescription
GET api/node/SiteReviewResponse?sid={sid}

This will return a full list of all SiteReviewResponses

POST api/node/SiteReviewResponse?sid={sid}

Controller to insert a new row into the SiteReviewResponse table.

PUT api/node/SiteReviewResponse?sid={sid}

Controller to update a row in the SiteReviewResponse table.

GET api/securedocs/SiteReviewResponse/?sid={sid}

This will return a full list of all SiteReviewResponses

POST api/securedocs/SiteReviewResponse/?sid={sid}

Controller to insert a new row into the SiteReviewResponse table.

PUT api/securedocs/SiteReviewResponse/?sid={sid}

Controller to update a row in the SiteReviewResponse table.

GET api/job/{id}/SiteReviewResponse?sid={sid}

This will return a full list of all SiteReviewResponses

POST api/job/{id}/SiteReviewResponse?sid={sid}

Controller to insert a new row into the SiteReviewResponse table.

PUT api/job/{id}/SiteReviewResponse?sid={sid}

Controller to update a row in the SiteReviewResponse table.

GET api/SiteReviewResponse?sid={sid}

This will return a full list of all SiteReviewResponses

POST api/SiteReviewResponse?sid={sid}

Controller to insert a new row into the SiteReviewResponse table.

PUT api/SiteReviewResponse?sid={sid}

Controller to update a row in the SiteReviewResponse table.

FileFolder

APIDescription
GET api/node/FileFolder?id={id}&sid={sid}

No documentation available.

POST api/node/FileFolder?sid={sid}

We're sending the parent, which is the job folder, the name of the folder, which is "locations", the list of subfolders, which is one for each location on the job. Then, we share the locations folder and the job package folder with the crew.

GET api/securedocs/FileFolder/?id={id}&sid={sid}

No documentation available.

POST api/securedocs/FileFolder/?sid={sid}

We're sending the parent, which is the job folder, the name of the folder, which is "locations", the list of subfolders, which is one for each location on the job. Then, we share the locations folder and the job package folder with the crew.

GET api/job/{id}/FileFolder?sid={sid}

No documentation available.

POST api/job/{id}/FileFolder?sid={sid}

We're sending the parent, which is the job folder, the name of the folder, which is "locations", the list of subfolders, which is one for each location on the job. Then, we share the locations folder and the job package folder with the crew.

GET api/FileFolder/{id}?sid={sid}

No documentation available.

POST api/FileFolder?sid={sid}

We're sending the parent, which is the job folder, the name of the folder, which is "locations", the list of subfolders, which is one for each location on the job. Then, we share the locations folder and the job package folder with the crew.

Img

APIDescription
GET api/node/Img?FileName={FileName}&sid={sid}

No documentation available.

GET api/securedocs/Img/{FileName}?sid={sid}

No documentation available.

GET api/job/{id}/Img?FileName={FileName}&sid={sid}

No documentation available.

GET api/Img?FileName={FileName}&sid={sid}

No documentation available.

Tyler

APIDescription
GET api/node/Tyler

No documentation available.

GET api/node/Tyler?id={id}

No documentation available.

POST api/node/Tyler

No documentation available.

PUT api/node/Tyler?id={id}

No documentation available.

DELETE api/node/Tyler?id={id}

No documentation available.

GET api/securedocs/Tyler/

No documentation available.

GET api/securedocs/Tyler/?id={id}

No documentation available.

POST api/securedocs/Tyler/

No documentation available.

PUT api/securedocs/Tyler/?id={id}

No documentation available.

DELETE api/securedocs/Tyler/?id={id}

No documentation available.

POST api/job/{id}/Tyler

No documentation available.

PUT api/job/{id}/Tyler

No documentation available.

DELETE api/job/{id}/Tyler

No documentation available.

GET api/Tyler

No documentation available.

GET api/Tyler/{id}

No documentation available.

POST api/Tyler

No documentation available.

PUT api/Tyler/{id}

No documentation available.

DELETE api/Tyler/{id}

No documentation available.

AccrualItem

This is a basic template for all standard API controllers.

APIDescription
GET api/node/AccrualItem?id={id}&ItemID={ItemID}&sid={sid}

This will get the indiviaual accrual item if necessary

POST api/node/AccrualItem?id={id}&BillingWeekID={BillingWeekID}&sid={sid}

No documentation available.

GET api/securedocs/AccrualItem/?id={id}&ItemID={ItemID}&sid={sid}

This will get the indiviaual accrual item if necessary

POST api/securedocs/AccrualItem/?id={id}&BillingWeekID={BillingWeekID}&sid={sid}

No documentation available.

GET api/job/{id}/AccrualItem/{ItemID}?sid={sid}

This will get the indiviaual accrual item if necessary

POST api/job/{id}/AccrualItem?BillingWeekID={BillingWeekID}&sid={sid}

No documentation available.

GET api/AccrualItem/{id}?ItemID={ItemID}&sid={sid}

This will get the indiviaual accrual item if necessary

POST api/AccrualItem/{id}?BillingWeekID={BillingWeekID}&sid={sid}

No documentation available.

JobSiteFolder

APIDescription
POST api/node/JobSiteFolder?sid={sid}

No documentation available.

POST api/securedocs/JobSiteFolder/?sid={sid}

No documentation available.

POST api/job/{id}/JobSiteFolder?sid={sid}

No documentation available.

POST api/JobSiteFolder?sid={sid}

No documentation available.

PurchaseOrderItems

This handles the retreival and updating of bulk items in the Purchase Order.

APIDescription
GET api/node/PurchaseOrderItems?sid={sid}

Returns all rows as JSON

GET api/node/PurchaseOrderItems?id={id}&sid={sid}

Returns specific PurchaseOrderItem as JSON

POST api/node/PurchaseOrderItems?sid={sid}

Inserts a new Purchase Order Item, and returns the newly inserted row.

PUT api/node/PurchaseOrderItems?sid={sid}

Updates a Purchase Order Item.

DELETE api/node/PurchaseOrderItems?id={id}&sid={sid}

Sets the deleted flag in the database for the row. Rows are not truly deleted.

GET api/securedocs/PurchaseOrderItems/?sid={sid}

Returns all rows as JSON

GET api/securedocs/PurchaseOrderItems/?id={id}&sid={sid}

Returns specific PurchaseOrderItem as JSON

POST api/securedocs/PurchaseOrderItems/?sid={sid}

Inserts a new Purchase Order Item, and returns the newly inserted row.

PUT api/securedocs/PurchaseOrderItems/?sid={sid}

Updates a Purchase Order Item.

DELETE api/securedocs/PurchaseOrderItems/?id={id}&sid={sid}

Sets the deleted flag in the database for the row. Rows are not truly deleted.

POST api/job/{id}/PurchaseOrderItems?sid={sid}

Inserts a new Purchase Order Item, and returns the newly inserted row.

PUT api/job/{id}/PurchaseOrderItems?sid={sid}

Updates a Purchase Order Item.

DELETE api/job/{id}/PurchaseOrderItems?sid={sid}

Sets the deleted flag in the database for the row. Rows are not truly deleted.

GET api/PurchaseOrderItems?sid={sid}

Returns all rows as JSON

GET api/PurchaseOrderItems/{id}?sid={sid}

Returns specific PurchaseOrderItem as JSON

POST api/PurchaseOrderItems?sid={sid}

Inserts a new Purchase Order Item, and returns the newly inserted row.

PUT api/PurchaseOrderItems?sid={sid}

Updates a Purchase Order Item.

DELETE api/PurchaseOrderItems/{id}?sid={sid}

Sets the deleted flag in the database for the row. Rows are not truly deleted.

Session

APIDescription
POST api/node/Session?sid={sid}

No documentation available.

GET api/node/Session

No documentation available.

POST api/securedocs/Session/?sid={sid}

No documentation available.

GET api/securedocs/Session/

No documentation available.

POST api/job/{id}/Session?sid={sid}

No documentation available.

GET api/job/{id}/Session

No documentation available.

POST api/Session?sid={sid}

No documentation available.

GET api/Session

No documentation available.

MaterialInvoice

Material API controllers.

APIDescription
GET api/node/MaterialInvoice?MaterialInvoiceID={MaterialInvoiceID}&sid={sid}

Returns one row Material invoiced if an MaterialInvoiceID other than zero is passed. If MaterialInvoiceID = 0, all rows in the table are returned.

POST api/node/MaterialInvoice?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/node/MaterialInvoice?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

GET api/securedocs/MaterialInvoice/?MaterialInvoiceID={MaterialInvoiceID}&sid={sid}

Returns one row Material invoiced if an MaterialInvoiceID other than zero is passed. If MaterialInvoiceID = 0, all rows in the table are returned.

POST api/securedocs/MaterialInvoice/?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/securedocs/MaterialInvoice/?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

GET api/job/{id}/MaterialInvoice?MaterialInvoiceID={MaterialInvoiceID}&sid={sid}

Returns one row Material invoiced if an MaterialInvoiceID other than zero is passed. If MaterialInvoiceID = 0, all rows in the table are returned.

POST api/job/{id}/MaterialInvoice?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/job/{id}/MaterialInvoice?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

GET api/MaterialInvoice?MaterialInvoiceID={MaterialInvoiceID}&sid={sid}

Returns one row Material invoiced if an MaterialInvoiceID other than zero is passed. If MaterialInvoiceID = 0, all rows in the table are returned.

POST api/MaterialInvoice?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/MaterialInvoice?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

JobLineItem

Manages the IT Tracker module under Ops

APIDescription
GET api/node/JobLineItem?sid={sid}

This will return a full list of all TrackerITems

GET api/node/JobLineItem?id={id}&sid={sid}

This will return a full list of all Job Line Items for a Job.

PUT api/node/JobLineItem?sid={sid}

This updates Job Line Item.

GET api/securedocs/JobLineItem/?sid={sid}

This will return a full list of all TrackerITems

GET api/securedocs/JobLineItem/?id={id}&sid={sid}

This will return a full list of all Job Line Items for a Job.

PUT api/securedocs/JobLineItem/?sid={sid}

This updates Job Line Item.

PUT api/job/{id}/JobLineItem?sid={sid}

This updates Job Line Item.

GET api/JobLineItem?sid={sid}

This will return a full list of all TrackerITems

GET api/JobLineItem/{id}?sid={sid}

This will return a full list of all Job Line Items for a Job.

PUT api/JobLineItem?sid={sid}

This updates Job Line Item.

Tests

APIDescription
POST api/node/Tests?sid={sid}

No documentation available.

GET api/securedocs/Tests/?NodeID={NodeID}&sid={sid}

A list of all tests for a selected node

POST api/securedocs/Tests/?sid={sid}

No documentation available.

DELETE api/securedocs/Tests/?NodeID={NodeID}&NodeTestID={NodeTestID}&sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GET api/job/{id}/Tests?NodeID={NodeID}&sid={sid}

A list of all tests for a selected node

POST api/job/{id}/Tests?sid={sid}

No documentation available.

DELETE api/job/{id}/Tests?NodeID={NodeID}&NodeTestID={NodeTestID}&sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GET api/Tests?NodeID={NodeID}&sid={sid}

A list of all tests for a selected node

POST api/Tests?sid={sid}

No documentation available.

DELETE api/Tests?NodeID={NodeID}&NodeTestID={NodeTestID}&sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

BillingWeek

This is a basic template for all standard API controllers.

APIDescription
GET api/node/BillingWeek?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/node/BillingWeek?id={id}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.It is best if we define an object, instantiate it and then return it in the OK statement.

POST api/node/BillingWeek?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/node/BillingWeek?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/node/BillingWeek?id={id}&sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GET api/securedocs/BillingWeek/?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/securedocs/BillingWeek/?id={id}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.It is best if we define an object, instantiate it and then return it in the OK statement.

POST api/securedocs/BillingWeek/?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/securedocs/BillingWeek/?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/securedocs/BillingWeek/?id={id}&sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

POST api/job/{id}/BillingWeek?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/job/{id}/BillingWeek?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/job/{id}/BillingWeek?sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GET api/BillingWeek?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/BillingWeek/{id}?sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.It is best if we define an object, instantiate it and then return it in the OK statement.

POST api/BillingWeek?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/BillingWeek?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/BillingWeek/{id}?sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

Drive

APIDescription
GET api/node/Drive?id={id}&sid={sid}

No documentation available.

GET api/securedocs/Drive/?id={id}&sid={sid}

No documentation available.

GET api/job/{id}/Drive?sid={sid}

No documentation available.

GET api/Drive/{id}?sid={sid}

No documentation available.

ContractorBillingForm

APIDescription
GET api/node/ContractorBillingForm?id={id}&template={template}&referenceCode={referenceCode}&sid={sid}

No documentation available.

GET api/securedocs/ContractorBillingForm/?id={id}&template={template}&referenceCode={referenceCode}&sid={sid}

No documentation available.

GET api/job/{id}/ContractorBillingForm?template={template}&referenceCode={referenceCode}&sid={sid}

No documentation available.

GET api/ContractorBillingForm/{id}?template={template}&referenceCode={referenceCode}&sid={sid}

No documentation available.

Tracker

The default datasource for all the tracker items in any job

APIDescription
GET api/node/Tracker?sid={sid}

This returns a set directly from vwTracker in the database (showing only active jobs)

GET api/node/Tracker?id={id}&sid={sid}

By adding the JobID in the tracker path, we can restrict it to a specific job.

GET api/securedocs/Tracker/?sid={sid}

This returns a set directly from vwTracker in the database (showing only active jobs)

GET api/securedocs/Tracker/?id={id}&sid={sid}

By adding the JobID in the tracker path, we can restrict it to a specific job.

GET api/Tracker?sid={sid}

This returns a set directly from vwTracker in the database (showing only active jobs)

GET api/Tracker/{id}?sid={sid}

By adding the JobID in the tracker path, we can restrict it to a specific job.

Dashboard

APIDescription
GET api/node/Dashboard?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/node/Dashboard?id={id}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.It is best if we define an object, instantiate it and then return it in the OK statement.

POST api/node/Dashboard?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/node/Dashboard?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/node/Dashboard?id={id}&sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GET api/securedocs/Dashboard/?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/securedocs/Dashboard/?id={id}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.It is best if we define an object, instantiate it and then return it in the OK statement.

POST api/securedocs/Dashboard/?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/securedocs/Dashboard/?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/securedocs/Dashboard/?id={id}&sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

POST api/job/{id}/Dashboard?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/job/{id}/Dashboard?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/job/{id}/Dashboard?sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GET api/Dashboard?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/Dashboard/{id}?sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.It is best if we define an object, instantiate it and then return it in the OK statement.

POST api/Dashboard?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/Dashboard?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/Dashboard/{id}?sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

ImageAnnotation

APIDescription
GET api/node/ImageAnnotation

No documentation available.

GET api/node/ImageAnnotation?id={id}

No documentation available.

POST api/node/ImageAnnotation

No documentation available.

PUT api/node/ImageAnnotation?id={id}

No documentation available.

DELETE api/node/ImageAnnotation?id={id}

No documentation available.

GET api/securedocs/ImageAnnotation/

No documentation available.

GET api/securedocs/ImageAnnotation/?id={id}

No documentation available.

POST api/securedocs/ImageAnnotation/

No documentation available.

PUT api/securedocs/ImageAnnotation/?id={id}

No documentation available.

DELETE api/securedocs/ImageAnnotation/?id={id}

No documentation available.

POST api/job/{id}/ImageAnnotation

No documentation available.

PUT api/job/{id}/ImageAnnotation

No documentation available.

DELETE api/job/{id}/ImageAnnotation

No documentation available.

GET api/ImageAnnotation

No documentation available.

GET api/ImageAnnotation/{id}

No documentation available.

POST api/ImageAnnotation

No documentation available.

PUT api/ImageAnnotation/{id}

No documentation available.

DELETE api/ImageAnnotation/{id}

No documentation available.

Vision

APIDescription
GET api/node/Vision

No documentation available.

GET api/securedocs/Vision/

No documentation available.

GET api/job/{id}/Vision

No documentation available.

GET api/Vision

No documentation available.

PDFSplitter

APIDescription
POST api/node/PDFSplitter?sid={sid}

Splits PDF files

POST api/securedocs/PDFSplitter/?sid={sid}

Splits PDF files

POST api/job/{id}/PDFSplitter?sid={sid}

Splits PDF files

POST api/PDFSplitter?sid={sid}

Splits PDF files

InternalContact

Material API controllers.

APIDescription
GET api/node/InternalContact?InternalContactID={InternalContactID}&sid={sid}

Returns single row from InternalContact if an InternalContactID other than zero is passed. If InternalContactID = 0, all rows in the table are returned.

POST api/node/InternalContact?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/node/InternalContact?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

GET api/securedocs/InternalContact/?InternalContactID={InternalContactID}&sid={sid}

Returns single row from InternalContact if an InternalContactID other than zero is passed. If InternalContactID = 0, all rows in the table are returned.

POST api/securedocs/InternalContact/?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/securedocs/InternalContact/?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

GET api/job/{id}/InternalContact?InternalContactID={InternalContactID}&sid={sid}

Returns single row from InternalContact if an InternalContactID other than zero is passed. If InternalContactID = 0, all rows in the table are returned.

POST api/job/{id}/InternalContact?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/job/{id}/InternalContact?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

GET api/InternalContact?InternalContactID={InternalContactID}&sid={sid}

Returns single row from InternalContact if an InternalContactID other than zero is passed. If InternalContactID = 0, all rows in the table are returned.

POST api/InternalContact?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/InternalContact?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

CustomerFolder

APIDescription
GET api/node/CustomerFolder?directory={directory}&sid={sid}

No documentation available.

GET api/securedocs/CustomerFolder/?directory={directory}&sid={sid}

No documentation available.

GET api/job/{id}/CustomerFolder?directory={directory}&sid={sid}

No documentation available.

GET api/CustomerFolder?directory={directory}&sid={sid}

No documentation available.

This is a basic template for all standard API controllers.

APIDescription
GET api/node/JobPurchaseOrderLink?sid={sid}

This gets all unlinked purchase orders

GET api/node/JobPurchaseOrderLink?JobID={JobID}&sid={sid}

This will return all the PurchaseOrders associated with a job

POST api/node/JobPurchaseOrderLink?sid={sid}

This will associate a PO with a Job.

DELETE api/node/JobPurchaseOrderLink?id={id}&poid={poid}&sid={sid}

sending the purchase orderid will remove it and all its products from the job.

GET api/securedocs/JobPurchaseOrderLink/?sid={sid}

This gets all unlinked purchase orders

GET api/securedocs/JobPurchaseOrderLink/?JobID={JobID}&sid={sid}

This will return all the PurchaseOrders associated with a job

POST api/securedocs/JobPurchaseOrderLink/?sid={sid}

This will associate a PO with a Job.

DELETE api/securedocs/JobPurchaseOrderLink/?id={id}&poid={poid}&sid={sid}

sending the purchase orderid will remove it and all its products from the job.

GET api/job/{id}/JobPurchaseOrderLink?sid={sid}

This gets all unlinked purchase orders

GET api/job/{id}/JobPurchaseOrderLink?JobID={JobID}&sid={sid}

This will return all the PurchaseOrders associated with a job

POST api/job/{id}/JobPurchaseOrderLink?sid={sid}

This will associate a PO with a Job.

DELETE api/job/{id}/JobPurchaseOrderLink?poid={poid}&sid={sid}

sending the purchase orderid will remove it and all its products from the job.

GET api/JobPurchaseOrderLink?sid={sid}

This gets all unlinked purchase orders

GET api/JobPurchaseOrderLink?JobID={JobID}&sid={sid}

This will return all the PurchaseOrders associated with a job

POST api/JobPurchaseOrderLink?sid={sid}

This will associate a PO with a Job.

DELETE api/JobPurchaseOrderLink/{id}?poid={poid}&sid={sid}

sending the purchase orderid will remove it and all its products from the job.

Quote

APIDescription
GET api/node/Quote?sid={sid}

This returns a list of all Quotes. In this case "id" is hardcoded as zero, and not passed as a parameter to the method. The stored procedure in the database uses this value to retrieve all rows.

GET api/node/Quote?id={id}&sid={sid}

This returns a specific row in the PurchaseOrderTable. This method can be used to retrieve Quotes as well.

POST api/node/Quote?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

GET api/securedocs/Quote/?sid={sid}

This returns a list of all Quotes. In this case "id" is hardcoded as zero, and not passed as a parameter to the method. The stored procedure in the database uses this value to retrieve all rows.

GET api/securedocs/Quote/?id={id}&sid={sid}

This returns a specific row in the PurchaseOrderTable. This method can be used to retrieve Quotes as well.

POST api/securedocs/Quote/?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

POST api/job/{id}/Quote?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

GET api/Quote?sid={sid}

This returns a list of all Quotes. In this case "id" is hardcoded as zero, and not passed as a parameter to the method. The stored procedure in the database uses this value to retrieve all rows.

GET api/Quote/{id}?sid={sid}

This returns a specific row in the PurchaseOrderTable. This method can be used to retrieve Quotes as well.

POST api/Quote?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

ITTracker

Manages the IT Tracker module under Ops

APIDescription
GET api/node/ITTracker?sid={sid}

This will return a full list of all TrackerITems

GET api/node/ITTracker?ITTrackerID={ITTrackerID}&sid={sid}

This will return a full list of all TrackerITems

POST api/node/ITTracker?sid={sid}

This will add a new Tracker Item to the ITTracker table and return the full object plus the new ID

PUT api/node/ITTracker?sid={sid}

This updates an IT Tracker Item. Make sure to include the IT TrackerID in the object

GET api/securedocs/ITTracker/?sid={sid}

This will return a full list of all TrackerITems

GET api/securedocs/ITTracker/?ITTrackerID={ITTrackerID}&sid={sid}

This will return a full list of all TrackerITems

POST api/securedocs/ITTracker/?sid={sid}

This will add a new Tracker Item to the ITTracker table and return the full object plus the new ID

PUT api/securedocs/ITTracker/?sid={sid}

This updates an IT Tracker Item. Make sure to include the IT TrackerID in the object

GET api/job/{id}/ITTracker?sid={sid}

This will return a full list of all TrackerITems

GET api/job/{id}/ITTracker?ITTrackerID={ITTrackerID}&sid={sid}

This will return a full list of all TrackerITems

POST api/job/{id}/ITTracker?sid={sid}

This will add a new Tracker Item to the ITTracker table and return the full object plus the new ID

PUT api/job/{id}/ITTracker?sid={sid}

This updates an IT Tracker Item. Make sure to include the IT TrackerID in the object

GET api/ITTracker?sid={sid}

This will return a full list of all TrackerITems

GET api/ITTracker?ITTrackerID={ITTrackerID}&sid={sid}

This will return a full list of all TrackerITems

POST api/ITTracker?sid={sid}

This will add a new Tracker Item to the ITTracker table and return the full object plus the new ID

PUT api/ITTracker?sid={sid}

This updates an IT Tracker Item. Make sure to include the IT TrackerID in the object

SmartSheet

APIDescription
GET api/node/SmartSheet?id={id}&sid={sid}

No documentation available.

POST api/node/SmartSheet?sid={sid}

GET api/securedocs/SmartSheet/?id={id}&sid={sid}

No documentation available.

POST api/securedocs/SmartSheet/?sid={sid}

GET api/job/{id}/SmartSheet?sid={sid}

No documentation available.

POST api/job/{id}/SmartSheet?sid={sid}

GET api/SmartSheet/{id}?sid={sid}

No documentation available.

POST api/SmartSheet?sid={sid}

JobMaterials

APIDescription
GET api/node/JobMaterials?id={id}&week_id={week_id}&sid={sid}

This returns all the material items on a job with the billed and backout calculated by the week selected. Calculations have not yet been implemented.

GET api/securedocs/JobMaterials/?id={id}&week_id={week_id}&sid={sid}

This returns all the material items on a job with the billed and backout calculated by the week selected. Calculations have not yet been implemented.

GET api/job/{id}/JobMaterials?week_id={week_id}&sid={sid}

This returns all the material items on a job with the billed and backout calculated by the week selected. Calculations have not yet been implemented.

GET api/JobMaterials/{id}?week_id={week_id}&sid={sid}

This returns all the material items on a job with the billed and backout calculated by the week selected. Calculations have not yet been implemented.

FiberActivityReport

APIDescription
GET api/node/FiberActivityReport?sid={sid}&date={date}

No documentation available.

POST api/node/FiberActivityReport?date={date}&sid={sid}

GET api/securedocs/FiberActivityReport/?sid={sid}&date={date}

No documentation available.

POST api/securedocs/FiberActivityReport/?date={date}&sid={sid}

GET api/job/{id}/FiberActivityReport?sid={sid}&date={date}

No documentation available.

POST api/job/{id}/FiberActivityReport?date={date}&sid={sid}

GET api/FiberActivityReport?sid={sid}&date={date}

No documentation available.

POST api/FiberActivityReport?date={date}&sid={sid}

VehicleReport

APIDescription
GET api/node/VehicleReport?id={id}&template={template}&referenceCode={referenceCode}&sid={sid}

No documentation available.

GET api/securedocs/VehicleReport/?id={id}&template={template}&referenceCode={referenceCode}&sid={sid}

No documentation available.

GET api/job/{id}/VehicleReport?template={template}&referenceCode={referenceCode}&sid={sid}

No documentation available.

GET api/VehicleReport/{id}?template={template}&referenceCode={referenceCode}&sid={sid}

No documentation available.

Server

APIDescription
GET api/node/Server?sid={sid}

Get status of server

GET api/securedocs/Server/?sid={sid}

Get status of server

GET api/job/{id}/Server?sid={sid}

Get status of server

GET api/Server?sid={sid}

Get status of server

FileFolderRename

APIDescription
GET api/node/FileFolderRename?id={id}&name={name}&sid={sid}

No documentation available.

GET api/securedocs/FileFolderRename/?id={id}&name={name}&sid={sid}

No documentation available.

GET api/job/{id}/FileFolderRename?name={name}&sid={sid}

No documentation available.

GET api/FileFolderRename/{id}?name={name}&sid={sid}

No documentation available.

User

This retrieves a list of users as well as allowing for the insert and update of users

APIDescription
GET api/node/User?sid={sid}

Retrieves a list of users

GET api/node/User?id={id}&sid={sid}

Retreives a specific User

POST api/node/User?sid={sid}

Used to update users with existing user IDs

PUT api/node/User?sid={sid}

Used to update users with existing user IDs

GET api/securedocs/User/?sid={sid}

Retrieves a list of users

GET api/securedocs/User/?id={id}&sid={sid}

Retreives a specific User

POST api/securedocs/User/?sid={sid}

Used to update users with existing user IDs

PUT api/securedocs/User/?sid={sid}

Used to update users with existing user IDs

POST api/job/{id}/User?sid={sid}

Used to update users with existing user IDs

PUT api/job/{id}/User?sid={sid}

Used to update users with existing user IDs

GET api/User?sid={sid}

Retrieves a list of users

GET api/User/{id}?sid={sid}

Retreives a specific User

POST api/User?sid={sid}

Used to update users with existing user IDs

PUT api/User?sid={sid}

Used to update users with existing user IDs

JobCost

This is a basic template for all standard API controllers.

APIDescription
GET api/node/JobCost?id={id}&sid={sid}

Retrieves all active job costs for a specific job. Inactive job costs have their flags set to "Deleted".

GET api/node/JobCost?id={id}&ItemID={ItemID}&sid={sid}

Retrieves a specific Job Cost entry.

POST api/node/JobCost?sid={sid}

Adds a new Job Cost to a Job, and returns the newly inserted row if the insert was successful.

PUT api/node/JobCost?sid={sid}

Updates a Job Cost entry.

DELETE api/node/JobCost?ItemID={ItemID}&sid={sid}

Sets the "Deleted" column to 1 to flag the Job Cost as no longer valid for the specified Job. A successful delete returns the row from the database. An error returns the SQL statement that attempted to do the delete.

GET api/securedocs/JobCost/?id={id}&sid={sid}

Retrieves all active job costs for a specific job. Inactive job costs have their flags set to "Deleted".

GET api/securedocs/JobCost/?id={id}&ItemID={ItemID}&sid={sid}

Retrieves a specific Job Cost entry.

POST api/securedocs/JobCost/?sid={sid}

Adds a new Job Cost to a Job, and returns the newly inserted row if the insert was successful.

PUT api/securedocs/JobCost/?sid={sid}

Updates a Job Cost entry.

DELETE api/securedocs/JobCost/?ItemID={ItemID}&sid={sid}

Sets the "Deleted" column to 1 to flag the Job Cost as no longer valid for the specified Job. A successful delete returns the row from the database. An error returns the SQL statement that attempted to do the delete.

GET api/job/{id}/JobCost?sid={sid}

Retrieves all active job costs for a specific job. Inactive job costs have their flags set to "Deleted".

GET api/job/{id}/JobCost/{ItemID}?sid={sid}

Retrieves a specific Job Cost entry.

POST api/job/{id}/JobCost?sid={sid}

Adds a new Job Cost to a Job, and returns the newly inserted row if the insert was successful.

PUT api/job/{id}/JobCost?sid={sid}

Updates a Job Cost entry.

DELETE api/job/{id}/JobCost/{ItemID}?sid={sid}

Sets the "Deleted" column to 1 to flag the Job Cost as no longer valid for the specified Job. A successful delete returns the row from the database. An error returns the SQL statement that attempted to do the delete.

GET api/JobCost/{id}?sid={sid}

Retrieves all active job costs for a specific job. Inactive job costs have their flags set to "Deleted".

GET api/JobCost/{id}?ItemID={ItemID}&sid={sid}

Retrieves a specific Job Cost entry.

POST api/JobCost?sid={sid}

Adds a new Job Cost to a Job, and returns the newly inserted row if the insert was successful.

PUT api/JobCost?sid={sid}

Updates a Job Cost entry.

DELETE api/JobCost?ItemID={ItemID}&sid={sid}

Sets the "Deleted" column to 1 to flag the Job Cost as no longer valid for the specified Job. A successful delete returns the row from the database. An error returns the SQL statement that attempted to do the delete.

FilesMove

APIDescription
POST api/node/FilesMove?sid={sid}

No documentation available.

POST api/securedocs/FilesMove/?sid={sid}

No documentation available.

POST api/job/{id}/FilesMove?sid={sid}

No documentation available.

POST api/FilesMove?sid={sid}

No documentation available.

MainlineRelations

APIDescription
GET api/node/MainlineRelations?id={id}&sid={sid}

gets all the related mainlines

GET api/securedocs/MainlineRelations/?id={id}&sid={sid}

gets all the related mainlines

GET api/job/{id}/MainlineRelations?sid={sid}

gets all the related mainlines

GET api/MainlineRelations/{id}?sid={sid}

gets all the related mainlines

Contact

APIDescription
GET api/node/Contact?id={id}&CustomerID={CustomerID}&sid={sid}

Retrieves rows from the Contact table. If id is set to zero and CustomerID is set to zero, all rows are retrieved. If id is set to zero and CustomerID is non-zero, all Contacts for that Customer are return. Otherwise the row with the associated id is returned.

POST api/node/Contact?sid={sid}

Controller to insert a new row into the Contact table.

PUT api/node/Contact?sid={sid}

Controller to update a row in the Contact table.

GET api/securedocs/Contact/?id={id}&CustomerID={CustomerID}&sid={sid}

Retrieves rows from the Contact table. If id is set to zero and CustomerID is set to zero, all rows are retrieved. If id is set to zero and CustomerID is non-zero, all Contacts for that Customer are return. Otherwise the row with the associated id is returned.

POST api/securedocs/Contact/?sid={sid}

Controller to insert a new row into the Contact table.

PUT api/securedocs/Contact/?sid={sid}

Controller to update a row in the Contact table.

GET api/job/{id}/Contact?CustomerID={CustomerID}&sid={sid}

Retrieves rows from the Contact table. If id is set to zero and CustomerID is set to zero, all rows are retrieved. If id is set to zero and CustomerID is non-zero, all Contacts for that Customer are return. Otherwise the row with the associated id is returned.

POST api/job/{id}/Contact?sid={sid}

Controller to insert a new row into the Contact table.

PUT api/job/{id}/Contact?sid={sid}

Controller to update a row in the Contact table.

GET api/Contact/{id}?CustomerID={CustomerID}&sid={sid}

Retrieves rows from the Contact table. If id is set to zero and CustomerID is set to zero, all rows are retrieved. If id is set to zero and CustomerID is non-zero, all Contacts for that Customer are return. Otherwise the row with the associated id is returned.

POST api/Contact?sid={sid}

Controller to insert a new row into the Contact table.

PUT api/Contact?sid={sid}

Controller to update a row in the Contact table.

JobInvoiceItem

JobInvoiceItem API controller.

APIDescription
GET api/node/JobInvoiceItem?sid={sid}

Returns rows from wildcard query of JobInvoiceItem table as JSON

GET api/node/JobInvoiceItem?id={id}&ItemID={ItemID}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.

POST api/node/JobInvoiceItem?id={id}&BillingWeekID={BillingWeekID}&sid={sid}

Returns the inserted JobInvoiceItem object as defined in JSON if the update was successful. If the insert was not successful, an error message is returned.

PUT api/node/JobInvoiceItem?sid={sid}

Handled the same as a "Post". Post and put are defined in the same SQL stored procedure, newJobInvoiceItem.

GET api/securedocs/JobInvoiceItem/?sid={sid}

Returns rows from wildcard query of JobInvoiceItem table as JSON

GET api/securedocs/JobInvoiceItem/?id={id}&ItemID={ItemID}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.

POST api/securedocs/JobInvoiceItem/?id={id}&BillingWeekID={BillingWeekID}&sid={sid}

Returns the inserted JobInvoiceItem object as defined in JSON if the update was successful. If the insert was not successful, an error message is returned.

PUT api/securedocs/JobInvoiceItem/?sid={sid}

Handled the same as a "Post". Post and put are defined in the same SQL stored procedure, newJobInvoiceItem.

GET api/job/{id}/JobInvoiceItem?sid={sid}

Returns rows from wildcard query of JobInvoiceItem table as JSON

GET api/job/{id}/JobInvoiceItem/{ItemID}?sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.

POST api/job/{id}/JobInvoiceItem?BillingWeekID={BillingWeekID}&sid={sid}

Returns the inserted JobInvoiceItem object as defined in JSON if the update was successful. If the insert was not successful, an error message is returned.

PUT api/job/{id}/JobInvoiceItem?sid={sid}

Handled the same as a "Post". Post and put are defined in the same SQL stored procedure, newJobInvoiceItem.

GET api/JobInvoiceItem?sid={sid}

Returns rows from wildcard query of JobInvoiceItem table as JSON

GET api/JobInvoiceItem/{id}?ItemID={ItemID}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.

POST api/JobInvoiceItem/{id}?BillingWeekID={BillingWeekID}&sid={sid}

Returns the inserted JobInvoiceItem object as defined in JSON if the update was successful. If the insert was not successful, an error message is returned.

PUT api/JobInvoiceItem?sid={sid}

Handled the same as a "Post". Post and put are defined in the same SQL stored procedure, newJobInvoiceItem.

GoogleMail

APIDescription
GET api/node/GoogleMail

No documentation available.

GET api/securedocs/GoogleMail/

No documentation available.

GET api/job/{id}/GoogleMail

No documentation available.

GET api/GoogleMail

No documentation available.

NodeLocalMedia

APIDescription
GET api/node/NodeLocalMedia?id={id}&sid={sid}

Retrieves rows from the NodeLocalMedia table. If id is set to zero, all rows are retrieved. Otherwise only the row with the associated id is returned.

POST api/node/NodeLocalMedia?sid={sid}

Controller to insert a new row into the NodeLocalMedia table.

PUT api/node/NodeLocalMedia?sid={sid}

Controller to update a row in the NodeLocalMedia table.

POST api/node/NodeLocalMedia?filePath={filePath}&fileName={fileName}

No documentation available.

GET api/securedocs/NodeLocalMedia/?id={id}&sid={sid}

Retrieves rows from the NodeLocalMedia table. If id is set to zero, all rows are retrieved. Otherwise only the row with the associated id is returned.

POST api/securedocs/NodeLocalMedia/?sid={sid}

Controller to insert a new row into the NodeLocalMedia table.

PUT api/securedocs/NodeLocalMedia/?sid={sid}

Controller to update a row in the NodeLocalMedia table.

POST api/securedocs/NodeLocalMedia/{fileName}?filePath={filePath}

No documentation available.

GET api/job/{id}/NodeLocalMedia?sid={sid}

Retrieves rows from the NodeLocalMedia table. If id is set to zero, all rows are retrieved. Otherwise only the row with the associated id is returned.

POST api/job/{id}/NodeLocalMedia?sid={sid}

Controller to insert a new row into the NodeLocalMedia table.

PUT api/job/{id}/NodeLocalMedia?sid={sid}

Controller to update a row in the NodeLocalMedia table.

POST api/job/{id}/NodeLocalMedia?filePath={filePath}&fileName={fileName}

No documentation available.

GET api/NodeLocalMedia/{id}?sid={sid}

Retrieves rows from the NodeLocalMedia table. If id is set to zero, all rows are retrieved. Otherwise only the row with the associated id is returned.

POST api/NodeLocalMedia?sid={sid}

Controller to insert a new row into the NodeLocalMedia table.

PUT api/NodeLocalMedia?sid={sid}

Controller to update a row in the NodeLocalMedia table.

POST api/NodeLocalMedia?filePath={filePath}&fileName={fileName}

No documentation available.

ViewHistory

This pulls in the recient views of a selected user

APIDescription
GET api/node/ViewHistory?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/node/ViewHistory?id={id}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.It is best if we define an object, instantiate it and then return it in the OK statement.

POST api/node/ViewHistory?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/node/ViewHistory?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/node/ViewHistory?id={id}&sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GET api/securedocs/ViewHistory/?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/securedocs/ViewHistory/?id={id}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.It is best if we define an object, instantiate it and then return it in the OK statement.

POST api/securedocs/ViewHistory/?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/securedocs/ViewHistory/?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/securedocs/ViewHistory/?id={id}&sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

POST api/job/{id}/ViewHistory?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/job/{id}/ViewHistory?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/job/{id}/ViewHistory?sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GET api/ViewHistory?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/ViewHistory/{id}?sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.It is best if we define an object, instantiate it and then return it in the OK statement.

POST api/ViewHistory?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/ViewHistory?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/ViewHistory/{id}?sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

VisionPDF

APIDescription
GET api/node/VisionPDF

No documentation available.

GET api/securedocs/VisionPDF/

No documentation available.

GET api/job/{id}/VisionPDF

No documentation available.

GET api/VisionPDF

No documentation available.

JobBillingAndAccrualHistory

APIDescription
GET api/node/JobBillingAndAccrualHistory?id={id}&sid={sid}

Retrieves all accruals and invoiced Job Line Items for a particular job. These are summarized by week.

GET api/securedocs/JobBillingAndAccrualHistory/?id={id}&sid={sid}

Retrieves all accruals and invoiced Job Line Items for a particular job. These are summarized by week.

GET api/job/{id}/JobBillingAndAccrualHistory?sid={sid}

Retrieves all accruals and invoiced Job Line Items for a particular job. These are summarized by week.

GET api/JobBillingAndAccrualHistory/{id}?sid={sid}

Retrieves all accruals and invoiced Job Line Items for a particular job. These are summarized by week.

InspectionSummaryText

APIDescription
GET api/node/InspectionSummaryText?id={id}&sid={sid}

This will return a full list of all TrackerITems

POST api/node/InspectionSummaryText?sid={sid}

Controller to insert a new row into the InspectionSummaryText table.

PUT api/node/InspectionSummaryText?sid={sid}

Controller to update a row in the InspectionSummaryText table.

GET api/securedocs/InspectionSummaryText/?id={id}&sid={sid}

This will return a full list of all TrackerITems

POST api/securedocs/InspectionSummaryText/?sid={sid}

Controller to insert a new row into the InspectionSummaryText table.

PUT api/securedocs/InspectionSummaryText/?sid={sid}

Controller to update a row in the InspectionSummaryText table.

GET api/job/{id}/InspectionSummaryText?sid={sid}

This will return a full list of all TrackerITems

POST api/job/{id}/InspectionSummaryText?sid={sid}

Controller to insert a new row into the InspectionSummaryText table.

PUT api/job/{id}/InspectionSummaryText?sid={sid}

Controller to update a row in the InspectionSummaryText table.

GET api/InspectionSummaryText/{id}?sid={sid}

This will return a full list of all TrackerITems

POST api/InspectionSummaryText?sid={sid}

Controller to insert a new row into the InspectionSummaryText table.

PUT api/InspectionSummaryText?sid={sid}

Controller to update a row in the InspectionSummaryText table.

GoogleBulkFolderRename

APIDescription
PUT api/node/GoogleBulkFolderRename?sid={sid}

No documentation available.

PUT api/securedocs/GoogleBulkFolderRename/?sid={sid}

No documentation available.

PUT api/job/{id}/GoogleBulkFolderRename?sid={sid}

No documentation available.

PUT api/GoogleBulkFolderRename?sid={sid}

No documentation available.

Files

The file controller will retreive a url with a credential for a set amount of time. It can also list the files in a directory, receive a binary post of a file to upload as well as remove a file. All require session identification.

APIDescription
GET api/node/Files?filename={filename}&mins={mins}&sid={sid}

No documentation available.

GET api/node/Files?directory={directory}&sid={sid}

This will retreive the contents of a directory in Amazon S3

DELETE api/node/Files?filename={filename}&sid={sid}

No documentation available.

POST api/node/Files

No documentation available.

GET api/securedocs/Files/{filename}?mins={mins}&sid={sid}

No documentation available.

GET api/securedocs/Files/?directory={directory}&sid={sid}

This will retreive the contents of a directory in Amazon S3

DELETE api/securedocs/Files/{filename}?sid={sid}

No documentation available.

POST api/securedocs/Files/

No documentation available.

GET api/job/{id}/Files?filename={filename}&mins={mins}&sid={sid}

No documentation available.

GET api/job/{id}/Files?directory={directory}&sid={sid}

This will retreive the contents of a directory in Amazon S3

DELETE api/job/{id}/Files?filename={filename}&sid={sid}

No documentation available.

POST api/job/{id}/Files

No documentation available.

GET api/Files?filename={filename}&mins={mins}&sid={sid}

No documentation available.

GET api/Files?directory={directory}&sid={sid}

This will retreive the contents of a directory in Amazon S3

DELETE api/Files?filename={filename}&sid={sid}

No documentation available.

POST api/Files

No documentation available.

SiteLocation

APIDescription
GET api/node/SiteLocation?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/node/SiteLocation?connectionString={connectionString}&queryString={queryString}

No documentation available.

GET api/securedocs/SiteLocation/?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/securedocs/SiteLocation/?connectionString={connectionString}&queryString={queryString}

No documentation available.

GET api/job/{id}/SiteLocation?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/job/{id}/SiteLocation?connectionString={connectionString}&queryString={queryString}

No documentation available.

GET api/SiteLocation?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/SiteLocation?connectionString={connectionString}&queryString={queryString}

No documentation available.

ResetJobFolderNames

APIDescription
GET api/node/ResetJobFolderNames?id={id}&sid={sid}

No documentation available.

POST api/node/ResetJobFolderNames?CustomerId={CustomerId}&sid={sid}

No documentation available.

GET api/securedocs/ResetJobFolderNames/?id={id}&sid={sid}

No documentation available.

POST api/securedocs/ResetJobFolderNames/?CustomerId={CustomerId}&sid={sid}

No documentation available.

GET api/job/{id}/ResetJobFolderNames?sid={sid}

No documentation available.

POST api/job/{id}/ResetJobFolderNames?CustomerId={CustomerId}&sid={sid}

No documentation available.

GET api/ResetJobFolderNames/{id}?sid={sid}

No documentation available.

POST api/ResetJobFolderNames?CustomerId={CustomerId}&sid={sid}

No documentation available.

Login

APIDescription
POST api/node/Login

No documentation available.

GET api/node/Login

No documentation available.

POST api/securedocs/Login/

No documentation available.

GET api/securedocs/Login/

No documentation available.

POST api/job/{id}/Login

No documentation available.

GET api/job/{id}/Login

No documentation available.

POST api/Login

No documentation available.

GET api/Login

No documentation available.

Material

Material API controllers.

APIDescription
GET api/node/Material?id={id}&sid={sid}

This returns the basic material for the job for the current week

GET api/node/Material?id={id}&Unused={Unused}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row. It is best if we define an object, instantiate it and then return it in the OK statement. The "Unused" integer is there to differentiate this get from the other.

POST api/node/Material?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/node/Material?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/node/Material?ItemID={ItemID}&sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GET api/securedocs/Material/?id={id}&sid={sid}

This returns the basic material for the job for the current week

GET api/securedocs/Material/?id={id}&Unused={Unused}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row. It is best if we define an object, instantiate it and then return it in the OK statement. The "Unused" integer is there to differentiate this get from the other.

POST api/securedocs/Material/?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/securedocs/Material/?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/securedocs/Material/?ItemID={ItemID}&sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GET api/job/{id}/Material?sid={sid}

This returns the basic material for the job for the current week

GET api/job/{id}/Material?Unused={Unused}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row. It is best if we define an object, instantiate it and then return it in the OK statement. The "Unused" integer is there to differentiate this get from the other.

POST api/job/{id}/Material?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/job/{id}/Material?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/job/{id}/Material/{ItemID}?sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GET api/Material/{id}?sid={sid}

This returns the basic material for the job for the current week

GET api/Material/{id}?Unused={Unused}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row. It is best if we define an object, instantiate it and then return it in the OK statement. The "Unused" integer is there to differentiate this get from the other.

POST api/Material?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/Material?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/Material?ItemID={ItemID}&sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GoogleDrive

APIDescription
GET api/node/GoogleDrive

No documentation available.

GET api/node/GoogleDrive?id={id}&q={q}&f={f}

No documentation available.

POST api/node/GoogleDrive

No documentation available.

GET api/securedocs/GoogleDrive/

No documentation available.

GET api/securedocs/GoogleDrive/?id={id}&q={q}&f={f}

No documentation available.

POST api/securedocs/GoogleDrive/

No documentation available.

GET api/job/{id}/GoogleDrive

No documentation available.

GET api/job/{id}/GoogleDrive?q={q}&f={f}

No documentation available.

POST api/job/{id}/GoogleDrive

No documentation available.

GET api/GoogleDrive

No documentation available.

GET api/GoogleDrive/{id}?q={q}&f={f}

No documentation available.

POST api/GoogleDrive

No documentation available.

CustomerFolderMove

APIDescription
POST api/node/CustomerFolderMove?sid={sid}

POST api/securedocs/CustomerFolderMove/?sid={sid}

POST api/job/{id}/CustomerFolderMove?sid={sid}

POST api/CustomerFolderMove?sid={sid}

ImportFileMaker

APIDescription
GET api/node/ImportFileMaker?table={table}&maxRows={maxRows}&offset={offset}&sid={sid}

No documentation available.

GET api/securedocs/ImportFileMaker/?table={table}&maxRows={maxRows}&offset={offset}&sid={sid}

No documentation available.

GET api/job/{id}/ImportFileMaker?table={table}&maxRows={maxRows}&offset={offset}&sid={sid}

No documentation available.

GET api/ImportFileMaker?table={table}&maxRows={maxRows}&offset={offset}&sid={sid}

No documentation available.

Message

This handles the retreival and updating of messages.

APIDescription
GET api/node/Message?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

POST api/node/Message?sid={sid}

AuthorID and Comment are all that's required for posting.

PUT api/node/Message?sid={sid}

AuthorID, ParentMessageID and Comment are all that's required for this method.

GET api/securedocs/Message/?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

POST api/securedocs/Message/?sid={sid}

AuthorID and Comment are all that's required for posting.

PUT api/securedocs/Message/?sid={sid}

AuthorID, ParentMessageID and Comment are all that's required for this method.

GET api/job/{id}/Message?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

POST api/job/{id}/Message?sid={sid}

AuthorID and Comment are all that's required for posting.

PUT api/job/{id}/Message?sid={sid}

AuthorID, ParentMessageID and Comment are all that's required for this method.

GET api/Message?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

POST api/Message?sid={sid}

AuthorID and Comment are all that's required for posting.

PUT api/Message?sid={sid}

AuthorID, ParentMessageID and Comment are all that's required for this method.

Doc

APIDescription
GET api/node/Doc?FileName={FileName}

No documentation available.

GET api/securedocs/Doc/{FileName}

No documentation available.

GET api/job/{id}/Doc?FileName={FileName}

No documentation available.

GET api/Doc?FileName={FileName}

No documentation available.

CCSC

APIDescription
GET api/node/CCSC?id={id}&format={format}&saveToGoogle={saveToGoogle}&saveToAmazon={saveToAmazon}&sid={sid}

No documentation available.

GET api/securedocs/CCSC/?id={id}&format={format}&saveToGoogle={saveToGoogle}&saveToAmazon={saveToAmazon}&sid={sid}

No documentation available.

GET api/job/{id}/CCSC?format={format}&saveToGoogle={saveToGoogle}&saveToAmazon={saveToAmazon}&sid={sid}

No documentation available.

GET api/CCSC/{id}?format={format}&saveToGoogle={saveToGoogle}&saveToAmazon={saveToAmazon}&sid={sid}

No documentation available.

JobInvoice

This is a basic template for all standard API controllers.

APIDescription
GET api/node/JobInvoice?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/node/JobInvoice?id={id}&ItemID={ItemID}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.It is best if we define an object, instantiate it and then return it in the OK statement.

GET api/node/JobInvoice?id={id}&ItemID={ItemID}&type={type}&sid={sid}

This gets the total, a sum of the amounts invoiced, and difference between this total and sum for Material or Costs for a Job that have been incurred up to the week entered. Key for determining whether it is Material or Costs that are returned is the value of "type". For Material this should be set equal to the string, "Material". All other values return Costs. Additional parameters are ItemID (BillingWeekID), id (JobID), and sid (SessionID).

POST api/node/JobInvoice?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/node/JobInvoice?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

PUT api/node/JobInvoice?type={type}&sid={sid}

No documentation available.

DELETE api/node/JobInvoice?id={id}&sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GET api/securedocs/JobInvoice/?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/securedocs/JobInvoice/?id={id}&ItemID={ItemID}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.It is best if we define an object, instantiate it and then return it in the OK statement.

GET api/securedocs/JobInvoice/?id={id}&ItemID={ItemID}&type={type}&sid={sid}

This gets the total, a sum of the amounts invoiced, and difference between this total and sum for Material or Costs for a Job that have been incurred up to the week entered. Key for determining whether it is Material or Costs that are returned is the value of "type". For Material this should be set equal to the string, "Material". All other values return Costs. Additional parameters are ItemID (BillingWeekID), id (JobID), and sid (SessionID).

POST api/securedocs/JobInvoice/?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/securedocs/JobInvoice/?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

PUT api/securedocs/JobInvoice/?type={type}&sid={sid}

No documentation available.

DELETE api/securedocs/JobInvoice/?id={id}&sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GET api/job/{id}/JobInvoice?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/job/{id}/JobInvoice/{ItemID}?sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.It is best if we define an object, instantiate it and then return it in the OK statement.

GET api/job/{id}/JobInvoice/{ItemID}?type={type}&sid={sid}

This gets the total, a sum of the amounts invoiced, and difference between this total and sum for Material or Costs for a Job that have been incurred up to the week entered. Key for determining whether it is Material or Costs that are returned is the value of "type". For Material this should be set equal to the string, "Material". All other values return Costs. Additional parameters are ItemID (BillingWeekID), id (JobID), and sid (SessionID).

POST api/job/{id}/JobInvoice?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/job/{id}/JobInvoice?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

PUT api/job/{id}/JobInvoice?type={type}&sid={sid}

No documentation available.

DELETE api/job/{id}/JobInvoice?sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GET api/JobInvoice?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/JobInvoice/{id}?ItemID={ItemID}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.It is best if we define an object, instantiate it and then return it in the OK statement.

GET api/JobInvoice/{id}?ItemID={ItemID}&type={type}&sid={sid}

This gets the total, a sum of the amounts invoiced, and difference between this total and sum for Material or Costs for a Job that have been incurred up to the week entered. Key for determining whether it is Material or Costs that are returned is the value of "type". For Material this should be set equal to the string, "Material". All other values return Costs. Additional parameters are ItemID (BillingWeekID), id (JobID), and sid (SessionID).

POST api/JobInvoice?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/JobInvoice?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

PUT api/JobInvoice?type={type}&sid={sid}

No documentation available.

DELETE api/JobInvoice/{id}?sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

Accrual

This is a basic template for all standard API controllers.

APIDescription
GET api/node/Accrual?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/node/Accrual?id={id}&ItemID={ItemID}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.It is best if we define an object, instantiate it and then return it in the OK statement.

POST api/node/Accrual?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/node/Accrual?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/node/Accrual?id={id}&sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GET api/securedocs/Accrual/?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/securedocs/Accrual/?id={id}&ItemID={ItemID}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.It is best if we define an object, instantiate it and then return it in the OK statement.

POST api/securedocs/Accrual/?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/securedocs/Accrual/?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/securedocs/Accrual/?id={id}&sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GET api/job/{id}/Accrual?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/job/{id}/Accrual/{ItemID}?sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.It is best if we define an object, instantiate it and then return it in the OK statement.

POST api/job/{id}/Accrual?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/job/{id}/Accrual?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/job/{id}/Accrual?sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

GET api/Accrual?sid={sid}

This is the standard "return a list" of whatever the sql statement requests as JSON

GET api/Accrual/{id}?ItemID={ItemID}&sid={sid}

Here we will use the exact same code as the first GET statement, but limit it to a single row.It is best if we define an object, instantiate it and then return it in the OK statement.

POST api/Accrual?sid={sid}

Once you know what's coming, you define a custom object (or define a model) to match the JSON, then instead of "JObject", you use that.You do the updates and return the updated object if the update was successful if not, you'll change the response object to empty or send some message back.

PUT api/Accrual?sid={sid}

we handle this the exact same way as a POST, except it is used for "update" statements rather than inserts

DELETE api/Accrual/{id}?sid={sid}

this is never a real delete, but rather sends and update to the DB to set the current record to "deleted" a successful delete returns a 1 and a failure a -1

JobProductItems

Job Product Items Controller

APIDescription
GET api/node/JobProductItems?id={id}&week_id={week_id}&sid={sid}

Retrieves Job Line Items including Breakouts along with Accruals and Invoiced amounts by week.

GET api/securedocs/JobProductItems/?id={id}&week_id={week_id}&sid={sid}

Retrieves Job Line Items including Breakouts along with Accruals and Invoiced amounts by week.

GET api/job/{id}/JobProductItems?week_id={week_id}&sid={sid}

Retrieves Job Line Items including Breakouts along with Accruals and Invoiced amounts by week.

GET api/JobProductItems/{id}?week_id={week_id}&sid={sid}

Retrieves Job Line Items including Breakouts along with Accruals and Invoiced amounts by week.

ReportPackage

APIDescription
GET api/node/ReportPackage?id={id}&ReportType={ReportType}&sid={sid}

No documentation available.

GET api/securedocs/ReportPackage/?id={id}&ReportType={ReportType}&sid={sid}

No documentation available.

GET api/job/{id}/ReportPackage?ReportType={ReportType}&sid={sid}

No documentation available.

GET api/ReportPackage/{id}?ReportType={ReportType}&sid={sid}

No documentation available.

PurchaseOrder

This handles the creation and updates for a Purchase Order

APIDescription
GET api/node/PurchaseOrder?sid={sid}

Returns all Purchase Orders. as an object array of PurchaseOrder

GET api/node/PurchaseOrder?id={id}&sid={sid}

Gets specific Purchase Order.

POST api/node/PurchaseOrder?sid={sid}

This will add a new purchase order to the system. Simply send the Purchase Order Object and a current Session ID. The return will be a purchase order object that includes the new ID as well as any automatically assigned defaults.

PUT api/node/PurchaseOrder?sid={sid}

This updates the purchase order. Send the PurchaseOrder object along with the SID

GET api/securedocs/PurchaseOrder/?sid={sid}

Returns all Purchase Orders. as an object array of PurchaseOrder

GET api/securedocs/PurchaseOrder/?id={id}&sid={sid}

Gets specific Purchase Order.

POST api/securedocs/PurchaseOrder/?sid={sid}

This will add a new purchase order to the system. Simply send the Purchase Order Object and a current Session ID. The return will be a purchase order object that includes the new ID as well as any automatically assigned defaults.

PUT api/securedocs/PurchaseOrder/?sid={sid}

This updates the purchase order. Send the PurchaseOrder object along with the SID

POST api/job/{id}/PurchaseOrder?sid={sid}

This will add a new purchase order to the system. Simply send the Purchase Order Object and a current Session ID. The return will be a purchase order object that includes the new ID as well as any automatically assigned defaults.

PUT api/job/{id}/PurchaseOrder?sid={sid}

This updates the purchase order. Send the PurchaseOrder object along with the SID

GET api/PurchaseOrder?sid={sid}

Returns all Purchase Orders. as an object array of PurchaseOrder

GET api/PurchaseOrder/{id}?sid={sid}

Gets specific Purchase Order.

POST api/PurchaseOrder?sid={sid}

This will add a new purchase order to the system. Simply send the Purchase Order Object and a current Session ID. The return will be a purchase order object that includes the new ID as well as any automatically assigned defaults.

PUT api/PurchaseOrder?sid={sid}

This updates the purchase order. Send the PurchaseOrder object along with the SID

TestLoader

APIDescription
GET api/securedocs/TestLoader/?NodeID={NodeID}&obj[0].NodeTestID={obj[0].NodeTestID}&obj[0].NodeID={obj[0].NodeID}&obj[0].ZCreatedOn={obj[0].ZCreatedOn}&obj[0].Value={obj[0].Value}&obj[0].CloseoutPackageID={obj[0].CloseoutPackageID}&obj[0].DataSector={obj[0].DataSector}&obj[0].DataColorCode={obj[0].DataColorCode}&obj[0].DataTestType={obj[0].DataTestType}&obj[0].DataTechnology={obj[0].DataTechnology}&obj[0].DataTestDescription={obj[0].DataTestDescription}&obj[0].FieldTestRequirementID={obj[0].FieldTestRequirementID}&obj[0].TestFormIndex={obj[0].TestFormIndex}&obj[0].M5={obj[0].M5}&obj[0].M6={obj[0].M6}&obj[0].FieldTestCompiledKey={obj[0].FieldTestCompiledKey}&obj[0].ReportColumn={obj[0].ReportColumn}&obj[0].Status={obj[0].Status}&obj[0].CreatedByID={obj[0].CreatedByID}&obj[0].CreatedDate={obj[0].CreatedDate}&obj[0].UpdatedByID={obj[0].UpdatedByID}&obj[0].UpdatedDate={obj[0].UpdatedDate}&obj[1].NodeTestID={obj[1].NodeTestID}&obj[1].NodeID={obj[1].NodeID}&obj[1].ZCreatedOn={obj[1].ZCreatedOn}&obj[1].Value={obj[1].Value}&obj[1].CloseoutPackageID={obj[1].CloseoutPackageID}&obj[1].DataSector={obj[1].DataSector}&obj[1].DataColorCode={obj[1].DataColorCode}&obj[1].DataTestType={obj[1].DataTestType}&obj[1].DataTechnology={obj[1].DataTechnology}&obj[1].DataTestDescription={obj[1].DataTestDescription}&obj[1].FieldTestRequirementID={obj[1].FieldTestRequirementID}&obj[1].TestFormIndex={obj[1].TestFormIndex}&obj[1].M5={obj[1].M5}&obj[1].M6={obj[1].M6}&obj[1].FieldTestCompiledKey={obj[1].FieldTestCompiledKey}&obj[1].ReportColumn={obj[1].ReportColumn}&obj[1].Status={obj[1].Status}&obj[1].CreatedByID={obj[1].CreatedByID}&obj[1].CreatedDate={obj[1].CreatedDate}&obj[1].UpdatedByID={obj[1].UpdatedByID}&obj[1].UpdatedDate={obj[1].UpdatedDate}&sid={sid}

No documentation available.

GET api/job/{id}/TestLoader?NodeID={NodeID}&obj[0].NodeTestID={obj[0].NodeTestID}&obj[0].NodeID={obj[0].NodeID}&obj[0].ZCreatedOn={obj[0].ZCreatedOn}&obj[0].Value={obj[0].Value}&obj[0].CloseoutPackageID={obj[0].CloseoutPackageID}&obj[0].DataSector={obj[0].DataSector}&obj[0].DataColorCode={obj[0].DataColorCode}&obj[0].DataTestType={obj[0].DataTestType}&obj[0].DataTechnology={obj[0].DataTechnology}&obj[0].DataTestDescription={obj[0].DataTestDescription}&obj[0].FieldTestRequirementID={obj[0].FieldTestRequirementID}&obj[0].TestFormIndex={obj[0].TestFormIndex}&obj[0].M5={obj[0].M5}&obj[0].M6={obj[0].M6}&obj[0].FieldTestCompiledKey={obj[0].FieldTestCompiledKey}&obj[0].ReportColumn={obj[0].ReportColumn}&obj[0].Status={obj[0].Status}&obj[0].CreatedByID={obj[0].CreatedByID}&obj[0].CreatedDate={obj[0].CreatedDate}&obj[0].UpdatedByID={obj[0].UpdatedByID}&obj[0].UpdatedDate={obj[0].UpdatedDate}&obj[1].NodeTestID={obj[1].NodeTestID}&obj[1].NodeID={obj[1].NodeID}&obj[1].ZCreatedOn={obj[1].ZCreatedOn}&obj[1].Value={obj[1].Value}&obj[1].CloseoutPackageID={obj[1].CloseoutPackageID}&obj[1].DataSector={obj[1].DataSector}&obj[1].DataColorCode={obj[1].DataColorCode}&obj[1].DataTestType={obj[1].DataTestType}&obj[1].DataTechnology={obj[1].DataTechnology}&obj[1].DataTestDescription={obj[1].DataTestDescription}&obj[1].FieldTestRequirementID={obj[1].FieldTestRequirementID}&obj[1].TestFormIndex={obj[1].TestFormIndex}&obj[1].M5={obj[1].M5}&obj[1].M6={obj[1].M6}&obj[1].FieldTestCompiledKey={obj[1].FieldTestCompiledKey}&obj[1].ReportColumn={obj[1].ReportColumn}&obj[1].Status={obj[1].Status}&obj[1].CreatedByID={obj[1].CreatedByID}&obj[1].CreatedDate={obj[1].CreatedDate}&obj[1].UpdatedByID={obj[1].UpdatedByID}&obj[1].UpdatedDate={obj[1].UpdatedDate}&sid={sid}

No documentation available.

GET api/TestLoader?NodeID={NodeID}&obj[0].NodeTestID={obj[0].NodeTestID}&obj[0].NodeID={obj[0].NodeID}&obj[0].ZCreatedOn={obj[0].ZCreatedOn}&obj[0].Value={obj[0].Value}&obj[0].CloseoutPackageID={obj[0].CloseoutPackageID}&obj[0].DataSector={obj[0].DataSector}&obj[0].DataColorCode={obj[0].DataColorCode}&obj[0].DataTestType={obj[0].DataTestType}&obj[0].DataTechnology={obj[0].DataTechnology}&obj[0].DataTestDescription={obj[0].DataTestDescription}&obj[0].FieldTestRequirementID={obj[0].FieldTestRequirementID}&obj[0].TestFormIndex={obj[0].TestFormIndex}&obj[0].M5={obj[0].M5}&obj[0].M6={obj[0].M6}&obj[0].FieldTestCompiledKey={obj[0].FieldTestCompiledKey}&obj[0].ReportColumn={obj[0].ReportColumn}&obj[0].Status={obj[0].Status}&obj[0].CreatedByID={obj[0].CreatedByID}&obj[0].CreatedDate={obj[0].CreatedDate}&obj[0].UpdatedByID={obj[0].UpdatedByID}&obj[0].UpdatedDate={obj[0].UpdatedDate}&obj[1].NodeTestID={obj[1].NodeTestID}&obj[1].NodeID={obj[1].NodeID}&obj[1].ZCreatedOn={obj[1].ZCreatedOn}&obj[1].Value={obj[1].Value}&obj[1].CloseoutPackageID={obj[1].CloseoutPackageID}&obj[1].DataSector={obj[1].DataSector}&obj[1].DataColorCode={obj[1].DataColorCode}&obj[1].DataTestType={obj[1].DataTestType}&obj[1].DataTechnology={obj[1].DataTechnology}&obj[1].DataTestDescription={obj[1].DataTestDescription}&obj[1].FieldTestRequirementID={obj[1].FieldTestRequirementID}&obj[1].TestFormIndex={obj[1].TestFormIndex}&obj[1].M5={obj[1].M5}&obj[1].M6={obj[1].M6}&obj[1].FieldTestCompiledKey={obj[1].FieldTestCompiledKey}&obj[1].ReportColumn={obj[1].ReportColumn}&obj[1].Status={obj[1].Status}&obj[1].CreatedByID={obj[1].CreatedByID}&obj[1].CreatedDate={obj[1].CreatedDate}&obj[1].UpdatedByID={obj[1].UpdatedByID}&obj[1].UpdatedDate={obj[1].UpdatedDate}&sid={sid}

No documentation available.