curl --request POST \
--url 'https://api.nsr.stateset.com/api/v1/nsrl/parse' \
--header "X-API-Key: $STATESET_NSR_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"code": "human(socrates). mortal(X) :- human(X)."
}'
{
"errors": [
"string"
],
"facts": [
{
"arguments": [],
"predicate": "string"
}
],
"queries": [
"string"
],
"rules": [
{
"body": [],
"head": {
"arguments": null,
"predicate": null
}
}
],
"success": true
}
Parse NSR-L code without executing
Required scope: write
POST
/
api
/
v1
/
nsrl
/
parse
curl --request POST \
--url 'https://api.nsr.stateset.com/api/v1/nsrl/parse' \
--header "X-API-Key: $STATESET_NSR_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"code": "human(socrates). mortal(X) :- human(X)."
}'
{
"errors": [
"string"
],
"facts": [
{
"arguments": [],
"predicate": "string"
}
],
"queries": [
"string"
],
"rules": [
{
"body": [],
"head": {
"arguments": null,
"predicate": null
}
}
],
"success": true
}
Required scope:
write
Request body
NSRLParseRequest
string
required
NSR-L code to parse
Response
NSRLParseResponse
string[]
required
Parse errors (if any)
string[]
required
Parsed queries
ParsedRule[]
required
boolean
required
Whether parsing succeeded
Status codes
| Code | Meaning |
|---|---|
200 | Parse result |
401 | Unauthorized — missing or invalid credentials |
403 | Forbidden — the key/token lacks the required scope |
429 | Rate limited — see Retry-After / X-RateLimit-Reset |
curl --request POST \
--url 'https://api.nsr.stateset.com/api/v1/nsrl/parse' \
--header "X-API-Key: $STATESET_NSR_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"code": "human(socrates). mortal(X) :- human(X)."
}'
{
"errors": [
"string"
],
"facts": [
{
"arguments": [],
"predicate": "string"
}
],
"queries": [
"string"
],
"rules": [
{
"body": [],
"head": {
"arguments": null,
"predicate": null
}
}
],
"success": true
}
Last modified on August 31, 2026