{
  "contract": "sourcey.site-record/v1alpha1",
  "release_id": "sha256:2fbbef898f76ba47f54ef0fdf7585060968f5e9f04fed731ced83efb3d376e94",
  "snapshot_id": "sha256:b26a8a5eb7be48e03c2bfcf5657c69ff3b1c055d42d37ba60214f516fa83f8c3",
  "artifact_sha256": "sha256:09d0e4cb56c1db3fa3ba012530cfe29c948b1374adb7435befa11ea100edf477",
  "data": {
    "entity_id": "ent_01kyypqp9x4hw483erw4fnzdgy",
    "entity_slug": "xero",
    "profile": {
      "projection_contract": "sourcey.agent-readiness-projection/v1alpha1",
      "agent_readiness_profile_id": "arp_01m4tfy22tsrgng0k2xpv2mcjg",
      "entity_id": "ent_01kyypqp9x4hw483erw4fnzdgy",
      "scope": {
        "product": {
          "key": "xero-accounting",
          "name": "Xero Accounting"
        },
        "job": {
          "key": "invoice-create",
          "name": "Create an invoice"
        }
      },
      "catalog_binding": {
        "base_release_id": "sha256:b8d2307bdb2bd192cdb6e4a0586bf54e4c306eb8bae6a6f3c48ddff04bcdcee1",
        "entity_revision_digest": "sha256:ceabbbd448969aefe46c671320e83ec66da46d5465112ec818329039e8dbbbff"
      },
      "declaration_revision_digest": "sha256:8fef9d063fe8335fd855de36f51a7a5eb0c41e6b3ef9245284d6c4f13dddf73e",
      "declaration": {
        "declaration_id": "declaration_xero_xero_accounting_invoice_create",
        "provenance": {
          "repository": "sourcey/agent-ready-services",
          "commit": "36932c2a86954e480517068ea4f660a8a4298af4",
          "path": "entities/xe/xero.yaml",
          "git_blob_oid": "af3381376e2e2a61f05cf4153faee421dc231b15",
          "blob_digest": "sha256:1567bcd203127cb551961a6e8c9e8ba3d8a4317a5840bf4aa98f24be1db70cc9"
        },
        "status": "community_declared"
      },
      "surface_catalog": {
        "participants": [
          {
            "participant_id": "xero",
            "roles": [
              "access_operator",
              "identity_provider",
              "operations_provider",
              "payment_provider",
              "provisioning_provider",
              "subject"
            ],
            "identity": {
              "entity_id": "ent_01kyypqp9x4hw483erw4fnzdgy"
            }
          }
        ],
        "resources": [
          {
            "resource_id": "api-errors",
            "uri": "https://developer.xero.com/documentation/api/accounting/responsecodes",
            "roles": [
              "documentation",
              "recovery",
              "status"
            ],
            "operated_by_participant_id": "xero",
            "standard_bindings": []
          },
          {
            "resource_id": "api-reference",
            "uri": "https://developer.xero.com/documentation/api/accounting/invoices",
            "roles": [
              "discovery",
              "documentation",
              "operations",
              "provisioning"
            ],
            "operated_by_participant_id": "xero",
            "standard_bindings": []
          },
          {
            "resource_id": "authentication",
            "uri": "https://developer.xero.com/documentation/guides/oauth2/overview/",
            "roles": [
              "authentication",
              "documentation"
            ],
            "operated_by_participant_id": "xero",
            "standard_bindings": []
          },
          {
            "resource_id": "checkout",
            "uri": "https://www.xero.com/us/signup/early/",
            "roles": [
              "access",
              "checkout"
            ],
            "operated_by_participant_id": "xero",
            "standard_bindings": []
          },
          {
            "resource_id": "pricing",
            "uri": "https://www.xero.com/us/pricing-plans/",
            "roles": [
              "pricing"
            ],
            "operated_by_participant_id": "xero",
            "standard_bindings": []
          },
          {
            "resource_id": "service-terms",
            "uri": "https://www.xero.com/us/legal/terms/",
            "roles": [
              "terms"
            ],
            "operated_by_participant_id": "xero",
            "standard_bindings": []
          }
        ],
        "endpoints": [
          {
            "endpoint_id": "registration",
            "uri": "https://www.xero.com/us/signup/early/",
            "transport": "http",
            "roles": [
              "registration"
            ],
            "operated_by_participant_id": "xero",
            "standard_bindings": []
          },
          {
            "endpoint_id": "service-api",
            "uri": "https://api.xero.com/api.xro/2.0",
            "transport": "http",
            "roles": [
              "service"
            ],
            "operated_by_participant_id": "xero",
            "standard_bindings": []
          }
        ],
        "interfaces": [
          {
            "interface_id": "api-authentication",
            "modality": "network_api",
            "functions": [
              "authentication"
            ],
            "endpoint_ids": [],
            "resource_ids": [
              "authentication"
            ],
            "operated_by_participant_id": "xero",
            "standard_bindings": []
          },
          {
            "interface_id": "service-api",
            "modality": "network_api",
            "functions": [
              "service_operation"
            ],
            "endpoint_ids": [
              "service-api"
            ],
            "resource_ids": [
              "api-errors",
              "api-reference"
            ],
            "operated_by_participant_id": "xero",
            "standard_bindings": []
          }
        ],
        "relations": [
          {
            "relation_id": "authentication-authenticates-api",
            "kind": "authenticates",
            "from": {
              "node_kind": "interface",
              "node_id": "api-authentication"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "service-api"
            }
          },
          {
            "relation_id": "reference-describes-api",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "api-reference"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "service-api"
            }
          },
          {
            "relation_id": "signup-precedes-authentication",
            "kind": "precedes",
            "from": {
              "node_kind": "resource",
              "node_id": "checkout"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "api-authentication"
            }
          }
        ],
        "surface_exclusions": [
          {
            "exclusion_id": "separate-eligibility-resource",
            "role": "eligibility",
            "rationale": "Access conditions are published within the vendor's terms; no separate eligibility resource is declared."
          }
        ]
      },
      "lifecycle": "active",
      "effective_from": "2026-10-13T11:22:54.301Z",
      "revision_digest": "sha256:c5734f9ed49b8be26bec61b5a4e044f718b3245f456246be5c0301ee2332fc24",
      "policy_digest": "sha256:b612172aad277b54461de84e006815126f2df566563954b02f4432a39cad89ac",
      "policy_version": "kind-2026-10-12.2",
      "policy_as_of": "2026-10-05T00:00:00Z",
      "job": {
        "job_id": "invoice-create",
        "job_digest": "sha256:90b55ff56a9c68999da6057898cbdd13ffebf6c8a4ac49de4fc5a16e974fc1fe",
        "category": "invoicing",
        "name": "Create an invoice",
        "statement": "Create a draft invoice whose reference is the run's nonce, then read it back."
      },
      "interface_id": "service-api",
      "label": "probed",
      "label_run_at": null,
      "grade": {
        "letter": "B",
        "statement": "A card on file.",
        "steps": [
          {
            "step": "discover",
            "outcome": "workaround",
            "timing": "setup"
          },
          {
            "step": "authority",
            "outcome": "workaround",
            "timing": "setup"
          },
          {
            "step": "onboard",
            "outcome": "workaround",
            "timing": "setup"
          },
          {
            "step": "pay",
            "outcome": "workaround",
            "timing": "setup"
          },
          {
            "step": "confirm",
            "outcome": "machine",
            "timing": null
          },
          {
            "step": "sustain",
            "outcome": "workaround",
            "timing": "setup"
          }
        ],
        "job": "reachable",
        "approvals": [],
        "workarounds": [
          {
            "step": "discover",
            "timing": "setup"
          },
          {
            "step": "authority",
            "timing": "setup"
          },
          {
            "step": "onboard",
            "timing": "setup"
          },
          {
            "step": "pay",
            "timing": "setup"
          },
          {
            "step": "sustain",
            "timing": "setup"
          }
        ]
      },
      "discovery": [
        {
          "fact": "agent_documentation",
          "value": "https://www.xero.com/llms.txt",
          "descriptor_url": "https://www.xero.com/llms.txt",
          "attempt_digest": "sha256:e55cbe7ebdd32982586dd01e5770a1728bd7777072ee8cf8b0f975c80ea81cd5",
          "adapter": {
            "namespace": "llms.txt",
            "version": "1"
          }
        }
      ],
      "discovery_run_at": null,
      "run": {
        "started_at": "2026-10-13T11:21:40.118Z",
        "finished_at": "2026-10-13T11:22:54.301Z",
        "discovery_reads": 36,
        "exchanges": [
          {
            "purpose": "probe_operation",
            "role": "request",
            "method": "PUT",
            "url": "https://api.xero.com/api.xro/2.0/Invoices",
            "started_at": "2026-10-13T11:22:33.987Z",
            "finished_at": "2026-10-13T11:22:34.084Z",
            "response": {
              "status": 401,
              "media_type": "application/json",
              "content_bytes": 153,
              "content_digest": "sha256:c6a4f9100b1a9470f2268613b76b13da6c3a27902d7c27ba7707ba7a0b2780cd"
            },
            "transport_error": null,
            "exchange_digest": "sha256:e464cff6fd06995fe580d96ed0157d393ee0be360654d1b92ac7db049506be0c"
          },
          {
            "purpose": "probe_resource_metadata",
            "role": "request",
            "method": "GET",
            "url": "https://api.xero.com/.well-known/oauth-protected-resource/api.xro/2.0/Invoices",
            "started_at": "2026-10-13T11:22:38.678Z",
            "finished_at": "2026-10-13T11:22:38.761Z",
            "response": {
              "status": 401,
              "media_type": "application/json",
              "content_bytes": 153,
              "content_digest": "sha256:00332d1a62de771d96565585398d481a65da08c442713286a2d38b2270b54982"
            },
            "transport_error": null,
            "exchange_digest": "sha256:b8d6f60cbfb2c8696fa4f3eec282b1298d96959020a4e96a58b40a0b28c9b0e2"
          },
          {
            "purpose": "probe_resource_metadata",
            "role": "request",
            "method": "GET",
            "url": "https://api.xero.com/.well-known/oauth-protected-resource",
            "started_at": "2026-10-13T11:22:43.446Z",
            "finished_at": "2026-10-13T11:22:43.530Z",
            "response": {
              "status": 404,
              "media_type": "application/octet-stream",
              "content_bytes": 0,
              "content_digest": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
            },
            "transport_error": null,
            "exchange_digest": "sha256:9e52afaa781df40e2c4b43b338c0072817ea28c3a794c3981f8543b1a84448c0"
          },
          {
            "purpose": "probe_page",
            "role": "request",
            "method": "GET",
            "url": "https://www.xero.com/us/signup/early/",
            "started_at": "2026-10-13T11:22:46.703Z",
            "finished_at": "2026-10-13T11:22:46.814Z",
            "response": {
              "status": 200,
              "media_type": "text/html",
              "content_bytes": 81006,
              "content_digest": "sha256:e0895edf89914a452dfd1dafc18ddfc7e6054d6f3196aa6720e31b4481b4cef0"
            },
            "transport_error": null,
            "exchange_digest": "sha256:69a12f74ab64862eff77a1a458e4bdee883875c8f3bb523032723142a066c976"
          },
          {
            "purpose": "probe_page",
            "role": "request",
            "method": "GET",
            "url": "https://www.xero.com/us/signup/early/",
            "started_at": "2026-10-13T11:22:50.935Z",
            "finished_at": "2026-10-13T11:22:51.121Z",
            "response": {
              "status": 200,
              "media_type": "text/html",
              "content_bytes": 81006,
              "content_digest": "sha256:e0895edf89914a452dfd1dafc18ddfc7e6054d6f3196aa6720e31b4481b4cef0"
            },
            "transport_error": null,
            "exchange_digest": "sha256:c376e6d7166bbc880e12c26d0eb2080b32c17a98d9adb45dff656db10f809cef"
          }
        ],
        "assertions": []
      },
      "last_run_at": "2026-10-13T11:22:54.301Z",
      "publication": {
        "visibility": "discoverable",
        "reasons": []
      },
      "provenance": {
        "dispute": "none",
        "vendor_attestation": {
          "status": "none"
        },
        "basis_event_ids": []
      },
      "canonical_url": "https://sourcey.com/c/xero/agent-readiness/xero-accounting/invoice-create",
      "projection_digest": "sha256:e78d3969af71822f36df14164d8fc6920264c75fdd14d672a3b8f794cc581340"
    }
  }
}
