Castle — API
Castle APIv1 Read the vendor's spec ↗
- 27 endpoints
- 2 deprecated
- 3 versions archived since Aug 2, 2026
- Last checked Nov 2, 2026
Castle APIs uses standard HTTP response codes, authentication and verbs.
Get started
$ curl "https://api.castle.io/v1/lists" \
-u "$USERNAME:$PASSWORD"
Set $USERNAME and $PASSWORD first, then paste.
- Base URL
-
https://api.castle.io/v1 - Authenticate
- HTTP basic: username and password API keys are used to authenticate all Castle APIs.
What it covers
- List Items 8 List Items represents entries in a List.
- Lists 6 Lists represents a generic collection of items, such as Users, IPs, Transactions or any custom property.
- Privacy 4 APIs intended to help adhere to GDPR Compliance and specifically assist in supporting Article 15: Right of access by the data subject and Article 17: Right to be forgotten.
- Events 3 Castle Events APIs allow you to query and aggregate Events that have been sent to the Castle Risk Assessment APIs.
- IP Downloads 2 Download Castle's IP datasets.
- IP Lookups 2 Look up Castle's IP intelligence data (address metadata + tunnel observations) for a single IP or a batch.
- Risk Assessment 2 Castle Risk Assessment APIs will calculate a risk score as well as evaluate policies based on the provided payload.
Open an endpoint for a runnable command, its inputs and what it returns.
List Items 8
-
DELETE
/lists/{list_id}/items/{id}/archiveArchive a List ItemLoading…
-
GET
/lists/{list_id}/items/{id}Fetch a List Item by IDLoading…
-
POST
/lists/{list_id}/itemsCreate a new List ItemLoading…
-
POST
/lists/{list_id}/items/batchCreate or update multiple List ItemsLoading…
-
POST
/lists/{list_id}/items/countCount List ItemsLoading…
-
POST
/lists/{list_id}/items/querySearch List ItemsLoading…
-
PUT
/lists/{list_id}/items/{id}Update a List ItemLoading…
-
PUT
/lists/{list_id}/items/{id}/unarchiveUnarchive a List ItemLoading…
Lists 6
-
DELETE
/lists/{id}Delete ListLoading…
-
GET
/listsList all ListsLoading…
-
GET
/lists/{id}Return a List by IDLoading…
-
POST
/listsCreate a new ListLoading…
-
POST
/lists/querySearch ListsLoading…
-
PUT
/lists/{id}Update a ListLoading…
Privacy 4
-
DELETE
/privacy/usersDelete User DataLoading…
-
DELETE
/privacy/users/{id}Delete User Data deprecatedLoading…
-
POST
/privacy/usersRequest User DataLoading…
-
POST
/privacy/users/{id}Request User Data deprecatedLoading…
Events 3
-
GET
/events/schemaGet Events SchemaLoading…
-
POST
/events/groupGroup EventsLoading…
-
POST
/events/querySearch EventsLoading…
IP Downloads 2
-
GET
/ips/downloads/{dataset}/{window}.{format}.gzIP Dataset DownloadLoading…
-
HEAD
/ips/downloads/{dataset}/{window}.{format}.gzIP Dataset Download metadataLoading…
IP Lookups 2
-
GET
/ips/{value}Look up a single IPLoading…
-
POST
/ips/queryLook up IPs in a batchLoading…
Risk Assessment 2
-
POST
/filterFilterLoading…
-
POST
/riskRiskLoading…
No endpoint matches. Clear the filter to see all 27.
Change log
-
- +GET /ips/downloads/{dataset}/{window}.{format}.gz
- +HEAD /ips/downloads/{dataset}/{window}.{format}.gz