# API Documentation

Our APIs give third-parties the ability to easily integrate with the OPSCOM platform.

**Operations**Commander (OPSCOM) has made APIs (Application Programming Interface) available that allow for authenticated third-parties to access and manipulate data in OPSCOM as needed. This enables the accomplishment of specific functions, such as the ability to add valid permits from pay-and-display machines.

**What is an API?**

APIs, or "Application Programming Interfaces," are specially-designed channels for communication between software systems. Essentially, they give programmers the ability to connect your custom software application to an external system, whether it is running within your office space or out in the cloud.

When you have multiple software systems within your business, it can require a lot of duplicate data entry, which costs you time and money. The API integration project aims to save you money by reducing excess data entry by making it easy for your staff to maintain multiple databases from a single location.

Vendors program APIs into their software to allow external developers to access and manipulate their data. The third-party integration project aims to utilize these systems to eliminate excess data entry and provide new features to the software.

Please note this documentation is specific to APIs we have developed for third-parties to connect to OPSCOM.

We also offer API integration for other third-party hardware and software vendors.

# API Error Codes

API error codes indicate a failure while communicating with the OPSCOM API.

## Example Error

*Content-Type: application/json*

<table border="0" cellpadding="0" cellspacing="0" id="bkmrk-%7B-%C2%A0%C2%A0%C2%A0%C2%A0%22errorcode%22%3A-9"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`{`</div><div class="line number2 index1 alt1">`    ``"ErrorCode"``: 9001,`</div><div class="line number3 index2 alt2">`    ``"ErrorMessage"``: ``"API Token is missing from the request."`</div><div class="line number4 index3 alt1">`}`</div></div></td></tr></tbody></table>

## <span data-colorid="nxa8cioxqu">Error Codes</span>

<table class="wrapped confluenceTable tablesorter tablesorter-default" id="bkmrk-error-code-error-mes" role="grid"><tbody aria-live="polite" aria-relevant="all"><tr><td>**Error Code**</td><td>**Error Message**</td></tr><tr role="row"><td class="confluenceTd">9000</td><td class="confluenceTd">Client Code is missing from the request.</td></tr><tr role="row"><td class="confluenceTd">9001</td><td class="confluenceTd">API Token is missing from the request.</td></tr><tr role="row"><td class="confluenceTd">9002</td><td class="confluenceTd">The supplied API token does not have permission to perform that request.</td></tr><tr role="row"><td class="confluenceTd">9003</td><td class="confluenceTd">Could not parse the request.</td></tr><tr role="row"><td class="confluenceTd">9004</td><td class="confluenceTd">End Time is a required field.</td></tr><tr role="row"><td class="confluenceTd">9005</td><td class="confluenceTd">The end time value is invalid.</td></tr><tr role="row"><td class="confluenceTd">9006</td><td class="confluenceTd">Plate is a required field.</td></tr><tr role="row"><td class="confluenceTd">9007</td><td class="confluenceTd">The start time value is invalid.

</td></tr><tr role="row"><td class="confluenceTd">9008</td><td class="confluenceTd">Reference ID is required. On a new permit push, a reference id is returned. This is required for updates and deletes.</td></tr><tr role="row"><td class="confluenceTd">9009</td><td class="confluenceTd">Record not found. </td></tr><tr role="row"><td class="confluenceTd">9010</td><td class="confluenceTd">The Plate Type is required.</td></tr><tr role="row"><td class="confluenceTd">9011</td><td class="confluenceTd">The province or state is required.</td></tr><tr role="row"><td class="confluenceTd">9012</td><td class="confluenceTd">The vehicle is already in the database. </td></tr><tr role="row"><td class="confluenceTd">9013</td><td class="confluenceTd">A unique id is required.</td></tr><tr role="row"><td class="confluenceTd">9014</td><td class="confluenceTd">The login source is required.</td></tr><tr role="row"><td class="confluenceTd">9015</td><td class="confluenceTd">The login source is invalid.</td></tr><tr role="row"><td class="confluenceTd">9016</td><td class="confluenceTd">The user e-mail is required.</td></tr><tr role="row"><td class="confluenceTd">9017</td><td class="confluenceTd">The user's first name is required.</td></tr><tr role="row"><td class="confluenceTd">9018</td><td class="confluenceTd">The user's last name is required.</td></tr><tr role="row"><td class="confluenceTd">9019</td><td class="confluenceTd">The user's email address must be unique.</td></tr><tr role="row"><td class="confluenceTd">9020</td><td class="confluenceTd">The user's username must be unique.</td></tr><tr role="row"><td class="confluenceTd">9021</td><td class="confluenceTd">The vehicle's plate length exceeds 50 characters.</td></tr><tr role="row"><td class="confluenceTd">9022</td><td class="confluenceTd">A record already exists with the supplied details.</td></tr><tr role="row"><td class="confluenceTd">9030</td><td class="confluenceTd">The field's maximum number of characters was exceeded.</td></tr><tr role="row"><td class="confluenceTd">9031</td><td class="confluenceTd">The field is required.</td></tr><tr role="row"><td class="confluenceTd">9032</td><td class="confluenceTd">The field has a minimum number of characters.</td></tr><tr role="row"><td class="confluenceTd">9033

</td><td class="confluenceTd">The field's value is invalid.</td></tr><tr><td>9034

</td><td>The API Token does not exist for the specified client.</td></tr></tbody></table>

# Permits API

# Pull API: Permit Stats

<p class="callout info"><span data-colorid="h5go72n8lk">The OPSCOM Controller provides a simple JSON based API to integrate with. Clients use this API to gather stats on permits pushed into OPSCOM.   
  
</span><span data-colorid="h5go72n8lk">API access is a paid feature and must be granted by OPSCOM. Email your Account Executive to negotiate access. </span></p>

### <span data-colorid="i26fk0nta5">Making API Requests </span>

<span data-colorid="i26fk0nta5">Make sure you set the HTTP Content-Type header to be application/json. </span>

##### <span style="text-decoration: underline;">Raw Request:</span>

<div class="line number1 index0 alt2" id="bkmrk-post-%2Fapi%2Foc-toma%2Fv1">`POST /api/OC-TOMA/v1/permits/stats HTTP/1.1`</div><div class="line number2 index1 alt1" id="bkmrk-host%3A-controller.ope">`Host: controller.operationscommander.io`</div><div class="line number3 index2 alt2" id="bkmrk-accept%3A-application%2F">`Accept: application/json`</div><div class="line number4 index3 alt1" id="bkmrk-content-type%3A-applic">`Content-Type: application/json`</div><div class="line number5 index4 alt2" id="bkmrk-cache-control%3A-no-ca">`Cache-Control: no-cache`</div><div class="line number6 index5 alt1" id="bkmrk-%C2%A0"> </div><div class="line number7 index6 alt2" id="bkmrk-%7B">`{`</div><div class="line number8 index7 alt1" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0%22apitoken%22%3A-%22you">`    ``"apiToken": "YOUR-API-TOKEN",`</div><div class="line number9 index8 alt2" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0%22zones%22%3A-%22not-re">`    ``"zones": "NOT-REQUIRED--LIST-OF-ZONES"`</div><div class="line number10 index9 alt1" id="bkmrk-%7D">`}`</div>##### <span style="text-decoration: underline;">JavaScript Request</span>

<div class="line number1 index0 alt2" id="bkmrk-var%C2%A0request-%3D%C2%A0new%C2%A0xm">`var` `request = ``new` `XMLHttpRequest();`</div><div class="line number2 index1 alt1" id="bkmrk-%C2%A0-1"> </div><div class="line number3 index2 alt2" id="bkmrk-request.open%28%27post%27%2C">`request.open(``'POST'``, ``'<a href="https://controller.operationscommander.io/api/OC-TOMA/v1/permits/stats'">https://controller.operationscommander.io/api/OC-TOMA/v1/permits/stats'</a>``);`</div><div class="line number4 index3 alt1" id="bkmrk-%C2%A0-2"> </div><div class="line number5 index4 alt2" id="bkmrk-request.setrequesthe">`request.setRequestHeader(``'Content-Type'``, ``'application/json'``);`</div><div class="line number6 index5 alt1" id="bkmrk-request.setrequesthe-1">`request.setRequestHeader(``'Accept'``, ``'application/json'``);`</div><div class="line number7 index6 alt2" id="bkmrk-%C2%A0-3"> </div><div class="line number8 index7 alt1" id="bkmrk-request.onreadystate">`request.onreadystatechange = ``function` `() {`</div><div class="line number9 index8 alt2" id="bkmrk-%C2%A0%C2%A0if%C2%A0%28this.readystat">`  ``if` `(``this``.readyState === 4) {`</div><div class="line number10 index9 alt1" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0console.log%28%27sta">`    ``console.log(``'Status:'``, ``this``.status);`</div><div class="line number11 index10 alt2" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0console.log%28%27hea">`    ``console.log(``'Headers:'``, ``this``.getAllResponseHeaders());`</div><div class="line number12 index11 alt1" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0console.log%28%27bod">`    ``console.log(``'Body:'``, ``this``.responseText);`</div><div class="line number13 index12 alt2" id="bkmrk-%C2%A0%C2%A0%7D">`  ``}`</div><div class="line number14 index13 alt1" id="bkmrk-%7D%3B">`};`</div><div class="line number15 index14 alt2" id="bkmrk-%C2%A0-4"> </div><div class="line number16 index15 alt1" id="bkmrk-%C2%A0-5"> </div><div class="line number17 index16 alt2" id="bkmrk-var%C2%A0body-%3D-%7B">`var` `body = {`</div><div class="line number18 index17 alt1" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0%22apitoken%22%3A%C2%A0%22you">`    ``"apiToken"``: ``"YOUR-API-TOKEN"``,`</div><div class="line number19 index18 alt2" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0%22zones%22%3A%C2%A0%22lot-01">`    ``"zones"``: ``"Lot 01,Lot 02"`</div><div class="line number20 index19 alt1" id="bkmrk-%7D-1">`}`</div><div class="line number21 index20 alt2" id="bkmrk-request.send%28json.st">`request.send(JSON.stringify(body));`</div>### <span data-colorid="e0bysrvbz1">Request Object Attributes</span>

<table class="wrapped confluenceTable tablesorter tablesorter-default" id="bkmrk-attribute-type-limit" role="grid"><tbody aria-live="polite" aria-relevant="all"><tr><td>**Attribute**  
</td><td>**Type**  
</td><td>**Limits**

</td><td>**Possible Names**  
</td><td>**Description**</td></tr><tr role="row"><td class="confluenceTd">apiToken</td><td class="confluenceTd">String</td><td class="confluenceTd">50-character alphanumeric including dashes

</td><td class="confluenceTd">apiToken</td><td class="confluenceTd">**(Required)** Your supplied API Token.</td></tr><tr role="row"><td class="confluenceTd">zones

</td><td class="confluenceTd">String</td><td class="confluenceTd">Listed zones match zone names in database</td><td class="confluenceTd">zones

</td><td class="confluenceTd">**(Not Required)** Comma delimited list of zones

e.g. zone1,zone2,Lot 03,Red Lot,Street parking

</td></tr></tbody></table>

### Successful Response

The response will be a json object. The same reference id will be returned.

*Content-Type: application/json*

<div class="line number1 index0 alt2" id="bkmrk-%7B-1">`{`</div><div class="line number2 index1 alt1" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0%22data%22%3A-%5B">`    ``"data"``: [`</div><div class="line number3 index2 alt2" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%7B">`        ``{`</div><div class="line number4 index3 alt1" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%22type%22%3A%C2%A0">`            ``"type"``: ``"standard"``,`</div><div class="line number5 index4 alt2" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%22zone%22%3A%C2%A0">`            ``"zone"``: ``"zone1"``,`</div><div class="line number6 index5 alt1" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%22total%22%3A">`            ``"total"``: ``"4"`</div><div class="line number7 index6 alt2" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%7D%2C">`        ``},`</div><div class="line number8 index7 alt1" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%7B-1">`        ``{`</div><div class="line number9 index8 alt2" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%22type%22%3A%C2%A0-1">`            ``"type"``: ``"temp"``,`</div><div class="line number10 index9 alt1" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%22zone%22%3A%C2%A0-1">`            ``"zone"``: ``"zone1"``,`</div><div class="line number11 index10 alt2" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%22total%22%3A-1">`            ``"total"``: ``"35"`</div><div class="line number12 index11 alt1" id="bkmrk-%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%7D%2C-1">`        ``},`</div><div class="line number13 index12 alt2" id="bkmrk-%C2%A0%C2%A0%C2%A0%3A">`   ``:`</div><div class="line number14 index13 alt1" id="bkmrk-%C2%A0%C2%A0%C2%A0%3A-1">`   ``:`</div><div class="line number15 index14 alt2" id="bkmrk-%7D-2">`}`</div><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="96c00eaa-6dd9-4f65-aa36-dc5913e60e77" data-macro-name="code" id="bkmrk-"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk--1"></div></div></div></div><div class="line number10 index9 alt1" id="bkmrk--2"></div><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="1fc64da1-381f-48e3-b00f-50af12c700e2" data-macro-name="code" id="bkmrk--3"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  text" id="bkmrk--4"></div></div></div></div>

# Push API: Permit Delete

<p class="callout info"><span data-colorid="h5go72n8lk">API access is a paid feature and must be granted by OPSCOM. Email your Account Executive to negotiate access. </span></p>

<span data-colorid="h5go72n8lk">The OPSCOM Controller provides a simple JSON based API to integrate with. Clients use this API to directly feed details about existing paid permits and their changes into OPSCOM from other systems such as Parking apps. </span>

Make sure you set the HTTP Content-Type header to be application/json.

## <span data-colorid="ofvesqd1kh">Making API Requests</span>

### Raw Request:

<div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="d82683ac-7548-4419-a8f9-4dd2f5a2e52e" data-macro-name="column" id="bkmrk-post-%2Fapi%2Foc-toma%2Fv1"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="1fc64da1-381f-48e3-b00f-50af12c700e2" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  text" id="bkmrk-post-%2Fapi%2Foc-toma%2Fv1-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`POST /api/OC-TOMA/v1/permits/delete HTTP/1.1`</div><div class="line number2 index1 alt1">`Host: controller.operationscommander.io`</div><div class="line number3 index2 alt2">`Accept: application/json`</div><div class="line number4 index3 alt1">`Content-Type: application/json`</div><div class="line number5 index4 alt2">`Cache-Control: no-cache`</div><div class="line number6 index5 alt1"> </div><div class="line number7 index6 alt2">`{`</div><div class="line number8 index7 alt1">`    ``"apiToken": "YOUR-API-TOKEN",`</div><div class="line number9 index8 alt2">`    ``"referenceID": "PREVIOUS-REFERENCE-ID"`</div><div class="line number10 index9 alt1">`}`</div></div></td></tr></tbody></table>

