Feature Controller

Validate Feature (Web3 Auth Required)

Path: /api/features/validate

Method: POST

Example Http Request

POST /api/features/validate HTTP/1.1
Content-Type: application/json
X-Wallet-Address: 0x1234567890123456789012345678901234567890
X-WAL: 0x1234567890123456789012345678901234567890
X-SIG: 0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef12
X-MES: VGVzdCBtZXNzYWdlIGZvciBhdXRoZW50aWNhdGlvbg==
Content-Length: 46
Host: localhost:8080

[ "test.feature.read", "nonexistent.feature" ]

Example Http Response

HTTP/1.1 500 Internal Server Error
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Access-Control-Allow-Headers: Origin, Content-Type, Accept, Authorization, Accept-Language, connection, Cache-Control, Access-Control-Request-Method, Access-Control-Request-Headers, X-SIG, X-WAL, X-MES
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD
Access-Control-Expose-Headers: Access-Control-Allow-Origin, Access-Control-Allow-Credentials
Content-Type: application/problem+json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 302

{
  "type" : "https://tools.ietf.org/html/rfc7231#section-6.6.1",
  "title" : "Internal Server Error",
  "status" : 500,
  "detail" : "An unexpected error occurred",
  "instance" : "/api/features/validate",
  "timestamp" : "2025-12-04T14:43:42.529179093Z",
  "extensions" : {
    "traceId" : null
  }
}

Example Curl Request

$ curl 'http://localhost:8080/api/features/validate' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'X-Wallet-Address: 0x1234567890123456789012345678901234567890' \
    -H 'X-WAL: 0x1234567890123456789012345678901234567890' \
    -H 'X-SIG: 0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef12' \
    -H 'X-MES: VGVzdCBtZXNzYWdlIGZvciBhdXRoZW50aWNhdGlvbg==' \
    -d '[ "test.feature.read", "nonexistent.feature" ]'

Feature Controller