{
    "schema": "ursy-public-agents/1",
    "version": "1.1.0",
    "property_id": "ursy.com",
    "generated_at": "2026-10-12T20:24:56+00:00",
    "links": {
        "openapi": "https://ursy.com/openapi.json",
        "agents": "https://ursy.com/agents.json",
        "llms": "https://ursy.com/llms.txt",
        "manifest": "https://ursy.com/service-manifest.json",
        "catalogue": "https://ursy.com/wp-json/ursy-catalog/v1/sites",
        "methodology": "https://ursy.com/under-the-hood/",
        "developers": "https://ursy.com/developers/"
    },
    "routes": [
        {
            "operation_id": "sites",
            "url": "https://ursy.com/wp-json/ursy-catalog/v1/sites",
            "methods": [
                "GET",
                "HEAD",
                "OPTIONS"
            ],
            "authentication": "none",
            "description": "List approved services",
            "schema": "SearchPage"
        },
        {
            "operation_id": "site",
            "url": "https://ursy.com/wp-json/ursy-catalog/v1/sites/{id}",
            "methods": [
                "GET",
                "HEAD",
                "OPTIONS"
            ],
            "authentication": "none",
            "description": "Resolve a stable service ID, domain or slug",
            "schema": "Service"
        },
        {
            "operation_id": "search",
            "url": "https://ursy.com/wp-json/ursy-catalog/v1/search",
            "methods": [
                "GET",
                "HEAD",
                "OPTIONS"
            ],
            "authentication": "none",
            "description": "Search the approved public catalogue",
            "schema": "SearchPage"
        },
        {
            "operation_id": "offers",
            "url": "https://ursy.com/wp-json/ursy-catalog/v1/offers",
            "methods": [
                "GET",
                "HEAD",
                "OPTIONS"
            ],
            "authentication": "none",
            "description": "List verified owning-service offers",
            "schema": "Offers"
        },
        {
            "operation_id": "offer",
            "url": "https://ursy.com/wp-json/ursy-catalog/v1/offers/{id}",
            "methods": [
                "GET",
                "HEAD",
                "OPTIONS"
            ],
            "authentication": "none",
            "description": "Resolve a verified offer",
            "schema": "Offer"
        },
        {
            "operation_id": "status",
            "url": "https://ursy.com/wp-json/ursy-catalog/v1/status",
            "methods": [
                "GET",
                "HEAD",
                "OPTIONS"
            ],
            "authentication": "none",
            "description": "Dated catalogue stages and independent origin observations",
            "schema": "Status"
        }
    ],
    "features": {
        "human_catalogue": "public",
        "catalogue_api": "public_read_only",
        "customer_linking": "enabled",
        "network": {
            "access": "private_authenticated",
            "public_access": false
        },
        "mcp": {
            "access": "private_authenticated",
            "public_access": false
        },
        "machine_public": false,
        "sponsorship": "inactive",
        "measurement": "inactive"
    },
    "policy": {
        "cors": "Any origin; GET/HEAD/OPTIONS with credentials omitted. No credentialed CORS is granted by this public contract.",
        "rate_limit": "No application-level numeric rate quota is implemented for these public reads. Hosting security limits may apply; no 429 guarantee is asserted.",
        "cache": "The application requests no-store; source dates remain attached. Do not assume a cached response is current or infer private-transport acceptance.",
        "private_routes": "Account, operator, network and assist routes are outside this public contract.",
        "offers": "At most 100 verified offers are returned. An empty list is valid; purchases and quotes belong to the owning service."
    },
    "examples": {
        "sites": "https://ursy.com/wp-json/ursy-catalog/v1/sites?limit=12",
        "offers": "https://ursy.com/wp-json/ursy-catalog/v1/offers",
        "status": "https://ursy.com/wp-json/ursy-catalog/v1/status",
        "site": "https://ursy.com/wp-json/ursy-catalog/v1/sites/ursy.finance%3Aservice",
        "search": "https://ursy.com/wp-json/ursy-catalog/v1/search?q=ursy.finance"
    }
}