</div></div></div></div></div>### JavaScript Request:

<div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column" id="bkmrk-var%C2%A0request-%3D%C2%A0new%C2%A0xm"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="7e14d279-ff31-4675-9b93-a0241dbe09e9" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`var` `request = ``new` `XMLHttpRequest();`</div><div class="line number2 index1 alt1"> </div><div class="line number3 index2 alt2">`request.open(``'POST'``, ``'<a href="https://controller.operationscommander.io/api/OC-TOMA/v1/permits/delete'">https://controller.operationscommander.io/api/OC-TOMA/v1/permits/delete'</a>``);`</div><div class="line number4 index3 alt1"> </div><div class="line number5 index4 alt2">`request.setRequestHeader(``'Content-Type'``, ``'application/json'``);`</div><div class="line number6 index5 alt1">`request.setRequestHeader(``'Accept'``, ``'application/json'``);`</div><div class="line number7 index6 alt2"> </div><div class="line number8 index7 alt1">`request.onreadystatechange = ``function` `() {`</div><div class="line number9 index8 alt2">`  ``if` `(``this``.readyState === 4) {`</div><div class="line number10 index9 alt1">`    ``console.log(``'Status:'``, ``this``.status);`</div><div class="line number11 index10 alt2">`    ``console.log(``'Headers:'``, ``this``.getAllResponseHeaders());`</div><div class="line number12 index11 alt1">`    ``console.log(``'Body:'``, ``this``.responseText);`</div><div class="line number13 index12 alt2">`  ``}`</div><div class="line number14 index13 alt1">`};`</div><div class="line number15 index14 alt2"> </div><div class="line number16 index15 alt1"> </div><div class="line number17 index16 alt2">`var` `body = {`</div><div class="line number18 index17 alt1">`    ``"apiToken"``: ``"YOUR-API-TOKEN"``,`</div><div class="line number19 index18 alt2">`    ``"referenceID"``: ``"PREVIOUS-REFERENCE-ID"`</div><div class="line number20 index19 alt1">`}`</div><div class="line number21 index20 alt2">`request.send(JSON.stringify(body));`</div></div></td></tr></tbody></table>

</div></div></div></div></div>## <span data-colorid="myfydoxup9">Request Object Attributes</span>

<table class="wrapped confluenceTable tablesorter tablesorter-default" id="bkmrk-attribute-type-limit" role="grid" style="width: 104.524%;"><tbody aria-live="polite" aria-relevant="all"><tr><td style="width: 9.77354%;">**Attribute**</td><td style="width: 8.81633%;">**Type**  
</td><td style="width: 25.2719%;">**Limits**

</td><td style="width: 9.41597%;">**Possible Names**  
</td><td style="width: 46.7223%;">**Description**</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.77354%;">apiToken</td><td class="confluenceTd" style="width: 8.81633%;">String</td><td class="confluenceTd" style="width: 25.2719%;">50-character alphanumeric including dashes

</td><td class="confluenceTd" style="width: 9.41597%;">apiToken</td><td class="confluenceTd" style="width: 46.7223%;">**(Required)** Your supplied API Token.</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.77354%;">Reference ID

</td><td class="confluenceTd" style="width: 8.81633%;">String</td><td class="confluenceTd" style="width: 25.2719%;">50-character alphanumeric including dashes</td><td class="confluenceTd" style="width: 9.41597%;">referenceid

referenceID

reference\_id

</td><td class="confluenceTd" style="width: 46.7223%;">**(Required)** This value is supplied to when the permit push api is successful.

e.g. 1a9b5375-cb75-4c71-9939-eeae550b09ac

</td></tr></tbody></table>

## Successful Response

The response will be a json object. The same reference id will be returned.

*Content-Type: application/json*

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="96c00eaa-6dd9-4f65-aa36-dc5913e60e77" data-macro-name="code" id="bkmrk-%7B-%C2%A0%C2%A0%C2%A0%C2%A0%22status%22%3A%C2%A0%22suc"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk-%7B-%C2%A0%C2%A0%C2%A0%C2%A0%22status%22%3A%C2%A0%22suc-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`{`</div><div class="line number2 index1 alt1">`    ``"status"``: ``"success"``,`</div><div class="line number3 index2 alt2">`    ``"reference_id"``: ``"1a9b5375-cb75-4c71-9939-eeae550b09ac"``,`</div><div class="line number4 index3 alt1">`    ``"InternalReferenceID"``: ``"1a9b5375-cb75-4c71-9939-eeae550b09ac"`</div><div class="line number5 index4 alt2">`}`</div></div></td></tr></tbody></table>

</div></div></div></div><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column" id="bkmrk-"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="7e14d279-ff31-4675-9b93-a0241dbe09e9" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk--1"></div></div></div></div></div>

# Push API: Permit Create

<p class="callout info"><span data-colorid="h5go72n8lk">API access is a paid feature and must be granted by OPSCOM. Email your Account Executive to negotiate access. </span></p>

The OPSCOM Controller provides a simple JSON based API to integrate with. Clients use this API to directly feed paid permit details into OPSCOM from other systems such as Parking Meters. Any permit types whether Validator, Temporary or Standard can be feed to OPSCOM using this API

Make sure you set the HTTP Content-Type header to be application/json.

## <span data-colorid="cxr41628en">Making API Requests</span>

### Raw Request:

<div class="sectionMacroRow" id="bkmrk-post-%2Fapi%2Foc-toma%2Fv1"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="d82683ac-7548-4419-a8f9-4dd2f5a2e52e" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="e0f00b72-fb34-406b-8191-44548c0c6a03" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  text" id="bkmrk-post-%2Fapi%2Foc-toma%2Fv1-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`POST /api/OC-TOMA/v1/permits/push HTTP/1.1`</div><div class="line number2 index1 alt1">`Host: controller.operationscommander.io`</div><div class="line number3 index2 alt2">`Accept: application/json`</div><div class="line number4 index3 alt1">`Content-Type: application/json`</div><div class="line number5 index4 alt2">`Cache-Control: no-cache`</div><div class="line number6 index5 alt1"> </div><div class="line number7 index6 alt2">`{`</div><div class="line number8 index7 alt1">`    ``"apiToken": "YOUR-API-TOKEN",`</div><div class="line number9 index8 alt2">`    ``"Amount": "14.50",`</div><div class="line number10 index9 alt1">`    ``"CurrencyID": "CAD",`</div><div class="line number11 index10 alt2">`    ``"LicencePlate": "PL8RDR",`</div><div class="line number12 index11 alt1">`    ``"zone": "Lot 4",`</div><div class="line number13 index12 alt2">`    ``"permitNo": "L4-1138",`</div><div class="line number14 index13 alt1">`    ``"startTime": "2018-07-02T09:00:00",`</div><div class="line number15 index14 alt2">`    ``"endTime": "2018-07-02T09:30:00"`</div><div class="line number16 index15 alt1">`}`</div></div></td></tr></tbody></table>

</div></div></div></div></div><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column">  
</div></div>### JavaScript Request:

<div class="sectionMacroRow" id="bkmrk-var%C2%A0request-%3D%C2%A0new%C2%A0xm"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="27c0aef3-a976-47d7-8822-ce06e320ad25" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`var` `request = ``new` `XMLHttpRequest();`</div><div class="line number2 index1 alt1"> </div><div class="line number3 index2 alt2">`request.open(``'POST'``, ``'<a href="https://controller.operationscommander.io/api/OC-TOMA/v1/permits/push'">https://controller.operationscommander.io/api/OC-TOMA/v1/permits/push'</a>``);`</div><div class="line number4 index3 alt1"> </div><div class="line number5 index4 alt2">`request.setRequestHeader(``'Content-Type'``, ``'application/json'``);`</div><div class="line number6 index5 alt1">`request.setRequestHeader(``'Accept'``, ``'application/json'``);`</div><div class="line number7 index6 alt2"> </div><div class="line number8 index7 alt1">`request.onreadystatechange = ``function` `() {`</div><div class="line number9 index8 alt2">`  ``if` `(``this``.readyState === 4) {`</div><div class="line number10 index9 alt1">`    ``console.log(``'Status:'``, ``this``.status);`</div><div class="line number11 index10 alt2">`    ``console.log(``'Headers:'``, ``this``.getAllResponseHeaders());`</div><div class="line number12 index11 alt1">`    ``console.log(``'Body:'``, ``this``.responseText);`</div><div class="line number13 index12 alt2">`  ``}`</div><div class="line number14 index13 alt1">`};`</div><div class="line number15 index14 alt2"> </div><div class="line number16 index15 alt1"> </div><div class="line number17 index16 alt2">`var` `body = {`</div><div class="line number18 index17 alt1">`    ``"apiToken"``: ``"YOUR-API-TOKEN"``,`</div><div class="line number19 index18 alt2">`    ``"Amount"``: ``"14.50"``,`</div><div class="line number20 index19 alt1">`    ``"CurrencyID"``: ``"CAD"``,`</div><div class="line number21 index20 alt2">`    ``"LicencePlate"``: ``"PL8RDR"``,`</div><div class="line number22 index21 alt1">`    ``"zone"``: ``"Lot 4"``,`</div><div class="line number23 index22 alt2">`    ``"permitNo"``: ``"L4-1138"``,`</div><div class="line number24 index23 alt1">`    ``"startTime"``: ``"2018-07-02T09:00:00"``,`</div><div class="line number25 index24 alt2">`    ``"endTime"``: ``"2018-07-02T09:30:00"`</div><div class="line number26 index25 alt1">`}`</div><div class="line number27 index26 alt2">`request.send(JSON.stringify(body));`</div></div></td></tr></tbody></table>

</div></div></div></div></div></div>## <span data-colorid="gq5mbr2url">Request Object Attributes</span>

<div class="table-wrap" id="bkmrk-attribute-type-limit"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 8.93921%;"></col><col style="width: 6.67263%;"></col><col style="width: 19.7874%;"></col><col style="width: 10.6079%;"></col><col style="width: 53.9928%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Attribute: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Attribute</th><th aria-disabled="false" aria-label="Type: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Type</th><th aria-disabled="false" aria-label="Limits: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0">Limits</th><th aria-disabled="false" aria-label="Possible Names: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="3" role="columnheader" scope="col" tabindex="0">Possible Names</th><th aria-disabled="false" aria-label="Description: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="4" role="columnheader" scope="col" tabindex="0">Description</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">apiToken</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes

</td><td class="confluenceTd" colspan="1">apiToken</td><td class="confluenceTd" colspan="1">**(Required)** Your supplied API Token.</td></tr><tr role="row"><td class="confluenceTd">Amount</td><td class="confluenceTd">String</td><td class="confluenceTd">9-character decimal</td><td class="confluenceTd">amount

Amount

</td><td class="confluenceTd" colspan="1">*(Optional)* Transaction amount This must contain at least 3 digits, two of which are penny values.

The minimum allowable value is $0.01, and the maximum allowable value is $999999.99.

</td></tr><tr role="row"><td class="confluenceTd">Currency</td><td class="confluenceTd">String</td><td class="confluenceTd">10-characters</td><td class="confluenceTd">currency

CurrencyID

</td><td class="confluenceTd" colspan="1">*(Optional)* CAD, USD</td></tr><tr role="row"><td class="confluenceTd">Start Date

</td><td class="confluenceTd">String</td><td class="confluenceTd">20-characters

Y-m-d\\TH:i:s format.

</td><td class="confluenceTd">startTime

StartDateUtc

</td><td class="confluenceTd" colspan="1">**(Required)** Must be in the format of Y-m-d\\TH:i:s

e.g. 2000-05-30T14:38:22

