Skip to main content

Pull API: Plate Validation

Use this API to obtain details related to a plate.  Plate details include permits, alerts and DNTT status.

 

 




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


Making API Requests

Raw Request

POST /api/v1/validate/plate HTTP/1.1
Host: service.ops-com.com
Accept: application/json
Content-Type: application/json
Cache-Control: no-cache
 
{
    "api_token": "YOUR-API-TOKEN",
    "client": "<client ID>",
    "plate": "<plate to validate>"
}

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 = {
    "api_token""YOUR-API-TOKEN",
    "client""<client ID>",
    "plate""<plate to validate>"
}
request.send(JSON.stringify(body));

Request Object Attributes

api_token String

50-character alphanumeric including dashes.


(Required) Your supplied API Token.
client String client identifier
Required
plate String vehicle plate
Required


Response Values

error integer error code 0=success
data JSON bundle returned data
data.response String

{permits}\n\nALARM: {alarm}\n\n DNTT: {DNTT}

empty if no data
data.plate String plate validated
data.responseJSON JSON bundle response in JSON
data.responseJSON.permits Array

array of permits 

  • type, (lot) shortName, expires
all elements: String
data.responseJSON.dntt Array

array of DNTT (do not ticket tow) results

  • notes, location, start, end
all elements: String
data.responseJSON.alarm String alarm associated with plate or linked driver
message String system error message

Successful Response

The response will be a json object. 

Content-Type: application/json

/*
    The below response is a merged example of different fields that may be in the response.
    - 'type' may be: standard, temp, Validated, T2, HotSpot, or any other "origin"
*/
 
/* sample response with many included details */
{
    "error": 0,
    "data": {
 
        /* 'response' is a string concatenated list of all values carriage return delineated */
        "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",
 
        "plate""ABC123",
 
        "responseJSON": {
            "permits": [
                {
                    "expires""2025-04-30 23:59:59",
                    "type""standard",
                    "shortName""BIKE"
                },
                {
                    "expires""2025-04-30 23:59:59",
                    "type""standard",
                    "shortName""MOTO-S"
                }
            ],
 
            /* like 'permits', 'dntt' (do not ticket or tow) could be an array of values */
            "dntt": [{
                "notes""CLEAR FOR ANY PAY AREA",
                "start""2024-11-15 00:00:00",
                "location""Main Campus",
                "end""2024-11-15 23:59:00"
            }],
 
            "alarm":"Wanted to talk with."
        },
    }
    "message"""
}


Response Samples

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


/* No data */
{
    "error": 0,
    "data": {
        "response""",
        "plate""ABC123",
        "responseJSON": {}
    },
    "message"""
}
 
/* standard (temp, Validated, T2, HotSpot, ...) */
{
    "error": 0,
    "data": {
            "response""standard: LOT3\n Expires: 2025-04-30 23:59:59\nstandard: MOTO-S\n Expires: 2025-04-30 23:59:59\n\n",
            "plate""ABC890",
            "responseJSON": {
                "permits": [
                    {
                        "expires""2025-04-30 23:59:59",
                        "type""standard",
                        "shortName""BIKE"
                    },
                    {
                        "expires""2025-04-30 23:59:59",
                        "type""standard",
                        "shortName""MOTO-S"
                    }
            ],
        }
    },
    "message"""
}
 
/* plate with alarm */
{
    "error": 0,
    "data": {
            "response""ALARM: 15-AS123 Lex Luthor (08 JUL 84) wanted by OPS.\r\n\r\n*** Violence / Weapons ***\n\n",
            "plate""ABC456",
            "responseJSON": {
                "alarm""15-AS123 Lex Luthor (08 JUL 84) wanted by OPS.\r\n\r\n*** Violence / Weapons ***"
        }
    },
    "message"""
}
 
/* DNTT: do not ticket or tow */
{
    "error": 0,
    "data": {
        "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",
        "plate""DEF123",
        "responseJSON": {
            "permits": [],
            "dntt": [
                {
                    "notes""Hertz truck has permission to park overnight in lot 6. Rental for We-Move-It Services",
                    "start""2024-10-23 00:00:00",
                    "location""Lot 6",
                    "end""2025-04-30 23:59:00"
                }
            ],
            "active""1"
        }
    },
    "message"""
}