PMAS SCHEMA

PMAS 1.0 RC1 authority-envelope

Human-readable view of the canonical PMAS 1.0-rc1 JSON Schema. The raw machine-readable artifact remains available unchanged.

ARTIFACT VERSION1.0-rc1https://spec.paylogee.dev/pmas/1.0-rc1/authority-envelope
JSON SchemaCanonical source
Raw artifact ↗
{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "additionalProperties": false,
    "$id": "https://spec.paylogee.dev/pmas/1.0-rc1/authority-envelope",
    "title": "PMAS 1.0 RC1 authority-envelope",
    "properties": {
        "pmas_version": {
            "const": "1.0-rc1"
        },
        "principal": {
            "type": "string",
            "minLength": 1
        },
        "subject": {
            "type": "string",
            "minLength": 1
        },
        "actions": {
            "type": "array",
            "items": {
                "type": "string",
                "minLength": 1
            },
            "uniqueItems": true
        },
        "resources": {
            "type": "array",
            "items": {
                "type": "string",
                "minLength": 1
            },
            "uniqueItems": true
        },
        "counterparties": {
            "type": "array",
            "items": {
                "type": "string",
                "minLength": 1
            },
            "uniqueItems": true
        },
        "environments": {
            "type": "array",
            "items": {
                "type": "string",
                "minLength": 1
            },
            "uniqueItems": true
        },
        "rails": {
            "type": "array",
            "items": {
                "type": "string",
                "minLength": 1
            },
            "uniqueItems": true
        },
        "currencies": {
            "type": "array",
            "items": {
                "type": "string",
                "minLength": 1
            },
            "uniqueItems": true
        },
        "max_transaction_amount": {
            "type": [
                "string",
                "null"
            ],
            "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,6})?$"
        },
        "max_cumulative_amount": {
            "type": [
                "string",
                "null"
            ],
            "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,6})?$"
        },
        "max_uses": {
            "type": [
                "integer",
                "null"
            ],
            "minimum": 0
        },
        "valid_from": {
            "type": [
                "string",
                "null"
            ],
            "format": "date-time"
        },
        "expires_at": {
            "type": [
                "string",
                "null"
            ],
            "format": "date-time"
        },
        "subdelegation": {
            "type": "boolean"
        },
        "state": {
            "enum": [
                "ACTIVE",
                "SUSPENDED",
                "REVOKED",
                "EXPIRED",
                "CONSUMED",
                "QUARANTINED",
                "SUPERSEDED"
            ]
        },
        "extensions": {
            "type": "object"
        }
    },
    "required": [
        "pmas_version",
        "principal",
        "subject",
        "actions",
        "resources",
        "counterparties",
        "environments",
        "rails",
        "currencies",
        "subdelegation",
        "state"
    ]
}