For formatting help, see [PHP Date Formatting](http://php.net/manual/en/function.date.php)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">End Date</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">20-characters

Y-m-d\\TH:i:s format.

</td><td class="confluenceTd" colspan="1">endTime

EndDateUtc

</td><td class="confluenceTd" colspan="1">**(Required)** Must be in the format of Y-m-d\\TH:i:s

e.g. 2000-05-30T14:38:22

For formatting help, see [PHP Date Formatting](http://php.net/manual/en/function.date.php)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">License Plate</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">25-characters</td><td class="confluenceTd" colspan="1">plate

LicencePlate

</td><td class="confluenceTd" colspan="1">**(Required)** The plate of the vehicle.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Ticket Number</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-characters</td><td class="confluenceTd" colspan="1">permitNo

TicketNumber

</td><td class="confluenceTd" colspan="1">*(Optional)*</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Zone Name</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">200-characters</td><td class="confluenceTd" colspan="1">zone

ParkingZoneName

</td><td class="confluenceTd" colspan="1">*(Optional)* If the zone does not match a zone in our system, it will be a disconnected record and may not report properly.</td></tr></tbody></table>

</div>## Successful Response

The response will be a json object.

Content-Type: application/json

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="db38aafe-8712-40c9-8a94-4303ba5151c0" data-macro-name="code" id="bkmrk-%7B-%C2%A0%C2%A0%C2%A0%C2%A0%22status%22%3A%C2%A0%22suc"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk-%7B-%C2%A0%C2%A0%C2%A0%C2%A0%22status%22%3A%C2%A0%22suc-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`{`</div><div class="line number2 index1 alt1">`    ``"status"``: ``"success"``,`</div><div class="line number3 index2 alt2">`    ``"reference_id"``: ``"1a9b5375-cb75-4c71-9939-eeae550b09ac"``,`</div><div class="line number4 index3 alt1">`    ``"InternalReferenceID"``: ``"1a9b5375-cb75-4c71-9939-eeae550b09ac"`</div><div class="line number5 index4 alt2">`}`</div></div></td></tr></tbody></table>

</div></div></div></div><div class="sectionMacroRow" id="bkmrk-"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="27c0aef3-a976-47d7-8822-ce06e320ad25" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk--1"></div></div></div></div></div></div>

# Push API: Permit Update

<p class="callout info"><span data-colorid="h5go72n8lk">API access is a paid feature and must be granted by OPSCOM. Email your Account Executive to negotiate access. </span></p>

The OPSCOM Controller provides a simple JSON based API to integrate with. Clients use this API to directly feed paid permit details into OPSCOM from other systems such as Parking Apps.

Make sure you set the HTTP Content-Type header to be application/json.

## <span data-colorid="i82mzfit94">Making API Requests</span>

### Raw Request:

<div class="sectionMacroRow" id="bkmrk-post-%2Fapi%2Foc-toma%2Fv1"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="d82683ac-7548-4419-a8f9-4dd2f5a2e52e" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="3628c7b8-0e3b-4ad3-8cd3-23cd3d72d42d" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  text" id="bkmrk-post-%2Fapi%2Foc-toma%2Fv1-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`POST /api/OC-TOMA/v1/permits/update HTTP/1.1`</div><div class="line number2 index1 alt1">`Host: controller.operationscommander.io`</div><div class="line number3 index2 alt2">`Accept: application/json`</div><div class="line number4 index3 alt1">`Content-Type: application/json`</div><div class="line number5 index4 alt2">`Cache-Control: no-cache`</div><div class="line number6 index5 alt1"> </div><div class="line number7 index6 alt2">`{`</div><div class="line number8 index7 alt1">`    ``"apiToken": "YOUR-API-TOKEN",`</div><div class="line number9 index8 alt2">`    ``"referenceID": "PREVIOUS-REFERENCE-ID",`</div><div class="line number10 index9 alt1">`    ``"plate": "PL8RDR",`</div><div class="line number11 index10 alt2">`    ``"Amount": "14.50",`</div><div class="line number12 index11 alt1">`    ``"currency": "CAD",`</div><div class="line number13 index12 alt2">`    ``"endTime": "2018-07-02T09:30:00"`</div><div class="line number14 index13 alt1">`}`</div></div></td></tr></tbody></table>

</div></div></div></div></div><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column">  
</div></div>### JavaScript Request:

<div class="sectionMacroRow" id="bkmrk-var%C2%A0request-%3D%C2%A0new%C2%A0xm"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="b10a8ba8-3a1d-4764-9a4e-c63537336cd5" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`var` `request = ``new` `XMLHttpRequest();`</div><div class="line number2 index1 alt1"> </div><div class="line number3 index2 alt2">`request.open(``'POST'``, ``'<a href="https://controller.operationscommander.io/api/OC-TOMA/v1/permits/update'">https://controller.operationscommander.io/api/OC-TOMA/v1/permits/update'</a>``);`</div><div class="line number4 index3 alt1"> </div><div class="line number5 index4 alt2">`request.setRequestHeader(``'Content-Type'``, ``'application/json'``);`</div><div class="line number6 index5 alt1">`request.setRequestHeader(``'Accept'``, ``'application/json'``);`</div><div class="line number7 index6 alt2"> </div><div class="line number8 index7 alt1">`request.onreadystatechange = ``function` `() {`</div><div class="line number9 index8 alt2">`  ``if` `(``this``.readyState === 4) {`</div><div class="line number10 index9 alt1">`    ``console.log(``'Status:'``, ``this``.status);`</div><div class="line number11 index10 alt2">`    ``console.log(``'Headers:'``, ``this``.getAllResponseHeaders());`</div><div class="line number12 index11 alt1">`    ``console.log(``'Body:'``, ``this``.responseText);`</div><div class="line number13 index12 alt2">`  ``}`</div><div class="line number14 index13 alt1">`};`</div><div class="line number15 index14 alt2"> </div><div class="line number16 index15 alt1"> </div><div class="line number17 index16 alt2">`var` `body = {`</div><div class="line number18 index17 alt1">`    ``"apiToken"``: ``"YOUR-API-TOKEN"``,`</div><div class="line number19 index18 alt2">`    ``"referenceID"``: ``"PREVIOUS-REFERENCE-ID"``,`</div><div class="line number20 index19 alt1">`    ``"plate"``: ``"PL8RDR"``,`</div><div class="line number21 index20 alt2">`    ``"Amount"``: ``"14.50"``,`</div><div class="line number22 index21 alt1">`    ``"currency"``: ``"CAD"``,`</div><div class="line number23 index22 alt2">`    ``"endTime"``: ``"2018-07-02T09:30:00"`</div><div class="line number24 index23 alt1">`}`</div><div class="line number25 index24 alt2">`request.send(JSON.stringify(body));`</div></div></td></tr></tbody></table>

</div></div></div></div></div></div>## <span data-colorid="g19uwjzxss">Request Object Attributes</span>

<div class="table-wrap" id="bkmrk-attribute-type-limit"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Attribute: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Attribute</th><th aria-disabled="false" aria-label="Type: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Type</th><th aria-disabled="false" aria-label="Limits: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0">Limits</th><th aria-disabled="false" aria-label="Possible Names: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="3" role="columnheader" scope="col" tabindex="0">Possible Names</th><th aria-disabled="false" aria-label="Description: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="4" role="columnheader" scope="col" tabindex="0">Description</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">apiToken</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes

</td><td class="confluenceTd" colspan="1">apiToken</td><td class="confluenceTd" colspan="1">**(Required)** Your supplied API Token.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Reference ID

</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes</td><td class="confluenceTd" colspan="1">referenceid

referenceID

reference\_id

</td><td class="confluenceTd" colspan="1">**(Required)** This value is supplied to when the permit push api is successful.

e.g. 1a9b5375-cb75-4c71-9939-eeae550b09ac

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">End Date</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">20-characters

Y-m-d\\TH:i:s format.

</td><td class="confluenceTd" colspan="1">endTime

EndDateUtc

</td><td class="confluenceTd" colspan="1">*(Optional)* Must be in the format of Y-m-d\\TH:i:s

e.g. 2000-05-30T14:38:22

For formatting help, see [PHP Date Formatting](http://php.net/manual/en/function.date.php)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">License Plate</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">25-characters</td><td class="confluenceTd" colspan="1">plate

LicencePlate

</td><td class="confluenceTd" colspan="1">*(Optional)* The plate of the vehicle.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Amount</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">9-character decimal</td><td class="confluenceTd" colspan="1">amount

Amount

</td><td class="confluenceTd" colspan="1">*(Optional)* Transaction amount This must contain at least 3 digits, two of which are penny values.

The minimum allowable value is $0.01, and the maximum allowable value is $999999.99.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Currency</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">10-characters</td><td class="confluenceTd" colspan="1">currency

CurrencyID

</td><td class="confluenceTd" colspan="1">*(Optional)* CAD, USD</td></tr></tbody></table>

</div>## Successful Response

The response will be a json object. The same reference id will be returned.

Content-Type: application/json

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="81852e34-68eb-40c1-bbe1-6bea340375f6" data-macro-name="code" id="bkmrk-%7B-%C2%A0%C2%A0%C2%A0%C2%A0%22status%22%3A%C2%A0%22suc"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk-%7B-%C2%A0%C2%A0%C2%A0%C2%A0%22status%22%3A%C2%A0%22suc-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`{`</div><div class="line number2 index1 alt1">`    ``"status"``: ``"success"``,`</div><div class="line number3 index2 alt2">`    ``"reference_id"``: ``"1a9b5375-cb75-4c71-9939-eeae550b09ac"``,`</div><div class="line number4 index3 alt1">`    ``"InternalReferenceID"``: ``"1a9b5375-cb75-4c71-9939-eeae550b09ac"`</div><div class="line number5 index4 alt2">`}`</div></div></td></tr></tbody></table>

</div></div></div></div><div class="sectionMacroRow" id="bkmrk-"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="b10a8ba8-3a1d-4764-9a4e-c63537336cd5" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk--1"></div></div></div></div></div></div>

# Push API: Vehicle Create

<p class="callout info"><span data-colorid="h5go72n8lk">API access is a paid feature and must be granted by OPSCOM. Email your Account Executive to negotiate access. </span></p>

<span data-colorid="kxbncs083n">The OPSCOM Controller provides a simple JSON based API to integrate with. Clients use this API to directly feed vehicles into OPSCOM from other systems. </span>

Make sure you set the HTTP Content-Type header to be application/json.

## <span data-colorid="qkziluutjj">Making API Requests</span>

### Raw Request:

<div class="sectionMacroRow" id="bkmrk-post-%2Fapi%2Foc_toma%2Fv1"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="d82683ac-7548-4419-a8f9-4dd2f5a2e52e" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="e0f00b72-fb34-406b-8191-44548c0c6a03" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  text" id="bkmrk-post-%2Fapi%2Foc_toma%2Fv1-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`POST /api/OC_TOMA/v1/vehicles/push HTTP/1.1`</div><div class="line number2 index1 alt1">`Host: controller.operationscommander.io`</div><div class="line number3 index2 alt2">`Accept: application/json`</div><div class="line number4 index3 alt1">`Content-Type: application/json`</div><div class="line number5 index4 alt2">`Cache-Control: no-cache`</div><div class="line number6 index5 alt1"> </div><div class="line number7 index6 alt2">`{`</div><div class="line number8 index7 alt1">`    ``"apiToken": "YOUR-API-TOKEN",`</div><div class="line number9 index8 alt2">`    ``"plate": "PL8RDR",`</div><div class="line number10 index9 alt1">`    ``"plateType": "Motorcycle",`</div><div class="line number11 index10 alt2">`    ``"prov": "MA",`</div><div class="line number12 index11 alt1">`    ``"make": "8",`</div><div class="line number13 index12 alt2">`    ``"type": "3",`</div><div class="line number14 index13 alt1">`    ``"colour": "red",`</div><div class="line number15 index14 alt2">`    ``"year": "2011",`</div><div class="line number16 index15 alt1">`    ``"vin": "8GKS1AKC7FR518845"`</div><div class="line number17 index16 alt2">`}`</div></div></td></tr></tbody></table>

</div></div></div></div></div><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column">  
</div></div>### JavaScript Request:

<div class="sectionMacroRow" id="bkmrk-var%C2%A0request-%3D%C2%A0new%C2%A0xm"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="27c0aef3-a976-47d7-8822-ce06e320ad25" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`var` `request = ``new` `XMLHttpRequest();`</div><div class="line number2 index1 alt1"> </div><div class="line number3 index2 alt2">`request.open(``'POST'``, ``'<a href="https://controller.operationscommander.io/api/OC_TOMA/v1/vehicles/push'">https://controller.operationscommander.io/api/OC_TOMA/v1/vehicles/push'</a>``);`</div><div class="line number4 index3 alt1"> </div><div class="line number5 index4 alt2">`request.setRequestHeader(``'Content-Type'``, ``'application/json'``);`</div><div class="line number6 index5 alt1">`request.setRequestHeader(``'Accept'``, ``'application/json'``);`</div><div class="line number7 index6 alt2"> </div><div class="line number8 index7 alt1">`request.onreadystatechange = ``function` `() {`</div><div class="line number9 index8 alt2">`  ``if` `(``this``.readyState === 4) {`</div><div class="line number10 index9 alt1">`    ``console.log(``'Status:'``, ``this``.status);`</div><div class="line number11 index10 alt2">`    ``console.log(``'Headers:'``, ``this``.getAllResponseHeaders());`</div><div class="line number12 index11 alt1">`    ``console.log(``'Body:'``, ``this``.responseText);`</div><div class="line number13 index12 alt2">`  ``}`</div><div class="line number14 index13 alt1">`};`</div><div class="line number15 index14 alt2"> </div><div class="line number16 index15 alt1"> </div><div class="line number17 index16 alt2">`var` `body = {`</div><div class="line number18 index17 alt1">`    ``"apiToken"``: ``"YOUR-API-TOKEN"``,`</div><div class="line number19 index18 alt2">`    ``"plate"``: ``"PL8RDR"``,`</div><div class="line number20 index19 alt1">`    ``"plateType"``: ``"Motorcycle"``,`</div><div class="line number21 index20 alt2">`    ``"prov"``: ``"MA"``,`</div><div class="line number22 index21 alt1">`    ``"make"``: ``"kia"``,`</div><div class="line number23 index22 alt2">`    ``"type"``: ``"commercial"``,`</div><div class="line number24 index23 alt1">`    ``"colour"``: ``"red"``,`</div><div class="line number25 index24 alt2">`    ``"year"``: ``"2021"``,`</div><div class="line number26 index25 alt1">`    ``"vin"``: ``"8GKS1AKC7FR518845"`</div><div class="line number27 index26 alt2">`}`</div><div class="line number28 index27 alt1">`request.send(JSON.stringify(body));`</div></div></td></tr></tbody></table>

</div></div></div></div></div></div>## <span data-colorid="aukchi7y0x">Request Object Attributes</span>

<div class="table-wrap" id="bkmrk-attribute-type-limit"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 7.9857%;"></col><col style="width: 6.55358%;"></col><col style="width: 21.2176%;"></col><col style="width: 9.89273%;"></col><col style="width: 54.4696%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Attribute: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Attribute</th><th aria-disabled="false" aria-label="Type: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Type</th><th aria-disabled="false" aria-label="Limits: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0">Limits</th><th aria-disabled="false" aria-label="Possible Names: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="3" role="columnheader" scope="col" tabindex="0">Possible Names</th><th aria-disabled="false" aria-label="Description: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="4" role="columnheader" scope="col" tabindex="0">Description</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">apiToken</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes.

</td><td class="confluenceTd" colspan="1">apiToken</td><td class="confluenceTd" colspan="1">**(Required)** Your supplied API Token.</td></tr><tr role="row"><td class="confluenceTd">plate</td><td class="confluenceTd">String</td><td class="confluenceTd">50-character alphanumeric.</td><td class="confluenceTd">plate

</td><td class="confluenceTd" colspan="1">**(Required)** The license plate.

</td></tr><tr role="row"><td class="confluenceTd">plateTypeID</td><td class="confluenceTd">String</td><td class="confluenceTd">The ID of the VechiclePlateType record.

</td><td class="confluenceTd">plateTypeID</td><td class="confluenceTd">**(One of plateTypeID or plateType is required)** Your supplied VehiclePlateType identifier.</td></tr><tr role="row"><td class="confluenceTd">plateType</td><td class="confluenceTd">String</td><td class="confluenceTd">50-character alphanumeric including dashes.

</td><td class="confluenceTd">plateType</td><td class="confluenceTd">**(One of plateTypeID or plateType is required)** The name of the plate type.</td></tr><tr role="row"><td class="confluenceTd">provID</td><td class="confluenceTd">String</td><td class="confluenceTd">The ID of the state/province.

</td><td class="confluenceTd">provID</td><td class="confluenceTd">**(One of provID or prov is required)** Your supplied state or province identifier.</td></tr><tr role="row"><td class="confluenceTd">prov</td><td class="confluenceTd">String</td><td class="confluenceTd">50-character alphanumeric including dashes

</td><td class="confluenceTd">prov</td><td class="confluenceTd">**(One of provID or prov is required)** The full name of the state/province or the corresponding postal abbreviation.</td></tr><tr role="row"><td class="confluenceTd">makeID</td><td class="confluenceTd">String</td><td class="confluenceTd">The ID of the vehicle make.

</td><td class="confluenceTd">makeID</td><td class="confluenceTd">*(Optional) Your supplied vehicle make identifier.*</td></tr><tr role="row"><td class="confluenceTd">make</td><td class="confluenceTd">String</td><td class="confluenceTd">50-character alphanumeric including dashes</td><td class="confluenceTd">make

</td><td class="confluenceTd" colspan="1">*(Optional)* The name of the vehicle manufacturer. </td></tr><tr role="row"><td class="confluenceTd">typeID</td><td class="confluenceTd">String</td><td class="confluenceTd">The ID of the vehicle type.

</td><td class="confluenceTd">typeID</td><td class="confluenceTd">*(Optional) Your supplied vehicle type identifier.*</td></tr><tr role="row"><td class="confluenceTd">type</td><td class="confluenceTd">String</td><td class="confluenceTd">50-character alphanumeric including dashes

</td><td class="confluenceTd">type</td><td class="confluenceTd">*(Optional) The name of the type of vehicle that you provided.*</td></tr><tr role="row"><td class="confluenceTd">colourID</td><td class="confluenceTd">String</td><td class="confluenceTd">The ID of the vehicle colour.</td><td class="confluenceTd">colourID</td><td class="confluenceTd">*(Optional) Your supplied vehicle colour identifier.*</td></tr><tr role="row"><td class="confluenceTd">colour

</td><td class="confluenceTd">String</td><td class="confluenceTd">50-character alphanumeric including dashes

</td><td class="confluenceTd">colour

</td><td class="confluenceTd" colspan="1">*(Optional) The name of a colour that you have provided..*

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">year</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">4 digit year.

</td><td class="confluenceTd" colspan="1">year

</td><td class="confluenceTd" colspan="1">*(Optional) The model year.*

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">vin</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">25-characters</td><td class="confluenceTd" colspan="1">vin

</td><td class="confluenceTd" colspan="1">*(Optional) The vehicle identification number.*</td></tr></tbody></table>

</div>## Successful Response

The response will be a json object.

Content-Type: application/json

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="db38aafe-8712-40c9-8a94-4303ba5151c0" data-macro-name="code" id="bkmrk-%7B-%C2%A0%C2%A0%C2%A0%C2%A0%22status%22%3A%C2%A0%22suc"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk-%7B-%C2%A0%C2%A0%C2%A0%C2%A0%22status%22%3A%C2%A0%22suc-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`{`</div><div class="line number2 index1 alt1">`    ``"status"``: ``"success"``,`</div><div class="line number3 index2 alt2">`    ``"vehicle_id_id"``: ``"158"``,`</div><div class="line number4 index3 alt1">`    ``"warnings"``:[``"The vehicle colour name was too long and has been truncated."``]`</div><div class="line number5 index4 alt2">`}`</div></div></td></tr></tbody></table>

</div></div></div></div><div class="sectionMacroRow" id="bkmrk-"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="27c0aef3-a976-47d7-8822-ce06e320ad25" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk--1"></div></div></div></div></div></div>

# Pull API: UserType

<p class="callout info"><span data-colorid="h5go72n8lk">API access is a paid feature and must be granted by OPSCOM. Email your Account Executive to negotiate access. </span></p>

The OPSCOM Controller provides a simple JSON based API to integrate with. Clients use this API to obtain a list of the current profile user types in their system.

Make sure you set the HTTP Content-Type header to be application/json.

## <span data-colorid="vqvj19pk0c">Making API Requests</span>

### Raw Request:

<div class="sectionMacroRow" id="bkmrk-post-%2Fapi%2Foc_toma%2Fv1"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="d82683ac-7548-4419-a8f9-4dd2f5a2e52e" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="e0f00b72-fb34-406b-8191-44548c0c6a03" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  text" id="bkmrk-post-%2Fapi%2Foc_toma%2Fv1-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`POST /api/OC_TOMA/v1/profiles/types/list HTTP/1.1`</div><div class="line number2 index1 alt1">`Host: controller.operationscommander.io`</div><div class="line number3 index2 alt2">`Accept: application/json`</div><div class="line number4 index3 alt1">`Content-Type: application/json`</div><div class="line number5 index4 alt2">`Cache-Control: no-cache`</div><div class="line number6 index5 alt1"> </div><div class="line number7 index6 alt2">`{`</div><div class="line number8 index7 alt1">`    ``"apiToken": "YOUR-API-TOKEN",`</div><div class="line number9 index8 alt2">`}`</div></div></td></tr></tbody></table>

</div></div></div></div></div><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column">  
</div></div>### JavaScript Request:

<div class="sectionMacroRow" id="bkmrk-var%C2%A0request-%3D%C2%A0new%C2%A0xm"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="27c0aef3-a976-47d7-8822-ce06e320ad25" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`var` `request = ``new` `XMLHttpRequest();`</div><div class="line number2 index1 alt1"> </div><div class="line number3 index2 alt2">`request.open(``'POST'``, ``'<a href="https://controller.operationscommander.io/api/OC_TOMA/v1/profiles/types/list'">https://controller.operationscommander.io/api/OC_TOMA/v1/profiles/types/list'</a>``);`</div><div class="line number4 index3 alt1"> </div><div class="line number5 index4 alt2">`request.setRequestHeader(``'Content-Type'``, ``'application/json'``);`</div><div class="line number6 index5 alt1">`request.setRequestHeader(``'Accept'``, ``'application/json'``);`</div><div class="line number7 index6 alt2"> </div><div class="line number8 index7 alt1">`request.onreadystatechange = ``function` `() {`</div><div class="line number9 index8 alt2">`  ``if` `(``this``.readyState === 4) {`</div><div class="line number10 index9 alt1">`    ``console.log(``'Status:'``, ``this``.status);`</div><div class="line number11 index10 alt2">`    ``console.log(``'Headers:'``, ``this``.getAllResponseHeaders());`</div><div class="line number12 index11 alt1">`    ``console.log(``'Body:'``, ``this``.responseText);`</div><div class="line number13 index12 alt2">`  ``}`</div><div class="line number14 index13 alt1">`};`</div><div class="line number15 index14 alt2"> </div><div class="line number16 index15 alt1"> </div><div class="line number17 index16 alt2">`var` `body = {`</div><div class="line number18 index17 alt1">`    ``"apiToken"``: ``"YOUR-API-TOKEN"`</div><div class="line number19 index18 alt2">`}`</div><div class="line number20 index19 alt1">`request.send(JSON.stringify(body));`</div></div></td></tr></tbody></table>

</div></div></div></div></div></div>## <span data-colorid="kh2a8nukoa">Request Object Attributes</span>

<div class="table-wrap" id="bkmrk-attribute-type-limit"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Attribute: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Attribute</th><th aria-disabled="false" aria-label="Type: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Type</th><th aria-disabled="false" aria-label="Limits: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0">Limits</th><th aria-disabled="false" aria-label="Possible Names: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="3" role="columnheader" scope="col" tabindex="0">Possible Names</th><th aria-disabled="false" aria-label="Description: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="4" role="columnheader" scope="col" tabindex="0">Description</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">apiToken</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes.

</td><td class="confluenceTd" colspan="1">apiToken</td><td class="confluenceTd" colspan="1">**(Required)** Your supplied API Token.</td></tr></tbody></table>

</div>## Successful Response

The response will be a json object.

Content-Type: application/json

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="db38aafe-8712-40c9-8a94-4303ba5151c0" data-macro-name="code" id="bkmrk-%7B-%C2%A0%C2%A0%C2%A0%C2%A0%22status%22%3A%C2%A0%22suc"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk-%7B-%C2%A0%C2%A0%C2%A0%C2%A0%22status%22%3A%C2%A0%22suc-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`{`</div><div class="line number2 index1 alt1">`    ``"status"``: ``"success"``,`</div><div class="line number3 index2 alt2">`    ``"user_types"``: [`</div><div class="line number4 index3 alt1">`        ``{`</div><div class="line number5 index4 alt2">`            ``"id"``: ``"1"``,`</div><div class="line number6 index5 alt1">`            ``"type_name"``: ``"Full Time Student"``,`</div><div class="line number7 index6 alt2">`            ``"ext_info"``: ``"Student"`</div><div class="line number8 index7 alt1">`        ``},`</div><div class="line number9 index8 alt2">`        ``{`</div><div class="line number10 index9 alt1">`            ``"id"``: ``"6"``,`</div><div class="line number11 index10 alt2">`            ``"type_name"``: ``"Demo"``,`</div><div class="line number12 index11 alt1">`            ``"ext_info"``: ``"Public"`</div><div class="line number13 index12 alt2">`        ``},`</div><div class="line number14 index13 alt1">`        ``{`</div><div class="line number15 index14 alt2">`            ``"id"``: ``"7"``,`</div><div class="line number16 index15 alt1">`            ``"type_name"``: ``"Full Time Staff"``,`</div><div class="line number17 index16 alt2">`            ``"ext_info"``: ``"Staff"`</div><div class="line number18 index17 alt1">`        ``},`</div><div class="line number19 index18 alt2">`        ``{`</div><div class="line number20 index19 alt1">`            ``"id"``: ``"8"``,`</div><div class="line number21 index20 alt2">`            ``"type_name"``: ``"Part Time Staff"``,`</div><div class="line number22 index21 alt1">`            ``"ext_info"``: ``"Staff"`</div><div class="line number23 index22 alt2">`        ``},`</div><div class="line number24 index23 alt1">`        ``{`</div><div class="line number25 index24 alt2">`            ``"id"``: ``"9"``,`</div><div class="line number26 index25 alt1">`            ``"type_name"``: ``"Part Time Student"``,`</div><div class="line number27 index26 alt2">`            ``"ext_info"``: ``"Student"`</div><div class="line number28 index27 alt1">`        ``},`</div><div class="line number29 index28 alt2">`        ``{`</div><div class="line number30 index29 alt1">`            ``"id"``: ``"10"``,`</div><div class="line number31 index30 alt2">`            ``"type_name"``: ``"Exchange Student"``,`</div><div class="line number32 index31 alt1">`            ``"ext_info"``: ``"Student"`</div><div class="line number33 index32 alt2">`        ``},`</div><div class="line number34 index33 alt1">`        ``{`</div><div class="line number35 index34 alt2">`            ``"id"``: ``"11"``,`</div><div class="line number36 index35 alt1">`            ``"type_name"``: ``"Athletics Member"``,`</div><div class="line number37 index36 alt2">`            ``"ext_info"``: ``"Athletics"`</div><div class="line number38 index37 alt1">`        ``},`</div><div class="line number39 index38 alt2">`        ``{`</div><div class="line number40 index39 alt1">`            ``"id"``: ``"12"``,`</div><div class="line number41 index40 alt2">`            ``"type_name"``: ``"Complimentary"``,`</div><div class="line number42 index41 alt1">`            ``"ext_info"``: ``"Public"`</div><div class="line number43 index42 alt2">`        ``},`</div><div class="line number44 index43 alt1">`        ``{`</div><div class="line number45 index44 alt2">`            ``"id"``: ``"13"``,`</div><div class="line number46 index45 alt1">`            ``"type_name"``: ``"Daily Reserved"``,`</div><div class="line number47 index46 alt2">`            ``"ext_info"``: ``"Public"`</div><div class="line number48 index47 alt1">`        ``}`</div><div class="line number49 index48 alt2">`    ``]`</div><div class="line number50 index49 alt1">`}`</div></div></td></tr></tbody></table>

</div></div></div></div><div class="sectionMacroRow" id="bkmrk-"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="27c0aef3-a976-47d7-8822-ce06e320ad25" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk--1"></div></div></div></div></div></div>

# Push API: User Create/Update

<p class="callout info"><span data-colorid="h5go72n8lk">API access is a paid feature and must be granted by OPSCOM. Email your Account Executive to negotiate access. </span></p>

The OPSCOM Controller provides a simple JSON based API to integrate with. Clients use this API to push to OPSCOM new users and update existing users directly from another system. For example, you may wish to push Student and Staff information from Banner directly to OPSCOM.

Make sure you set the HTTP Content-Type header to be application/json.

## <span data-colorid="lne83lm7yk">Making API Requests</span>

### Raw Request:

<div class="sectionMacroRow" id="bkmrk-post-%2Fapi%2Foc_toma%2Fv1"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="d82683ac-7548-4419-a8f9-4dd2f5a2e52e" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="e0f00b72-fb34-406b-8191-44548c0c6a03" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  text" id="bkmrk-post-%2Fapi%2Foc_toma%2Fv1-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`POST /api/OC_TOMA/v1/profiles/push HTTP/1.1`</div><div class="line number2 index1 alt1">`Host: controller.operationscommander.io`</div><div class="line number3 index2 alt2">`Accept: application/json`</div><div class="line number4 index3 alt1">`Content-Type: application/json`</div><div class="line number5 index4 alt2">`Cache-Control: no-cache`</div><div class="line number6 index5 alt1"> </div><div class="line number7 index6 alt2">`{`</div><div class="line number8 index7 alt1">`    ``"apiToken": "YOUR-API-TOKEN",`</div><div class="line number9 index8 alt2">`    ``"unique_id": "tester23",`</div><div class="line number10 index9 alt1">`    ``"login_source": "OPSCOM",`</div><div class="line number11 index10 alt2">`    ``"first_name":"firstname",`</div><div class="line number12 index11 alt1">`    ``"last_name":"lastname",`</div><div class="line number13 index12 alt2">`    ``"user_name":"username",`</div><div class="line number14 index13 alt1">`    ``"email":"test@test.com",`</div><div class="line number15 index14 alt2">`    ``"street":"123 Main Street, 123 Main Street,123 Main Street,123 Main Street,123 Main Street,123 Main Street",`</div><div class="line number16 index15 alt1">`    ``"city":"Everywhere",`</div><div class="line number17 index16 alt2">`    ``"province":"bc",`</div><div class="line number18 index17 alt1">`    ``"state":"NY",`</div><div class="line number19 index18 alt2">`    ``"postal_code":"HOHOHO",`</div><div class="line number20 index19 alt1">`    ``"zip":"12345-1212",`</div><div class="line number21 index20 alt2">`    ``"street2":"123 General Street",`</div><div class="line number22 index21 alt1">`    ``"city2":"Somewhere",`</div><div class="line number23 index22 alt2">`    ``"province2":"AB",`</div><div class="line number24 index23 alt1">`    ``"state2":"MA",`</div><div class="line number25 index24 alt2">`    ``"postal_code2":"A9A9A9",`</div><div class="line number26 index25 alt1">`    ``"zip2":"54321-1212",`</div><div class="line number27 index26 alt2">`    ``"phone_cell":"613-555-1212",`</div><div class="line number28 index27 alt1">`    ``"user_type_id":"6",`</div><div class="line number29 index28 alt2">`    ``"employ_no":"employee number: default",`</div><div class="line number30 index29 alt1">`    ``"employee_phone":"emp ph. klondike 555",`</div><div class="line number31 index30 alt2">`    ``"student_no":"SN 543209854",`</div><div class="line number32 index31 alt1">`    ``"student_phone":"999",`</div><div class="line number33 index32 alt2">`    ``"driver_licence_num":"QC 99999999",`</div><div class="line number34 index33 alt1">`    ``"driver_license_num":"NYNY",`</div><div class="line number35 index34 alt2">`    ``"date_of_birth":"1901-01-31",`</div><div class="line number36 index35 alt1">`    ``"locker_user_type_id":"3",`</div><div class="line number37 index36 alt2">`    ``"driver_licence_prov":"BC",`</div><div class="line number38 index37 alt1">`    ``"driver_license_state":"CA"`</div><div class="line number39 index38 alt2">`}`</div></div></td></tr></tbody></table>

</div></div></div></div></div><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column">  
</div></div>### JavaScript Request:

<div class="sectionMacroRow" id="bkmrk-var%C2%A0request-%3D%C2%A0new%C2%A0xm"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="27c0aef3-a976-47d7-8822-ce06e320ad25" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`var` `request = ``new` `XMLHttpRequest();`</div><div class="line number2 index1 alt1"> </div><div class="line number3 index2 alt2">`request.open(``'POST'``, ``'<a href="https://controller.operationscommander.io/api/OC_TOMA/v1/profiles/push'">https://controller.operationscommander.io/api/OC_TOMA/v1/profiles/push'</a>``);`</div><div class="line number4 index3 alt1"> </div><div class="line number5 index4 alt2">`request.setRequestHeader(``'Content-Type'``, ``'application/json'``);`</div><div class="line number6 index5 alt1">`request.setRequestHeader(``'Accept'``, ``'application/json'``);`</div><div class="line number7 index6 alt2"> </div><div class="line number8 index7 alt1">`request.onreadystatechange = ``function` `() {`</div><div class="line number9 index8 alt2">`  ``if` `(``this``.readyState === 4) {`</div><div class="line number10 index9 alt1">`    ``console.log(``'Status:'``, ``this``.status);`</div><div class="line number11 index10 alt2">`    ``console.log(``'Headers:'``, ``this``.getAllResponseHeaders());`</div><div class="line number12 index11 alt1">`    ``console.log(``'Body:'``, ``this``.responseText);`</div><div class="line number13 index12 alt2">`  ``}`</div><div class="line number14 index13 alt1">`};`</div><div class="line number15 index14 alt2"> </div><div class="line number16 index15 alt1"> </div><div class="line number17 index16 alt2">`var` `body = {`</div><div class="line number18 index17 alt1">`    ``"apiToken"``: ``"YOUR-API-TOKEN"``,`</div><div class="line number19 index18 alt2">`    ``"unique_id"``: ``"tester23"``,`</div><div class="line number20 index19 alt1">`    ``"login_source"``: ``"OPSCOM"``,`</div><div class="line number21 index20 alt2">`    ``"first_name"``:``"firstname"``,`</div><div class="line number22 index21 alt1">`    ``"last_name"``:``"lastname"``,`</div><div class="line number23 index22 alt2">`    ``"user_name"``:``"username"``,`</div><div class="line number24 index23 alt1">`    ``"email"``:``"test@test.com"``,`</div><div class="line number25 index24 alt2">`    ``"street"``:``"123 Main Street, 123 Main Street,123 Main Street,123 Main Street,123 Main Street,123 Main Street"``,`</div><div class="line number26 index25 alt1">`    ``"city"``:``"Everywhere"``,`</div><div class="line number27 index26 alt2">`    ``"province"``:``"bc"``,`</div><div class="line number28 index27 alt1">`    ``"state"``:``"NY"``,`</div><div class="line number29 index28 alt2">`    ``"postal_code"``:``"HOHOHO"``,`</div><div class="line number30 index29 alt1">`    ``"zip"``:``"12345-1212"``,`</div><div class="line number31 index30 alt2">`    ``"street2"``:``"123 General Street"``,`</div><div class="line number32 index31 alt1">`    ``"city2"``:``"Somewhere"``,`</div><div class="line number33 index32 alt2">`    ``"province2"``:``"AB"``,`</div><div class="line number34 index33 alt1">`    ``"state2"``:``"MA"``,`</div><div class="line number35 index34 alt2">`    ``"postal_code2"``:``"A9A9A9"``,`</div><div class="line number36 index35 alt1">`    ``"zip2"``:``"54321-1212"``,`</div><div class="line number37 index36 alt2">`    ``"phone_cell"``:``"613-555-1212"``,`</div><div class="line number38 index37 alt1">`    ``"user_type_id"``:``"6"``,`</div><div class="line number39 index38 alt2">`    ``"employ_no"``:``"employee number: default"``,`</div><div class="line number40 index39 alt1">`    ``"employee_phone"``:``"emp ph. klondike 555"``,`</div><div class="line number41 index40 alt2">`    ``"student_no"``:``"SN 543209854"``,`</div><div class="line number42 index41 alt1">`    ``"student_phone"``:``"999"``,`</div><div class="line number43 index42 alt2">`    ``"driver_licence_num"``:``"QC 99999999"``,`</div><div class="line number44 index43 alt1">`    ``"driver_license_num"``:``"NYNY"``,`</div><div class="line number45 index44 alt2">`    ``"date_of_birth"``:``"1901-01-31"``,`</div><div class="line number46 index45 alt1">`    ``"locker_user_type_id"``:``"3"``,`</div><div class="line number47 index46 alt2">`    ``"driver_licence_prov"``:``"BC"``,`</div><div class="line number48 index47 alt1">`    ``"driver_license_state"``:``"CA"`</div><div class="line number49 index48 alt2">`}`</div><div class="line number50 index49 alt1">`request.send(JSON.stringify(body));`</div></div></td></tr></tbody></table>

</div></div></div></div></div></div>## <span data-colorid="kp9sgq3xbs">Request Object Attributes</span>

<div class="table-wrap" id="bkmrk-attribute-type-limit"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Attribute: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Attribute</th><th aria-disabled="false" aria-label="Type: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Type</th><th aria-disabled="false" aria-label="Limits: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0">Limits</th><th aria-disabled="false" aria-label="Possible Names: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="3" role="columnheader" scope="col" tabindex="0">Possible Names</th><th aria-disabled="false" aria-label="Description: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="4" role="columnheader" scope="col" tabindex="0">Description</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">apiToken</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes.

</td><td class="confluenceTd" colspan="1">apiToken</td><td class="confluenceTd" colspan="1">**(Required)** Your supplied API Token.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Unique ID</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes.</td><td class="confluenceTd" colspan="1">unique\_id</td><td class="confluenceTd" colspan="1">**(Required)** An unique identification number of the user.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Login Source</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">20-character alphanumeric including dashes.</td><td class="confluenceTd" colspan="1">login\_source</td><td class="confluenceTd" colspan="1">**(Required)** Your supplied login source.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">First Name</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes.</td><td class="confluenceTd" colspan="1">first\_name</td><td class="confluenceTd" colspan="1">*(Optional)*<span class="legacy-color-text-blue3"> User's first name.</span></td></tr><tr role="row"><td class="confluenceTd" colspan="1">Last Name</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes.</td><td class="confluenceTd" colspan="1">last\_name</td><td class="confluenceTd" colspan="1">*(Optional)*<span class="legacy-color-text-blue3"> User's last name.</span></td></tr><tr role="row"><td class="confluenceTd" colspan="1">User Name</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes.</td><td class="confluenceTd" colspan="1">user\_name</td><td class="confluenceTd" colspan="1">*(Optional)*<span class="legacy-color-text-blue3"> Unique username.</span></td></tr><tr role="row"><td class="confluenceTd" colspan="1">Email</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">100-character alphanumeric including dashes.</td><td class="confluenceTd" colspan="1">email</td><td class="confluenceTd" colspan="1">*(Optional)*<span class="legacy-color-text-blue3"> Valid email address .</span></td></tr><tr role="row"><td class="confluenceTd" colspan="1">Street - address 1</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">street</td><td class="confluenceTd" colspan="1">*(Optional) User's primary street number and name.*</td></tr><tr role="row"><td class="confluenceTd" colspan="1">City - address 1</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes.</td><td class="confluenceTd" colspan="1">city</td><td class="confluenceTd" colspan="1">*(Optional) User's primary city name.*</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Province - address 1</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">2-character postal abbreviation eg. "MA"</td><td class="confluenceTd" colspan="1">province,

state

</td><td class="confluenceTd" colspan="1">*(Optional) User's primary province or state.*</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Postal Code - address 1</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">20-character alphanumeric including dashes.</td><td class="confluenceTd" colspan="1">postal\_code,

zip

</td><td class="confluenceTd" colspan="1">*(Optional) User's primary postal code or zip.*</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Street - address 2</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">20-character alphanumeric including dashes.</td><td class="confluenceTd" colspan="1">street2</td><td class="confluenceTd" colspan="1">*(Optional) User's alternate street number and name.*</td></tr><tr role="row"><td class="confluenceTd" colspan="1">City - address 2</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes.</td><td class="confluenceTd" colspan="1">city2</td><td class="confluenceTd" colspan="1">*(Optional) User's alternate city name.*</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Province - address 2</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">2-character postal abbreviation eg. "MA"</td><td class="confluenceTd" colspan="1">province2,

state2

</td><td class="confluenceTd" colspan="1">*(Optional) User's alternate province or state.*</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Postal\_Code - address 2</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">20-character alphanumeric including dashes.</td><td class="confluenceTd" colspan="1">postal\_code2,

zip2

</td><td class="confluenceTd" colspan="1">*(Optional) User's alternate postal code or zip.*</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Cell phone number</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">20-character alphanumeric including dashes.</td><td class="confluenceTd" colspan="1">phone\_cell</td><td class="confluenceTd" colspan="1">*(Optional) User's cell phone number*</td></tr><tr role="row"><td class="confluenceTd" colspan="1">User Type ID</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">Id number of UserType</td><td class="confluenceTd" colspan="1">user\_type\_id</td><td class="confluenceTd" colspan="1">*(Optional) A reference number to the type of user.*</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Employee Number</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes.</td><td class="confluenceTd" colspan="1">employ\_no</td><td class="confluenceTd" colspan="1">*(Optional) User's employee number.* </td></tr><tr role="row"><td class="confluenceTd" colspan="1">Employee phone number</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes.</td><td class="confluenceTd" colspan="1">employee\_phone</td><td class="confluenceTd" colspan="1">*(Optional) User's employee phone number.*</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Student number</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes.</td><td class="confluenceTd" colspan="1">student\_no</td><td class="confluenceTd" colspan="1">*(Optional) User's student number.*</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Student phone number</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes.</td><td class="confluenceTd" colspan="1">student\_phone</td><td class="confluenceTd" colspan="1">*(Optional) User's student phone number.*</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Driver licence number</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">255-character alphanumeric including dashes.</td><td class="confluenceTd" colspan="1">driver\_licence\_num,

driver\_license\_num

</td><td class="confluenceTd" colspan="1">*(Optional) User's driver's licence number or driver's license number.*</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Date of Birth</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">10-character date in format 'yyyy-mm-dd'</td><td class="confluenceTd" colspan="1">date\_of\_birth</td><td class="confluenceTd" colspan="1">*(Optional) User's date of birth in format "YYYY-MM-DD.*</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Locker User Type ID</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">Id number of LockerUserType</td><td class="confluenceTd" colspan="1">locker\_user\_type\_id</td><td class="confluenceTd" colspan="1">*(Optional) A reference the the user's locker type id of the user.*</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Driver's licence province</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">2-character postal abbreviation eg. "MA"</td><td class="confluenceTd" colspan="1">driver\_licence\_prov,

driver\_license\_state

</td><td class="confluenceTd" colspan="1">*(Optional) The province or state of the user's driver's licence.*</td></tr></tbody></table>

</div>## Successful Response

The response will be a json object.

Content-Type: application/json

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="db38aafe-8712-40c9-8a94-4303ba5151c0" data-macro-name="code" id="bkmrk-%7B-%C2%A0%C2%A0%C2%A0%C2%A0%22status%22%3A%C2%A0%22suc"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk-%7B-%C2%A0%C2%A0%C2%A0%C2%A0%22status%22%3A%C2%A0%22suc-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`{`</div><div class="line number2 index1 alt1">`    ``"status"``: ``"success"``,`</div><div class="line number3 index2 alt2">`    ``"reference_id"``: 44`</div><div class="line number4 index3 alt1">`}`</div></div></td></tr></tbody></table>

</div></div></div></div><div class="sectionMacroRow" id="bkmrk-"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="27c0aef3-a976-47d7-8822-ce06e320ad25" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk--1"></div></div></div></div></div></div>

# Pull API: Overdue Violations

<p class="callout info"><span data-colorid="h5go72n8lk">API access is a paid feature and must be granted by OPSCOM. Email your Account Executive to negotiate access. </span></p>

<span data-colorid="b5ogtvsrsw">The OPSCOM Controller provides a simple JSON based API to integrate with.</span>

<span data-colorid="cb4gq1fp9q">Clients use this API to export a list of the currently overdue violations, which are then marked as having been sent to collections.</span>

<span data-colorid="cb4gq1fp9q">Make sure you set the HTTP Content-Type header to be application/json.</span>

# Information

When accessed, this API will send all overdue violations that have not been sent to collections yet in a JSON object. It will also mark them as having been sent to collections, so subsequent calls to the API will not get the same information more than once.

This is a POST request. Data is being posted to the server.

<span class="legacy-color-text-blue4">**POST**</span> **/api/<span class="legacy-color-text-gray2">{client}</span>/v1/violations/send\_overdue\_to\_collections**

**Sample Request - All Params**

/api/OC\_TOMA/v1/violations/send\_overdue\_to\_collections

# <span data-colorid="h5pt40ksa6">Making API Requests</span>

### Raw Request:

<div class="sectionMacroRow" id="bkmrk-post-%2Fapi%2Foc_toma%2Fv1"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="d82683ac-7548-4419-a8f9-4dd2f5a2e52e" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="e0f00b72-fb34-406b-8191-44548c0c6a03" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  text" id="bkmrk-post-%2Fapi%2Foc_toma%2Fv1-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`POST /api/OC_TOMA/v1/violations/send_overdue_to_collections HTTP/1.1`</div><div class="line number2 index1 alt1">`Host: controller.operationscommander.io`</div><div class="line number3 index2 alt2">`Accept: application/json`</div><div class="line number4 index3 alt1">`Content-Type: application/json`</div><div class="line number5 index4 alt2">`Cache-Control: no-cache`</div><div class="line number6 index5 alt1"> </div><div class="line number7 index6 alt2">`{`</div><div class="line number8 index7 alt1">`    ``"apiToken": "YOUR-API-TOKEN",`</div><div class="line number9 index8 alt2">`}`</div></div></td></tr></tbody></table>

</div></div></div></div></div><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column">  
</div></div>### JavaScript Request:

<div class="sectionMacroRow" id="bkmrk-var%C2%A0request-%3D%C2%A0new%C2%A0xm"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="27c0aef3-a976-47d7-8822-ce06e320ad25" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`var` `request = ``new` `XMLHttpRequest();`</div><div class="line number2 index1 alt1"> </div><div class="line number3 index2 alt2">`request.open(``'POST'``, ``'<a href="https://controller.operationscommander.io/api/OC_TOMA/v1/violations/send_overdue_to_collections'">https://controller.operationscommander.io/api/OC_TOMA/v1/violations/send_overdue_to_collections'</a>``);`</div><div class="line number4 index3 alt1"> </div><div class="line number5 index4 alt2">`request.setRequestHeader(``'Content-Type'``, ``'application/json'``);`</div><div class="line number6 index5 alt1">`request.setRequestHeader(``'Accept'``, ``'application/json'``);`</div><div class="line number7 index6 alt2"> </div><div class="line number8 index7 alt1">`request.onreadystatechange = ``function` `() {`</div><div class="line number9 index8 alt2">`  ``if` `(``this``.readyState === 4) {`</div><div class="line number10 index9 alt1">`    ``console.log(``'Status:'``, ``this``.status);`</div><div class="line number11 index10 alt2">`    ``console.log(``'Headers:'``, ``this``.getAllResponseHeaders());`</div><div class="line number12 index11 alt1">`    ``console.log(``'Body:'``, ``this``.responseText);`</div><div class="line number13 index12 alt2">`  ``}`</div><div class="line number14 index13 alt1">`};`</div><div class="line number15 index14 alt2"> </div><div class="line number16 index15 alt1"> </div><div class="line number17 index16 alt2">`var` `body = {`</div><div class="line number18 index17 alt1">`    ``"apiToken"``: ``"YOUR-API-TOKEN"`</div><div class="line number19 index18 alt2">`}`</div><div class="line number20 index19 alt1">`request.send(JSON.stringify(body));`</div></div></td></tr></tbody></table>

</div></div></div></div></div></div># Request Object Attributes

<div class="table-wrap" id="bkmrk-attribute-type-limit"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Attribute: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Attribute</th><th aria-disabled="false" aria-label="Type: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Type</th><th aria-disabled="false" aria-label="Limits: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0">Limits</th><th aria-disabled="false" aria-label="Possible Names: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="3" role="columnheader" scope="col" tabindex="0">Possible Names</th><th aria-disabled="false" aria-label="Description: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="4" role="columnheader" scope="col" tabindex="0">Description</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">apiToken</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes.

</td><td class="confluenceTd" colspan="1">apiToken</td><td class="confluenceTd" colspan="1">**(Required)** Your supplied API Token.</td></tr></tbody></table>

</div># Successful Response

The response will be a JSON object.

Content-Type: application/json

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="db38aafe-8712-40c9-8a94-4303ba5151c0" data-macro-name="code" id="bkmrk-%7B-%C2%A0%C2%A0%22records%22%3A-%5B-%C2%A0%C2%A0%C2%A0"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk-%7B-%C2%A0%C2%A0%22records%22%3A-%5B-%C2%A0%C2%A0%C2%A0-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`{`</div><div class="line number2 index1 alt1">`  ``"records"``: [`</div><div class="line number3 index2 alt2">`    ``{`</div><div class="line number4 index3 alt1">`      ``"ViolationID"``: 9,`</div><div class="line number5 index4 alt2">`      ``"SemPermitID"``: 0,`</div><div class="line number6 index5 alt1">`      ``"Ticket"``: ``"1-100013"``,`</div><div class="line number7 index6 alt2">`      ``"VehicleID"``: 8,`</div><div class="line number8 index7 alt1">`      ``"Spoiled"``: 0,`</div><div class="line number9 index8 alt2">`      ``"TicketType"``: 2,`</div><div class="line number10 index9 alt1">`      ``"Issued"``: ``"2016-05-03T20:00:00.000000Z"``,`</div><div class="line number11 index10 alt2">`      ``"convNotice"``: ``null``,`</div><div class="line number12 index11 alt1">`      ``"Due"``: ``"2016-05-23T20:00:00.000000Z"``,`</div><div class="line number13 index12 alt2">`      ``"ViolationTypeID"``: -1,`</div><div class="line number14 index13 alt1">`      ``"Fine"``: 50,`</div><div class="line number15 index14 alt2">`      ``"AdjustedFine"``: 0,`</div><div class="line number16 index15 alt1">`      ``"Towing"``: 0,`</div><div class="line number17 index16 alt2">`      ``"taxAmount"``: ``"0.0000"``,`</div><div class="line number18 index17 alt1">`      ``"Writer"``: 8,`</div><div class="line number19 index18 alt2">`      ``"LocationID"``: 6,`</div><div class="line number20 index19 alt1">`      ``"Comment"``: ``null``,`</div><div class="line number21 index20 alt2">`      ``"TicketAppeal"``: ``null``,`</div><div class="line number22 index21 alt1">`      ``"appealType"``: 0,`</div><div class="line number23 index22 alt2">`      ``"appealFormat"``: ``null``,`</div><div class="line number24 index23 alt1">`      ``"AccessAdminID"``: 7,`</div><div class="line number25 index24 alt2">`      ``"ActionedPer"``: ``null``,`</div><div class="line number26 index25 alt1">`      ``"Created"``: ``"2020-10-15T20:13:24.000000Z"``,`</div><div class="line number27 index26 alt2">`      ``"AppealUserID"``: 0,`</div><div class="line number28 index27 alt1">`      ``"AppealProcessDate"``: ``null``,`</div><div class="line number29 index28 alt2">`      ``"AppealAdminID"``: 0,`</div><div class="line number30 index29 alt1">`      ``"AppealComment"``: ``null``,`</div><div class="line number31 index30 alt2">`      ``"AppealAdminComment"``: ``null``,`</div><div class="line number32 index31 alt1">`      ``"AutoNotice"``: 2,`</div><div class="line number33 index32 alt2">`      ``"ProcessedByCollection"``: ``null``,`</div><div class="line number34 index33 alt1">`      ``"SentToCollections"``: ``null``,`</div><div class="line number35 index34 alt2">`      ``"PrivateComments"``: ``null``,`</div><div class="line number36 index35 alt1">`      ``"DriveAway"``: 0,`</div><div class="line number37 index36 alt2">`      ``"UUID"``: ``"d9a1c8bb-4ed1-411e-91b1-0b63ba52e04d"``,`</div><div class="line number38 index37 alt1">`      ``"VioNotice"``: ``null``,`</div><div class="line number39 index38 alt2">`      ``"latitude"``: ``null``,`</div><div class="line number40 index39 alt1">`      ``"longitude"``: ``null``,`</div><div class="line number41 index40 alt2">`      ``"Warning"``: ``null``,`</div><div class="line number42 index41 alt1">`      ``"userid"``: ``null``,`</div><div class="line number43 index42 alt2">`      ``"incidentID"``: ``null``,`</div><div class="line number44 index43 alt1">`      ``"failToIdentify"``: ``null``,`</div><div class="line number45 index44 alt2">`      ``"pin"``: ``null``,`</div><div class="line number46 index45 alt1">`      ``"duplicate"``: ``null``,`</div><div class="line number47 index46 alt2">`      ``"AdjustmentReason"``: ``null``,`</div><div class="line number48 index47 alt1">`      ``"user"``: ``null``,`</div><div class="line number49 index48 alt2">`      ``"vehicle"``: {`</div><div class="line number50 index49 alt1">`        ``"VehicleID"``: 8,`</div><div class="line number51 index50 alt2">`        ``"Active"``: 1,`</div><div class="line number52 index51 alt1">`        ``"lastUpdate"``: ``"2020-10-15T20:13:03.000000Z"``,`</div><div class="line number53 index52 alt2">`        ``"Plate"``: ``"AJNR123"``,`</div><div class="line number54 index53 alt1">`        ``"PlateTypeID"``: 4,`</div><div class="line number55 index54 alt2">`        ``"ProvID"``: 9,`</div><div class="line number56 index55 alt1">`        ``"MakeID"``: 13,`</div><div class="line number57 index56 alt2">`        ``"TypeID"``: 5,`</div><div class="line number58 index57 alt1">`        ``"ColourID"``: 14,`</div><div class="line number59 index58 alt2">`        ``"Year"``: 2006,`</div><div class="line number60 index59 alt1">`        ``"TotalVio"``: 0,`</div><div class="line number61 index60 alt2">`        ``"TotalUnpaid"``: 0,`</div><div class="line number62 index61 alt1">`        ``"TotalWarning"``: 0,`</div><div class="line number63 index62 alt2">`        ``"created"``: ``"2020-10-15T20:13:03.000000Z"``,`</div><div class="line number64 index63 alt1">`        ``"externallookupdate"``: ``null``,`</div><div class="line number65 index64 alt2">`        ``"externallookupRequestID"``: ``null``,`</div><div class="line number66 index65 alt1">`        ``"modified"``: ``"2022-03-16T21:36:09.000000Z"``,`</div><div class="line number67 index66 alt2">`        ``"vehicleAlert"``: ``null``,`</div><div class="line number68 index67 alt1">`        ``"vin"``: ``null``,`</div><div class="line number69 index68 alt2">`        ``"drivers"``: [`</div><div class="line number70 index69 alt1">`          ``{`</div><div class="line number71 index70 alt2">`            ``"UserID"``: 73,`</div><div class="line number72 index71 alt1">`            ``"enabled"``: ``null``,`</div><div class="line number73 index72 alt2">`            ``"salutation"``: ``"Dr."``,`</div><div class="line number74 index73 alt1">`            ``"firstName"``: ``"stephen_14Oct_1114"``,`</div><div class="line number75 index74 alt2">`            ``"middleName"``: ``null``,`</div><div class="line number76 index75 alt1">`            ``"lastName"``: ``"stephen_14Oct_1114"``,`</div><div class="line number77 index76 alt2">`            ``"username"``: ``"stephen_14Oct_1114"``,`</div><div class="line number78 index77 alt1">`            ``"email"``: ``"stephen_14Oct_1114@test"``,`</div><div class="line number79 index78 alt2">`            ``"street"``: ``"1234 Main Street"``,`</div><div class="line number80 index79 alt1">`            ``"city"``: ``"Ottawa"``,`</div><div class="line number81 index80 alt2">`            ``"prov"``: 9,`</div><div class="line number82 index81 alt1">`            ``"postal"``: ``"H0H0H0"``,`</div><div class="line number83 index82 alt2">`            ``"street2"``: ``null``,`</div><div class="line number84 index83 alt1">`            ``"city2"``: ``null``,`</div><div class="line number85 index84 alt2">`            ``"prov2"``: ``null``,`</div><div class="line number86 index85 alt1">`            ``"postal2"``: ``null``,`</div><div class="line number87 index86 alt2">`            ``"phonecell"``: ``"6135551212"``,`</div><div class="line number88 index87 alt1">`            ``"status"``: 1,`</div><div class="line number89 index88 alt2">`            ``"UserTypeID"``: 7,`</div><div class="line number90 index89 alt1">`            ``"employNo"``: ``"staff12341115"``,`</div><div class="line number91 index90 alt2">`            ``"deptNameID"``: ``null``,`</div><div class="line number92 index91 alt1">`            ``"ePhone"``: ``null``,`</div><div class="line number93 index92 alt2">`            ``"staffFacultyFlag"``: 0,`</div><div class="line number94 index93 alt1">`            ``"studentNo"``: ``null``,`</div><div class="line number95 index94 alt2">`            ``"sPhone"``: ``null``,`</div><div class="line number96 index95 alt1">`            ``"sPhone2"``: ``null``,`</div><div class="line number97 index96 alt2">`            ``"lastUpdated"``: ``"2022-08-29T21:31:12.000000Z"``,`</div><div class="line number98 index97 alt1">`            ``"created"``: ``"2020-10-15T20:12:57.000000Z"``,`</div><div class="line number99 index98 alt2">`            ``"privateComment"``: ``null``,`</div><div class="line number100 index99 alt1">`            ``"publicComment"``: ``null``,`</div><div class="line number101 index100 alt2">`            ``"DLNum"``: ``"DL 123451114"``,`</div><div class="line number102 index101 alt1">`            ``"DOB"``: ``"2020-10-14T04:00:00.000000Z"``,`</div><div class="line number103 index102 alt2">`            ``"StaffMailPermit"``: 0,`</div><div class="line number104 index103 alt1">`            ``"ExtendedID"``: ``null``,`</div><div class="line number105 index104 alt2">`            ``"UserUUID"``: ``"42c5d253-2f06-4ab6-9090-969333c25da6"``,`</div><div class="line number106 index105 alt1">`            ``"CampusBox"``: ``null``,`</div><div class="line number107 index106 alt2">`            ``"newEmail"``: ``null``,`</div><div class="line number108 index107 alt1">`            ``"ReadOnlyUserID"``: ``null``,`</div><div class="line number109 index108 alt2">`            ``"studentNo_int"``: ``null``,`</div><div class="line number110 index109 alt1">`            ``"employNo_int"``: ``null``,`</div><div class="line number111 index110 alt2">`            ``"StuCampusLocation"``: ``null``,`</div><div class="line number112 index111 alt1">`            ``"EmpCampusLocation"``: ``null``,`</div><div class="line number113 index112 alt2">`            ``"MailPermitTo"``: ``"Permanent Mailing Address"``,`</div><div class="line number114 index113 alt1">`            ``"isCloudAccount"``: ``null``,`</div><div class="line number115 index114 alt2">`            ``"lastSelfUpdated"``: ``null``,`</div><div class="line number116 index115 alt1">`            ``"emailConsent"``: ``null``,`</div><div class="line number117 index116 alt2">`            ``"T2P_reminders"``: ``null``,`</div><div class="line number118 index117 alt1">`            ``"reminderTime"``: ``null``,`</div><div class="line number119 index118 alt2">`            ``"lockerUserTypeID"``: ``null``,`</div><div class="line number120 index119 alt1">`            ``"encid"``: ``"A063AA9AC458DA5581FC777ADC9875FF"``,`</div><div class="line number121 index120 alt2">`            ``"preferredname"``: ``null``,`</div><div class="line number122 index121 alt1">`            ``"plateAlert"``: 0,`</div><div class="line number123 index122 alt2">`            ``"peopleAlert"``: 0,`</div><div class="line number124 index123 alt1">`            ``"salt"``: ``"85cf3dbb-54de-48e3-a2d1-0b312dd4cea8"``,`</div><div class="line number125 index124 alt2">`            ``"forcePasswordChange"``: 1,`</div><div class="line number126 index125 alt1">`            ``"lastpasswordchange"``: ``null``,`</div><div class="line number127 index126 alt2">`            ``"DLprov"``: 66,`</div><div class="line number128 index127 alt1">`            ``"loginSource"``: ``"OPSCOM"``,`</div><div class="line number129 index128 alt2">`            ``"company_id"``: ``null``,`</div><div class="line number130 index129 alt1">`            ``"taxexemption"``: ``null``,`</div><div class="line number131 index130 alt2">`            ``"company_manager"``: ``null``,`</div><div class="line number132 index131 alt1">`            ``"receives_invoice"``: ``null``,`</div><div class="line number133 index132 alt2">`            ``"account_number"``: ``null``,`</div><div class="line number134 index133 alt1">`            ``"company_bill_recipient"``: ``null``,`</div><div class="line number135 index134 alt2">`            ``"kais_employer"``: ``null``,`</div><div class="line number136 index135 alt1">`            ``"kais_building"``: ``null``,`</div><div class="line number137 index136 alt2">`            ``"kais_supervisor_name"``: ``null``,`</div><div class="line number138 index137 alt1">`            ``"kais_supervisor_title"``: ``null``,`</div><div class="line number139 index138 alt2">`            ``"register_token"``: ``null``,`</div><div class="line number140 index139 alt1">`            ``"api_token"``: ``null``,`</div><div class="line number141 index140 alt2">`            ``"modified"``: ``"2022-08-29T21:36:24.000000Z"``,`</div><div class="line number142 index141 alt1">`            ``"bambora_customer_code"``: ``null``,`</div><div class="line number143 index142 alt2">`            ``"language"``: ``"fr"``,`</div><div class="line number144 index143 alt1">`            ``"preferred_communication_method"``: ``null``,`</div><div class="line number145 index144 alt2">`            ``"laravel_through_key"``: 8`</div><div class="line number146 index145 alt1">`          ``}`</div><div class="line number147 index146 alt2">`        ``],`</div><div class="line number148 index147 alt1">`        ``"make"``: {`</div><div class="line number149 index148 alt2">`          ``"MakeID"``: 13,`</div><div class="line number150 index149 alt1">`          ``"MakeName"``: ``"Chevrolet"``,`</div><div class="line number151 index150 alt2">`          ``"modified"``: ``"2020-10-15T20:13:11.000000Z"`</div><div class="line number152 index151 alt1">`        ``},`</div><div class="line number153 index152 alt2">`        ``"colour"``: {`</div><div class="line number154 index153 alt1">`          ``"ColourID"``: 14,`</div><div class="line number155 index154 alt2">`          ``"ColourName"``: ``"Red"``,`</div><div class="line number156 index155 alt1">`          ``"ColourKey"``: ``null``,`</div><div class="line number157 index156 alt2">`          ``"modified"``: ``"2020-10-15T20:13:08.000000Z"`</div><div class="line number158 index157 alt1">`        ``},`</div><div class="line number159 index158 alt2">`        ``"vehicle_type"``: {`</div><div class="line number160 index159 alt1">`          ``"TypeID"``: 5,`</div><div class="line number161 index160 alt2">`          ``"TypeName"``: ``"Compact"``,`</div><div class="line number162 index161 alt1">`          ``"modified"``: ``"2020-10-15T20:13:13.000000Z"`</div><div class="line number163 index162 alt2">`        ``},`</div><div class="line number164 index163 alt1">`        ``"plate_type"``: {`</div><div class="line number165 index164 alt2">`          ``"TypeID"``: 4,`</div><div class="line number166 index165 alt1">`          ``"TypeName"``: ``"Passenger"``,`</div><div class="line number167 index166 alt2">`          ``"modified"``: ``"2022-04-15T20:58:56.000000Z"``,`</div><div class="line number168 index167 alt1">`          ``"typeCode"``: ``"passenger"`</div><div class="line number169 index168 alt2">`        ``},`</div><div class="line number170 index169 alt1">`        ``"province"``: {`</div><div class="line number171 index170 alt2">`          ``"ProvID"``: 9,`</div><div class="line number172 index171 alt1">`          ``"ProvName"``: ``"Ontario"``,`</div><div class="line number173 index172 alt2">`          ``"Country"``: 1,`</div><div class="line number174 index173 alt1">`          ``"ProvCode"``: ``"ON"``,`</div><div class="line number175 index174 alt2">`          ``"modified"``: ``"2022-08-30T21:54:10.000000Z"``,`</div><div class="line number176 index175 alt1">`          ``"payments"``: 1`</div><div class="line number177 index176 alt2">`        ``}`</div><div class="line number178 index177 alt1">`      ``},`</div><div class="line number179 index178 alt2">`      ``"location"``: {`</div><div class="line number180 index179 alt1">`        ``"LocationID"``: 6,`</div><div class="line number181 index180 alt2">`        ``"LocationName"``: ``"Downtown Business District"``,`</div><div class="line number182 index181 alt1">`        ``"WriterVisible"``: 1,`</div><div class="line number183 index182 alt2">`        ``"GisNo"``: 0,`</div><div class="line number184 index183 alt1">`        ``"modified"``: ``"2020-10-15T20:04:19.000000Z"`</div><div class="line number185 index184 alt2">`      ``},`</div><div class="line number186 index185 alt1">`      ``"details"``: [`</div><div class="line number187 index186 alt2">`        ``{`</div><div class="line number188 index187 alt1">`          ``"ViolationsDetailID"``: 10,`</div><div class="line number189 index188 alt2">`          ``"ViolationID"``: 9,`</div><div class="line number190 index189 alt1">`          ``"Ticket"``: ``"1-100013"``,`</div><div class="line number191 index190 alt2">`          ``"ViolationTypeID"``: 9,`</div><div class="line number192 index191 alt1">`          ``"LocationID"``: 6,`</div><div class="line number193 index192 alt2">`          ``"offenceFine"``: 50,`</div><div class="line number194 index193 alt1">`          ``"discountFlag"``: 1,`</div><div class="line number195 index194 alt2">`          ``"discountAmount"``: 10,`</div><div class="line number196 index195 alt1">`          ``"discountHours"``: 168,`</div><div class="line number197 index196 alt2">`          ``"created"``: ``"2020-10-15T20:13:33.000000Z"``,`</div><div class="line number198 index197 alt1">`          ``"type"``: {`</div><div class="line number199 index198 alt2">`            ``"ViolationTypeID"``: 9,`</div><div class="line number200 index199 alt1">`            ``"ViolationDescr"``: ``"Parked in Loading Zone"``,`</div><div class="line number201 index200 alt2">`            ``"DefaultCost"``: 50,`</div><div class="line number202 index201 alt1">`            ``"created"``: ``"2020-10-15T20:13:41.000000Z"``,`</div><div class="line number203 index202 alt2">`            ``"discountFlag"``: ``true``,`</div><div class="line number204 index203 alt1">`            ``"discountAmount"``: 10,`</div><div class="line number205 index204 alt2">`            ``"discountHours"``: 168,`</div><div class="line number206 index205 alt1">`            ``"adminOnly"``: ``false``,`</div><div class="line number207 index206 alt2">`            ``"violationkey"``: ``null``,`</div><div class="line number208 index207 alt1">`            ``"modified"``: ``"2020-10-15T20:13:41.000000Z"``,`</div><div class="line number209 index208 alt2">`            ``"category_id"``: 1,`</div><div class="line number210 index209 alt1">`            ``"adjustable"``: ``false``,`</div><div class="line number211 index210 alt2">`            ``"bylawcode"``: ``"BL-78"`</div><div class="line number212 index211 alt1">`          ``}`</div><div class="line number213 index212 alt2">`        ``}`</div><div class="line number214 index213 alt1">`      ``],`</div><div class="line number215 index214 alt2">`      ``"attachments"``: [`</div><div class="line number216 index215 alt1">`        ``{`</div><div class="line number217 index216 alt2">`          ``"attachID"``: 1,`</div><div class="line number218 index217 alt1">`          ``"storageLocation"``: ``"oc_tomahawk/VIOLATIONS/2022/08/23/index-debf76b6.png"``,`</div><div class="line number219 index218 alt2">`          ``"attachName"``: ``"index-debf76b6"``,`</div><div class="line number220 index219 alt1">`          ``"attachExt"``: ``"png"``,`</div><div class="line number221 index220 alt2">`          ``"attachMime"``: ``"image/png"``,`</div><div class="line number222 index221 alt1">`          ``"relatedType"``: ``"VIOLATIONS"``,`</div><div class="line number223 index222 alt2">`          ``"relatedID"``: 9,`</div><div class="line number224 index223 alt1">`          ``"relatedNote"``: ``"1-100013"``,`</div><div class="line number225 index224 alt2">`          ``"created"``: ``"2022-08-23T18:48:36.000000Z"``,`</div><div class="line number226 index225 alt1">`          ``"archived"``: ``null``,`</div><div class="line number227 index226 alt2">`          ``"uniqueid"``: ``"70756a09-550e-433d-b6f4-75b0bfdcef60"`</div><div class="line number228 index227 alt1">`        ``},`</div><div class="line number229 index228 alt2">`        ``{`</div><div class="line number230 index229 alt1">`          ``"attachID"``: 2,`</div><div class="line number231 index230 alt2">`          ``"storageLocation"``: ``"oc_tomahawk/VIOLATIONS/2022/08/23/index-b11529e8.png"``,`</div><div class="line number232 index231 alt1">`          ``"attachName"``: ``"index-b11529e8"``,`</div><div class="line number233 index232 alt2">`          ``"attachExt"``: ``"png"``,`</div><div class="line number234 index233 alt1">`          ``"attachMime"``: ``"image/png"``,`</div><div class="line number235 index234 alt2">`          ``"relatedType"``: ``"VIOLATIONS"``,`</div><div class="line number236 index235 alt1">`          ``"relatedID"``: 9,`</div><div class="line number237 index236 alt2">`          ``"relatedNote"``: ``"1-100013"``,`</div><div class="line number238 index237 alt1">`          ``"created"``: ``"2022-08-23T20:55:23.000000Z"``,`</div><div class="line number239 index238 alt2">`          ``"archived"``: ``null``,`</div><div class="line number240 index239 alt1">`          ``"uniqueid"``: ``"079541cf-302e-4c42-a2cf-38665643d364"`</div><div class="line number241 index240 alt2">`        ``}`</div><div class="line number242 index241 alt1">`      ``],`</div><div class="line number243 index242 alt2">`      ``"category"``: {`</div><div class="line number244 index243 alt1">`        ``"TicketTypeID"``: 2,`</div><div class="line number245 index244 alt2">`        ``"TicketTypeName"``: ``"Municipal"``,`</div><div class="line number246 index245 alt1">`        ``"HandHeldVisible"``: 0,`</div><div class="line number247 index246 alt2">`        ``"modified"``: ``"2020-10-15T20:12:51.000000Z"``,`</div><div class="line number248 index247 alt1">`        ``"archived"``: ``null``,`</div><div class="line number249 index248 alt2">`        ``"appliesTo"``: 1,`</div><div class="line number250 index249 alt1">`        ``"enableFailToIdentify"``: 0`</div><div class="line number251 index250 alt2">`      ``}`</div><div class="line number252 index251 alt1">`    ``}`</div><div class="line number253 index252 alt2">`  ``],`</div><div class="line number254 index253 alt1">`  ``"state"``: {`</div><div class="line number255 index254 alt2">`    ``"version"``: ``"2022.5.hawksbill.0-rc"``,`</div><div class="line number256 index255 alt1">`    ``"csrf_token"``: ``"xSc9UppEG8iMXFu606Z6sfemODRyHuoyvKYT0vs6"`</div><div class="line number257 index256 alt2">`  ``}`</div><div class="line number258 index257 alt1">`}`</div></div></td></tr></tbody></table>

</div></div></div></div><div class="sectionMacroRow" id="bkmrk-"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="27c0aef3-a976-47d7-8822-ce06e320ad25" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk--1"></div></div></div></div></div></div>

# Pull API: Plate Validation

<p class="callout info"><span data-colorid="jxyfufcemk"><span data-colorid="h5go72n8lk">API access is a paid feature and must be granted by OPSCOM. Email your Account Executive to negotiate access. </span></span></p>

<span data-colorid="jxyfufcemk">Use this API to obtain details related to a plate. Plate details include permits, alerts and DNTT status.</span>

Make sure you set the HTTP Content-Type header to be application/json.

## <span data-colorid="cnoyzmmqf2">Making API Requests</span>

### Raw Request

<div class="columnLayout single" data-layout="single" id="bkmrk-post-%2Fapi%2Fv1%2Fvalidat"><div class="cell normal" data-type="normal"><div class="innerCell"><div class="sectionColumnWrapper conf-macro output-block" data-hasbody="true" data-macro-id="d503d80b-2e42-4b16-9900-62109b8a9ac4" data-macro-name="section"><div class="sectionMacroWithBorder"><div class="sectionMacroRow"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="d82683ac-7548-4419-a8f9-4dd2f5a2e52e" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="e0f00b72-fb34-406b-8191-44548c0c6a03" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  text" id="bkmrk-post-%2Fapi%2Fv1%2Fvalidat-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`POST /api/v1/validate/plate HTTP/1.1`</div><div class="line number2 index1 alt1">`Host: service.OPSCOM.com`</div><div class="line number3 index2 alt2">`Accept: application/json`</div><div class="line number4 index3 alt1">`Content-Type: application/json`</div><div class="line number5 index4 alt2">`Cache-Control: no-cache`</div><div class="line number6 index5 alt1"> </div><div class="line number7 index6 alt2">`{`</div><div class="line number8 index7 alt1">`    ``"api_token": "YOUR-API-TOKEN",`</div><div class="line number9 index8 alt2">`    ``"client": "<client ID>",`</div><div class="line number10 index9 alt1">`    ``"plate": "<plate to validate>"`</div><div class="line number11 index10 alt2">`}`</div></div></td></tr></tbody></table>

</div></div></div></div></div></div></div></div></div></div></div>### JavaScript Request

<div class="columnLayout single" data-layout="single" id="bkmrk-var%C2%A0request-%3D%C2%A0new%C2%A0xm"><div class="cell normal" data-type="normal"><div class="innerCell"><div class="sectionColumnWrapper conf-macro output-block" data-hasbody="true" data-macro-id="d503d80b-2e42-4b16-9900-62109b8a9ac4" data-macro-name="section"><div class="sectionMacroWithBorder"><div class="sectionMacroRow"><div class="columnMacro conf-macro output-block" data-hasbody="true" data-macro-id="96733877-01a7-4c30-9e62-30b67dd186b6" data-macro-name="column"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="27c0aef3-a976-47d7-8822-ce06e320ad25" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk-var%C2%A0request-%3D%C2%A0new%C2%A0xm-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`var` `request = ``new` `XMLHttpRequest();`</div><div class="line number2 index1 alt1"> </div><div class="line number3 index2 alt2">`request.open(``'POST'``, ``'<a href="https://service.OPSCOM.com/api/v1/validate/plate'">https://service.OPSCOM.com/api/v1/validate/plate'</a>``);`</div><div class="line number4 index3 alt1"> </div><div class="line number5 index4 alt2">`request.setRequestHeader(``'Content-Type'``, ``'application/json'``);`</div><div class="line number6 index5 alt1">`request.setRequestHeader(``'Accept'``, ``'application/json'``);`</div><div class="line number7 index6 alt2"> </div><div class="line number8 index7 alt1">`request.onreadystatechange = ``function` `() {`</div><div class="line number9 index8 alt2">`  ``if` `(``this``.readyState === 4) {`</div><div class="line number10 index9 alt1">`    ``console.log(``'Status:'``, ``this``.status);`</div><div class="line number11 index10 alt2">`    ``console.log(``'Headers:'``, ``this``.getAllResponseHeaders());`</div><div class="line number12 index11 alt1">`    ``console.log(``'Body:'``, ``this``.responseText);`</div><div class="line number13 index12 alt2">`  ``}`</div><div class="line number14 index13 alt1">`};`</div><div class="line number15 index14 alt2"> </div><div class="line number16 index15 alt1"> </div><div class="line number17 index16 alt2">`var` `body = {`</div><div class="line number18 index17 alt1">`    ``"api_token"``: ``"YOUR-API-TOKEN"``,`</div><div class="line number19 index18 alt2">`    ``"client"``: ``"<client ID>"``,`</div><div class="line number20 index19 alt1">`    ``"plate"``: ``"<plate to validate>"`</div><div class="line number21 index20 alt2">`}`</div><div class="line number22 index21 alt1">`request.send(JSON.stringify(body));`</div></div></td></tr></tbody></table>

</div></div></div></div></div></div></div></div></div></div></div>## <span data-colorid="pdvl9pirf4">Request Object Attributes</span>

<div class="columnLayout single" data-layout="single" id="bkmrk-api_token-string-50-"><div class="cell normal" data-type="normal"><div class="innerCell"><div class="table-wrap"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">api\_token</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">50-character alphanumeric including dashes.

</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">**(Required)** Your supplied API Token.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">client</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">client identifier</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">**Required**</td></tr><tr role="row"><td class="confluenceTd" colspan="1">plate</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">vehicle plate</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">**Required**</td></tr></tbody></table>

</div></div></div></div>## Response Values

<div class="columnLayout single" data-layout="single" id="bkmrk-error-integer-error-"><div class="cell normal" data-type="normal"><div class="innerCell"><div class="table-wrap"><table class="confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">error</td><td class="confluenceTd" colspan="1">integer</td><td class="confluenceTd" colspan="1">error code</td><td class="confluenceTd" colspan="1">0=success</td></tr><tr role="row"><td class="confluenceTd" colspan="1">data</td><td class="confluenceTd" colspan="1">JSON bundle</td><td class="confluenceTd" colspan="1">returned data</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd">data.response</td><td class="confluenceTd">String</td><td class="confluenceTd">{permits}\\n\\nALARM: {alarm}\\n\\n DNTT: {DNTT}

</td><td class="confluenceTd" colspan="1">empty if no data</td></tr><tr role="row"><td class="confluenceTd">data.plate</td><td class="confluenceTd">String</td><td class="confluenceTd">plate validated</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">data.responseJSON</td><td class="confluenceTd" colspan="1">JSON bundle</td><td class="confluenceTd" colspan="1">response in JSON</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">data.responseJSON.permits</td><td class="confluenceTd" colspan="1">Array</td><td class="confluenceTd" colspan="1">array of permits

- type, (lot) shortName, expires

</td><td class="confluenceTd" colspan="1">all elements: String</td></tr><tr role="row"><td class="confluenceTd" colspan="1">data.responseJSON.dntt</td><td class="confluenceTd" colspan="1">Array</td><td class="confluenceTd" colspan="1">array of DNTT (do not ticket tow) results

- notes, location, start, end

</td><td class="confluenceTd" colspan="1">all elements: String</td></tr><tr role="row"><td class="confluenceTd" colspan="1">data.responseJSON.alarm</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">alarm associated with plate</td><td class="confluenceTd" colspan="1">or linked driver</td></tr><tr role="row"><td class="confluenceTd" colspan="1">message</td><td class="confluenceTd" colspan="1">String</td><td class="confluenceTd" colspan="1">system error message</td><td class="confluenceTd" colspan="1">  
</td></tr></tbody></table>

</div>---

</div></div></div>### Successful Response

The response will be a json object.

Content-Type: application/json

<div class="columnLayout single" data-layout="single" id="bkmrk-%2F%2A-%C2%A0%C2%A0%C2%A0%C2%A0the-below-res"><div class="cell normal" data-type="normal"><div class="innerCell"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="db38aafe-8712-40c9-8a94-4303ba5151c0" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk-%2F%2A-%C2%A0%C2%A0%C2%A0%C2%A0the-below-res-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`/*`</div><div class="line number2 index1 alt1">`    ``The below response is a merged example of different fields that may be in the response.`</div><div class="line number3 index2 alt2">`    ``- 'type' may be: standard, temp, Validated, T2, HotSpot, or any other "origin"`</div><div class="line number4 index3 alt1">`*/`</div><div class="line number5 index4 alt2"> </div><div class="line number6 index5 alt1">`/* sample response with many included details */`</div><div class="line number7 index6 alt2">`{`</div><div class="line number8 index7 alt1">`    ``"error"``: 0,`</div><div class="line number9 index8 alt2">`    ``"data"``: {`</div><div class="line number10 index9 alt1"> </div><div class="line number11 index10 alt2">`        ``/* 'response' is a string concatenated list of all values carriage return delineated */`</div><div class="line number12 index11 alt1">`        ``"response"``: ``"standard: BIKE\n Expires: 2025-04-30 23:59:59\nstandard: MOTO-S\n Expires: 2025-04-30 23:59:59\n\nALARM: Wanted to talk with.\n\nDNTT: Main Campus\n2024-11-15 00:00:00-2024-11-15 23:59:00 \nCLEAR FOR ANY PAY AREA\n\n"``,`</div><div class="line number13 index12 alt2"> </div><div class="line number14 index13 alt1">`        ``"plate"``: ``"ABC123"``,`</div><div class="line number15 index14 alt2"> </div><div class="line number16 index15 alt1">`        ``"responseJSON"``: {`</div><div class="line number17 index16 alt2">`            ``"permits"``: [`</div><div class="line number18 index17 alt1">`                ``{`</div><div class="line number19 index18 alt2">`                    ``"expires"``: ``"2025-04-30 23:59:59"``,`</div><div class="line number20 index19 alt1">`                    ``"type"``: ``"standard"``,`</div><div class="line number21 index20 alt2">`                    ``"shortName"``: ``"BIKE"`</div><div class="line number22 index21 alt1">`                ``},`</div><div class="line number23 index22 alt2">`                ``{`</div><div class="line number24 index23 alt1">`                    ``"expires"``: ``"2025-04-30 23:59:59"``,`</div><div class="line number25 index24 alt2">`                    ``"type"``: ``"standard"``,`</div><div class="line number26 index25 alt1">`                    ``"shortName"``: ``"MOTO-S"`</div><div class="line number27 index26 alt2">`                ``}`</div><div class="line number28 index27 alt1">`            ``],`</div><div class="line number29 index28 alt2"> </div><div class="line number30 index29 alt1">`            ``/* like 'permits', 'dntt' (do not ticket or tow) could be an array of values */`</div><div class="line number31 index30 alt2">`            ``"dntt"``: [{`</div><div class="line number32 index31 alt1">`                ``"notes"``: ``"CLEAR FOR ANY PAY AREA"``,`</div><div class="line number33 index32 alt2">`                ``"start"``: ``"2024-11-15 00:00:00"``,`</div><div class="line number34 index33 alt1">`                ``"location"``: ``"Main Campus"``,`</div><div class="line number35 index34 alt2">`                ``"end"``: ``"2024-11-15 23:59:00"`</div><div class="line number36 index35 alt1">`            ``}],`</div><div class="line number37 index36 alt2"> </div><div class="line number38 index37 alt1">`            ``"alarm"``:``"Wanted to talk with."`</div><div class="line number39 index38 alt2">`        ``},`</div><div class="line number40 index39 alt1">`    ``}`</div><div class="line number41 index40 alt2">`    ``"message"``: ``""`</div><div class="line number42 index41 alt1">`}`</div></div></td></tr></tbody></table>

</div></div></div></div></div></div></div>### Response Samples

Any response listed below could be merged with any other. This is a list of possible responses to demonstrate responses with data.

<div class="columnLayout single" data-layout="single" id="bkmrk-%2F%2A-no-data-%2A%2F-%7B-%C2%A0%C2%A0%C2%A0%C2%A0"><div class="cell normal" data-type="normal"><div class="innerCell"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="93050983-cc38-43ec-9e07-606dacba6ecd" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-midnight nogutter  js" id="bkmrk-%2F%2A-no-data-%2A%2F-%7B-%C2%A0%C2%A0%C2%A0%C2%A0-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2">`/* No data */`</div><div class="line number2 index1 alt1">`{`</div><div class="line number3 index2 alt2">`    ``"error"``: 0,`</div><div class="line number4 index3 alt1">`    ``"data"``: {`</div><div class="line number5 index4 alt2">`        ``"response"``: ``""``,`</div><div class="line number6 index5 alt1">`        ``"plate"``: ``"ABC123"``,`</div><div class="line number7 index6 alt2">`        ``"responseJSON"``: {}`</div><div class="line number8 index7 alt1">`    ``},`</div><div class="line number9 index8 alt2">`    ``"message"``: ``""`</div><div class="line number10 index9 alt1">`}`</div><div class="line number11 index10 alt2"> </div><div class="line number12 index11 alt1">`/* standard (temp, Validated, T2, HotSpot, ...) */`</div><div class="line number13 index12 alt2">`{`</div><div class="line number14 index13 alt1">`    ``"error"``: 0,`</div><div class="line number15 index14 alt2">`    ``"data"``: {`</div><div class="line number16 index15 alt1">`            ``"response"``: ``"standard: LOT3\n Expires: 2025-04-30 23:59:59\nstandard: MOTO-S\n Expires: 2025-04-30 23:59:59\n\n"``,`</div><div class="line number17 index16 alt2">`            ``"plate"``: ``"ABC890"``,`</div><div class="line number18 index17 alt1">`            ``"responseJSON"``: {`</div><div class="line number19 index18 alt2">`                ``"permits"``: [`</div><div class="line number20 index19 alt1">`                    ``{`</div><div class="line number21 index20 alt2">`                        ``"expires"``: ``"2025-04-30 23:59:59"``,`</div><div class="line number22 index21 alt1">`                        ``"type"``: ``"standard"``,`</div><div class="line number23 index22 alt2">`                        ``"shortName"``: ``"BIKE"`</div><div class="line number24 index23 alt1">`                    ``},`</div><div class="line number25 index24 alt2">`                    ``{`</div><div class="line number26 index25 alt1">`                        ``"expires"``: ``"2025-04-30 23:59:59"``,`</div><div class="line number27 index26 alt2">`                        ``"type"``: ``"standard"``,`</div><div class="line number28 index27 alt1">`                        ``"shortName"``: ``"MOTO-S"`</div><div class="line number29 index28 alt2">`                    ``}`</div><div class="line number30 index29 alt1">`            ``],`</div><div class="line number31 index30 alt2">`        ``}`</div><div class="line number32 index31 alt1">`    ``},`</div><div class="line number33 index32 alt2">`    ``"message"``: ``""`</div><div class="line number34 index33 alt1">`}`</div><div class="line number35 index34 alt2"> </div><div class="line number36 index35 alt1">`/* plate with alarm */`</div><div class="line number37 index36 alt2">`{`</div><div class="line number38 index37 alt1">`    ``"error"``: 0,`</div><div class="line number39 index38 alt2">`    ``"data"``: {`</div><div class="line number40 index39 alt1">`            ``"response"``: ``"ALARM: 15-AS123 Lex Luthor (08 JUL 84) wanted by OPS.\r\n\r\n*** Violence / Weapons ***\n\n"``,`</div><div class="line number41 index40 alt2">`            ``"plate"``: ``"ABC456"``,`</div><div class="line number42 index41 alt1">`            ``"responseJSON"``: {`</div><div class="line number43 index42 alt2">`                ``"alarm"``: ``"15-AS123 Lex Luthor (08 JUL 84) wanted by OPS.\r\n\r\n*** Violence / Weapons ***"`</div><div class="line number44 index43 alt1">`        ``}`</div><div class="line number45 index44 alt2">`    ``},`</div><div class="line number46 index45 alt1">`    ``"message"``: ``""`</div><div class="line number47 index46 alt2">`}`</div><div class="line number48 index47 alt1"> </div><div class="line number49 index48 alt2">`/* DNTT: do not ticket or tow */`</div><div class="line number50 index49 alt1">`{`</div><div class="line number51 index50 alt2">`    ``"error"``: 0,`</div><div class="line number52 index51 alt1">`    ``"data"``: {`</div><div class="line number53 index52 alt2">`        ``"response"``: ``"DNTT: Lot 6\n2024-10-23 00:00:00-2025-04-30 23:59:00 \nHertz truck has permission to park overnight in lot 6. Rental for We-Move-It Services\n\n"``,`</div><div class="line number54 index53 alt1">`        ``"plate"``: ``"DEF123"``,`</div><div class="line number55 index54 alt2">`        ``"responseJSON"``: {`</div><div class="line number56 index55 alt1">`            ``"permits"``: [],`</div><div class="line number57 index56 alt2">`            ``"dntt"``: [`</div><div class="line number58 index57 alt1">`                ``{`</div><div class="line number59 index58 alt2">`                    ``"notes"``: ``"Hertz truck has permission to park overnight in lot 6. Rental for We-Move-It Services"``,`</div><div class="line number60 index59 alt1">`                    ``"start"``: ``"2024-10-23 00:00:00"``,`</div><div class="line number61 index60 alt2">`                    ``"location"``: ``"Lot 6"``,`</div><div class="line number62 index61 alt1">`                    ``"end"``: ``"2025-04-30 23:59:00"`</div><div class="line number63 index62 alt2">`                ``}`</div><div class="line number64 index63 alt1">`            ``],`</div><div class="line number65 index64 alt2">`            ``"active"``: ``"1"`</div><div class="line number66 index65 alt1">`        ``}`</div><div class="line number67 index66 alt2">`    ``},`</div><div class="line number68 index67 alt1">`    ``"message"``: ``""`</div><div class="line number69 index68 alt2">`}`</div></div></td></tr></tbody></table>

</div></div></div></div></div></div></div>