# Push API: Permit Create The OPS-COM Controller provides a simple JSON based API to integrate with. Clients use this API to directly feed paid permit details into OPS-COM from other systems such as Parking Meters. Any permit types whether Validator, Temporary or Standard can be feed to OPS-COM using this API Make sure you set the HTTP Content-Type header to be application/json. ## Making API Requests ### Raw Request:
`POST /api/OC-TOMA/v1/permits/push HTTP/1.1`
`Host: controller.operationscommander.io`
`Accept: application/json`
`Content-Type: application/json`
`Cache-Control: no-cache`
`{`
`    ``"apiToken": "YOUR-API-TOKEN",`
`    ``"Amount": "14.50",`
`    ``"CurrencyID": "CAD",`
`    ``"LicencePlate": "PL8RDR",`
`    ``"zone": "Lot 4",`
`    ``"permitNo": "L4-1138",`
`    ``"startTime": "2018-07-02T09:00:00",`
`    ``"endTime": "2018-07-02T09:30:00"`
`}`
### JavaScript Request:
`var` `request = ``new` `XMLHttpRequest();`
`request.setRequestHeader(``'Content-Type'``, ``'application/json'``);`
`request.setRequestHeader(``'Accept'``, ``'application/json'``);`
`request.onreadystatechange = ``function` `() {`
`  ``if` `(``this``.readyState === 4) {`
`    ``console.log(``'Status:'``, ``this``.status);`
`    ``console.log(``'Headers:'``, ``this``.getAllResponseHeaders());`
`    ``console.log(``'Body:'``, ``this``.responseText);`
`  ``}`
`};`
`var` `body = {`
`    ``"apiToken"``: ``"YOUR-API-TOKEN"``,`
`    ``"Amount"``: ``"14.50"``,`
`    ``"CurrencyID"``: ``"CAD"``,`
`    ``"LicencePlate"``: ``"PL8RDR"``,`
`    ``"zone"``: ``"Lot 4"``,`
`    ``"permitNo"``: ``"L4-1138"``,`
`    ``"startTime"``: ``"2018-07-02T09:00:00"``,`
`    ``"endTime"``: ``"2018-07-02T09:30:00"`
`}`
`request.send(JSON.stringify(body));`
## Request Object Attributes
AttributeTypeLimitsPossible NamesDescription
apiTokenString50-character alphanumeric including dashes apiToken**(Required)** Your supplied API Token.
AmountString9-character decimalamount Amount *(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.
CurrencyString10-characterscurrency CurrencyID *(Optional)* CAD, USD
Start Date String20-characters Y-m-d\\TH:i:s format. startTime StartDateUtc **(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)
End DateString20-characters Y-m-d\\TH:i:s format. endTime EndDateUtc **(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)
License PlateString25-charactersplate LicencePlate **(Required)** The plate of the vehicle.
Ticket NumberString50-characterspermitNo TicketNumber *(Optional)*
Zone NameString200-characterszone ParkingZoneName *(Optional)* If the zone does not match a zone in our system, it will be a disconnected record and may not report properly.
## Successful Response The response will be a json object. Content-Type: application/json
`{`
`    ``"status"``: ``"success"``,`
`    ``"reference_id"``: ``"1a9b5375-cb75-4c71-9939-eeae550b09ac"``,`
`    ``"InternalReferenceID"``: ``"1a9b5375-cb75-4c71-9939-eeae550b09ac"`
`}`