Skip to content

Applications Reference

Detailed reference information for the Applications API.


Filter Types

ID Name Description Example Filter
1 Domain Match domain and all subdomains example.com (matches *.example.com)
2 Hostname Match exact hostname only api.example.com
3 Path Match URL path prefix /api/users
4 Object Part Match any part of the URL path users (matches any path containing "users")
5 Query String Match query string content key=value
6 Full URL Match against complete URL string https://api.example.com/v1/users
7 Regex Match using regular expression ^https://api\..*\.com/v[0-9]+/.*$
8 Test Page Match Shield test page /test (special internal matcher)
9 API Match API namespace namespace (for API scanning)

Note: Filter types 1-7 are the most commonly used. Type 8 (Test Page) is for testing, and type 9 (API) is for namespace-based API scanning.


GET /api/contenttypes

Get list of supported content types.

curl -X GET "https://your-shield-host:8080/api/contenttypes" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response:

[
  "application/json",
  "application/xml",
  "text/html",
  "text/plain",
  "multipart/form-data"
]

GET /api/filtertypes

Get available filter type options.

curl -X GET "https://your-shield-host:8080/api/filtertypes" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response:

[
  {"id": 1, "name": "Domain"},
  {"id": 6, "name": "Full Url"},
  {"id": 2, "name": "Hostname"},
  {"id": 4, "name": "Object Part"},
  {"id": 3, "name": "Path"},
  {"id": 5, "name": "Query String"},
  {"id": 7, "name": "Regex"},
  {"id": 8, "name": "Test Page"},
  {"id": 9, "name": "API Scanning"}
]

Best Practices

  • Use descriptive names - Name apps by purpose, not technology
  • Group similar URLs - Combine related endpoints into one app
  • Be specific with filters - Use hostname filters over domain filters when possible
  • Test regex carefully - Invalid regex will cause application to fail matching
  • Document filters - Use the comment field to explain complex filters