Flock Safety Custom Hotlists API
The Custom Hotlists API from Flock Safety — 5 operation(s) for custom hotlists.
The Custom Hotlists API from Flock Safety — 5 operation(s) for custom hotlists.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/flock-safety-custom-hotlists-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Flock Safety API Platform (v3) Custom Hotlists API
description: Flock Safety v3 API Platform harvested from the public developer hub (docs.flocksafety.com). Combines the Device, Custom Hotlist, LPR Search, Plate Lookup, Hotlist Alerts Subscription, Geolocation, CAD, Inbound Alerts, and Vehicle Detections Ingest APIs. OAuth2 client_credentials (machine) and authorization_code (user) flows against api.flocksafety.com.
version: 3.0.0
contact:
name: Flock Safety Developer Hub
url: https://docs.flocksafety.com/
servers:
- url: https://api.flocksafety.com/api/v3
description: Production
- url: https://dev-api.flocksafety.com/api/v3
description: Development sandbox (at Flock discretion)
tags:
- name: Custom Hotlists
paths:
/hotlists/{hotlistId}:
delete:
description: Delete hotlist
summary: Delete a custom hotlist
tags:
- Custom Hotlists
security:
- oauth2Auth:
- custom-hotlists:write
parameters:
- $ref: '#/components/parameters/HotlistIdParam'
responses:
'204':
description: The hotlist was deleted successfully
'401':
description: Unauthorized, authentication token was invalid or not provided
'403':
description: Forbidden, your client does not have access to this resource
'404':
description: No hotlist was found with the given ID
operationId: deleteHotlistsByHotlistId
x-operation-id-source: derived
get:
description: Retrieve a hotlist with the given ID
summary: Retrieve a custom hotlist
tags:
- Custom Hotlists
security:
- oauth2Auth:
- custom-hotlists:read
parameters:
- $ref: '#/components/parameters/HotlistIdParam'
responses:
'200':
description: The hotlist was successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/Hotlist'
'401':
description: Unauthorized, authentication token was invalid or not provided
'403':
description: Forbidden, your client does not have access to this resource
'404':
description: No hotlist was found with the given ID
operationId: getHotlistsByHotlistId
x-operation-id-source: derived
put:
description: Update a hotlist
summary: Update a custom hotlist
tags:
- Custom Hotlists
security:
- oauth2Auth:
- custom-hotlists:write
parameters:
- $ref: '#/components/parameters/HotlistIdParam'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateHotlistRequest'
responses:
'204':
description: The hotlist was updated successfully
'401':
description: Unauthorized, authentication token was invalid or not provided
'403':
description: Forbidden, your client does not have access to this resource
'404':
description: No hotlist was found with the given ID
'413':
description: Request entity too large, the number of entries exceeds the organization's limit
operationId: putHotlistsByHotlistId
x-operation-id-source: derived
/hotlists/{hotlistId}/entries:
get:
description: Retrieve a page of entries for the hotlist with the given ID
summary: Retrieve a page of entries for a hotlist
tags:
- Custom Hotlists
security:
- oauth2Auth:
- custom-hotlists:read
parameters:
- $ref: '#/components/parameters/HotlistIdParam'
- name: limit
in: query
description: The maximum number of hotlist entries to return
required: false
schema:
type: integer
minimum: 1
maximum: 3000
default: 3000
- name: cursor
in: query
description: A cursor for the next page of results
required: false
schema:
type: string
responses:
'200':
description: The hotlist entries were successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/GetHotlistEntriesResponse'
'401':
description: Unauthorized, authentication token was invalid or not provided
'403':
description: Forbidden, your client does not have access to this resource
'404':
description: No hotlist was found with the given ID
operationId: getHotlistsByHotlistIdEntries
x-operation-id-source: derived
/hotlists:
get:
description: Retrieve custom hotlists for the organization
summary: Retrieve custom hotlists
tags:
- Custom Hotlists
security:
- oauth2Auth:
- custom-hotlists:read
responses:
'200':
description: The hotlists for your organization were successfully retrieved.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/OrgHotlist'
'401':
description: Unauthorized, authentication token was invalid or not provided
'403':
description: Forbidden, your client does not have access to this resource
operationId: getHotlists
x-operation-id-source: derived
post:
description: Create an organization-level hotlist
summary: Create a custom hotlist
tags:
- Custom Hotlists
security:
- oauth2Auth:
- custom-hotlists:write
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateHotlistRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/CreateHotlistResponse'
'401':
description: Unauthorized, authentication token was invalid or not provided
'403':
description: Forbidden, your client does not have access to this resource
'413':
description: Request entity too large, the number of entries exceeds the organization's limit
operationId: postHotlists
x-operation-id-source: derived
/hotlists/{hotlistId}/entries/addBatch:
post:
description: Add a batch of entries to the hotlist with the provided hotlistID. All entries will be normalized (O->0) and have whitespace trimmed. Duplicate entries will be ignored.
summary: Add a batch of entries to a hotlist
tags:
- Custom Hotlists
security:
- oauth2Auth:
- custom-hotlists:write
parameters:
- $ref: '#/components/parameters/HotlistIdParam'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateHotlistEntriesRequest'
responses:
'200':
description: The batch of hotlist entries was successfully normalized and created.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateEntriesResponse'
'400':
description: Bad request, either the batch contained a duplicate plate or the request body was malformed.
'401':
description: Unauthorized, authentication token was invalid or not provided
'403':
description: Forbidden, your client does not have access to this resource
'404':
description: No hotlist was found with the given ID
operationId: postHotlistsByHotlistIdEntriesAddBatch
x-operation-id-source: derived
/hotlists/{hotlistId}/entries/deleteBatch:
post:
description: Delete a batch of entries from the hotlist with the provided hotlistID. Ignores any ids for which an entry does not exist
summary: Delete a batch of entries from a hotlist
tags:
- Custom Hotlists
security:
- oauth2Auth:
- custom-hotlists:write
parameters:
- $ref: '#/components/parameters/HotlistIdParam'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteHotlistEntriesRequest'
responses:
'200':
description: The batch of hotlist entries was successfully deleted.
'401':
description: Unauthorized, authentication token was invalid or not provided
'403':
description: Forbidden, your client does not have access to this resource
'404':
description: No hotlist was found with the given ID
operationId: postHotlistsByHotlistIdEntriesDeleteBatch
x-operation-id-source: derived
components:
schemas:
OrgHotlist:
properties:
id:
type: string
name:
type: string
HotlistEntry:
properties:
id:
type: string
caseNumber:
type: string
expiry:
description: ISO datetime string
type: string
format: date-time
plate:
type: string
reason:
type: string
state:
$ref: '#/components/schemas/State'
note:
$ref: '#/components/schemas/HotlistEntryNote'
required:
- caseNumber
- plate
- reason
type: object
CreateHotlistEntryRequest:
properties:
caseNumber:
type: string
expiry:
description: ISO datetime string. After this date, alerts will not be triggered for this entry.
type: string
format: date-time
plate:
type: string
reason:
type: string
state:
$ref: '#/components/schemas/State'
note:
$ref: '#/components/schemas/HotlistEntryNote'
required:
- caseNumber
- plate
- reason
type: object
Hotlist:
properties:
entries:
items:
$ref: '#/components/schemas/HotlistEntry'
type: array
id:
type: string
name:
type: string
required:
- entries
- id
- name
- organizationId
type: object
CreateHotlistResponse:
properties:
id:
format: uuid
type: string
required:
- id
type: object
HotlistEntryNote:
type: object
description: Optional note with message field for the hotlist entry
required:
- message
properties:
message:
type: string
description: Note message text (supports URLs for clickable links in UI)
example: Vehicle observed at 5th and Main. Contact Det. Smith at 555-0123.
GetHotlistEntriesResponse:
properties:
entries:
items:
$ref: '#/components/schemas/HotlistEntry'
type: array
totalResults:
type: integer
nextPage:
type:
- string
- 'null'
required:
- entries
- id
- name
- organizationId
type: object
CreateHotlistEntriesRequest:
properties:
entries:
items:
$ref: '#/components/schemas/CreateHotlistEntryRequest'
type: array
required:
- entries
type: object
DeleteHotlistEntriesRequest:
properties:
ids:
items:
type: string
type: array
required:
- ids
type: object
CreateEntriesResponse:
properties:
entries:
items:
$ref: '#/components/schemas/HotlistEntry'
type: array
required:
- entries
type: object
CreateHotlistRequest:
properties:
entries:
items:
$ref: '#/components/schemas/CreateHotlistEntryRequest'
type: array
maxItems: 3000
name:
type: string
required:
- entries
- name
type: object
UpdateHotlistRequest:
properties:
entries:
items:
$ref: '#/components/schemas/CreateHotlistEntryRequest'
type: array
maxItems: 3000
name:
type: string
required:
- entries
- name
type: object
State:
type: string
enum:
- alabama
- alaska
- arizona
- arkansas
- california
- colorado
- connecticut
- delaware
- washington_dc
- florida
- georgia
- hawaii
- idaho
- illinois
- indiana
- iowa
- kansas
- kentucky
- louisiana
- maine
- maryland
- massachusetts
- michigan
- minnesota
- mississippi
- missouri
- montana
- nebraska
- nevada
- new_hampshire
- new_jersey
- new_mexico
- new_york
- north_carolina
- north_dakota
- ohio
- oklahoma
- oregon
- pennsylvania
- rhode_island
- south_carolina
- south_dakota
- tennessee
- texas
- utah
- vermont
- virginia
- washington
- west_virginia
- wisconsin
- wyoming
- puerto_rico
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
oauth2Auth:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://api.flocksafety.com/oauth/token
scopes:
custom-holists:read: Read access to custom hotlists
custom-holists:write: Write access to custom hotlists
FlockOAuth:
type: oauth2
description: OAuth 2 with the client credentials flow
flows:
clientCredentials:
scopes:
plate-reads:lookup: Access to perform lookups on license plate reads.
tokenUrl: https://api.flocksafety.com/oauth/token
oauth2:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://api.flocksafety.com/oauth/token
scopes: {}