{
  "api_contract": "sourcey.catalog-api/v1",
  "release_id": "sha256:1042b2f7b6130b564b0059e00560960c50db2d7578dfa5178d401e5d14d9b11f",
  "artifact_sha256": "sha256:a695609a4d6872bd447e3125d912e7f84e605d0f064df0b08e62a9f24d9d2e80",
  "data": {
    "revision_contract": "sourcey.agent-readiness-revision/v1alpha1",
    "agent_readiness_profile_id": "arp_01kzf0m4xk6m1tb8d5y3pr9wg2",
    "entity_id": "ent_01kyygma830fqh16kvj744sk1c",
    "scope": {
      "product": {
        "key": "stripe-payments-api",
        "name": "Stripe Payments API"
      },
      "funnel": {
        "key": "api-payment-lifecycle",
        "name": "API payment lifecycle"
      }
    },
    "catalog_binding": {
      "base_release_id": "sha256:5082ec07047a2324648f569d234cc64342ce2707b2f3d77fde8fc06af517cee6",
      "entity_revision_digest": "sha256:13a1e13a935baf054379e0920ee70976c984b5f482098bed447cd0a4554b7afe"
    },
    "declaration_revision_digest": "sha256:ad871f9203e6edb6e3b64f98804e46795b6c90380c6863593664a3bc8b165b0c",
    "declaration": {
      "declaration_id": "declaration_stripe_payments_api_lifecycle",
      "provenance": {
        "repository": "sourcey/agent-ready-services",
        "commit": "00f00edd170194cc1cf3081b97b218474537ffdb",
        "path": "vendors/st/stripe.yaml",
        "git_blob_oid": "a7818b93089aaafaf9cb39faca2ad03a395e162e",
        "blob_digest": "sha256:d796897e259553985497422c437491fffb18b0672b4a0f2b3dc7f30b27dfbb53"
      },
      "status": "community_declared"
    },
    "lifecycle": "active",
    "effective_from": "2026-08-08T02:07:16.522Z",
    "signals": [
      {
        "stage": "evaluate",
        "signal_code": "decidable_eligibility",
        "value": "no",
        "observed_at": "2026-08-07T21:15:08.781Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "service-terms"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "negative_coverage": {
          "kind": "complete-response-inspection",
          "scope": "exact-resource",
          "covered_surfaces": [
            {
              "node_kind": "resource",
              "node_id": "service-terms"
            }
          ]
        },
        "note": "Eligibility criteria depend on Stripe's evaluation and Prohibited or Restricted Business determinations, which cannot be fully decided by an agent from explicit public criteria alone."
      },
      {
        "stage": "evaluate",
        "signal_code": "machine_discovery",
        "value": "yes",
        "observed_at": "2026-08-07T21:15:11.124Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-reference"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "The Stripe Payments API and core resources are machine-discoverable through the public REST API reference documentation."
      },
      {
        "stage": "evaluate",
        "signal_code": "readable_pricing",
        "value": "yes",
        "observed_at": "2026-08-07T21:15:14.357Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "pricing"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Stripe provides explicit and structured pay-as-you-go pricing breakdown on its public pricing page."
      },
      {
        "stage": "evaluate",
        "signal_code": "structured_terms",
        "value": "partial",
        "observed_at": "2026-08-07T21:15:08.781Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "service-terms"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "negative_coverage": {
          "kind": "complete-response-inspection",
          "scope": "exact-resource",
          "covered_surfaces": [
            {
              "node_kind": "resource",
              "node_id": "service-terms"
            }
          ]
        },
        "note": "The Stripe Services Agreement terms are published as accessible HTML legal pages rather than a fully structured machine-readable format."
      },
      {
        "stage": "sign_up",
        "signal_code": "captcha_free",
        "value": "no",
        "observed_at": "2026-08-07T21:15:24.447Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "dashboard-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "negative_coverage": {
          "kind": "bounded-rendered-flow-inspection",
          "scope": "tested-surfaces",
          "covered_surfaces": [
            {
              "node_kind": "resource",
              "node_id": "dashboard-signup"
            }
          ]
        },
        "note": "The headless signup flow hit an incompatible browser barrier, preventing verification of CAPTCHA behavior during registration."
      },
      {
        "stage": "sign_up",
        "signal_code": "machine_operable_form",
        "value": "no",
        "observed_at": "2026-08-07T21:15:24.447Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "dashboard-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "negative_coverage": {
          "kind": "bounded-rendered-flow-inspection",
          "scope": "tested-surfaces",
          "covered_surfaces": [
            {
              "node_kind": "resource",
              "node_id": "dashboard-signup"
            }
          ]
        },
        "note": "The headless registration page renders an incompatible browser error instead of accessible signup form controls."
      },
      {
        "stage": "sign_up",
        "signal_code": "phone_verification_free",
        "value": "no",
        "observed_at": "2026-08-07T21:15:24.447Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "dashboard-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "negative_coverage": {
          "kind": "bounded-rendered-flow-inspection",
          "scope": "tested-surfaces",
          "covered_surfaces": [
            {
              "node_kind": "resource",
              "node_id": "dashboard-signup"
            }
          ]
        },
        "note": "Autonomous sign up could not proceed because the headless flow was blocked by an incompatible browser page."
      },
      {
        "stage": "sign_up",
        "signal_code": "stable_entrypoint",
        "value": "yes",
        "observed_at": "2026-08-07T21:15:31.994Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "dashboard-signup"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "The signup registration endpoint is stable and reachable over HTTP with a canonical URL."
      },
      {
        "stage": "sign_up",
        "signal_code": "supported_identity_flow",
        "value": "yes",
        "observed_at": "2026-08-07T21:15:30.854Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "authentication"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Stripe documents a scoped, revocable machine identity flow using restricted API keys with granular permissions alongside secret keys created in the dashboard."
      },
      {
        "stage": "pay",
        "signal_code": "explicit_price",
        "value": "yes",
        "observed_at": "2026-08-07T21:15:14.357Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "pricing"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Stripe's pricing page explicitly outlines pay-as-you-go processing rates (e.g., 1.7% + A$0.30 for domestic cards) with no setup or monthly fees."
      },
      {
        "stage": "pay",
        "signal_code": "machine_operable_checkout",
        "value": "not_applicable",
        "observed_at": "2026-08-07T21:15:24.447Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "dashboard-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "negative_coverage": {
          "kind": "bounded-rendered-flow-inspection",
          "scope": "tested-surfaces",
          "covered_surfaces": [
            {
              "node_kind": "resource",
              "node_id": "dashboard-signup"
            }
          ]
        },
        "note": "The API payment lifecycle for Stripe Payments API does not include a service-level checkout step; billing occurs pay-as-you-go per transaction."
      },
      {
        "stage": "pay",
        "signal_code": "sales_intervention_free",
        "value": "yes",
        "observed_at": "2026-08-07T21:15:24.447Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "dashboard-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Account registration and API access can be completed self-serve online without sales intervention."
      },
      {
        "stage": "pay",
        "signal_code": "supported_payment_rail",
        "value": "not_applicable",
        "observed_at": "2026-08-07T21:15:24.447Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "dashboard-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "negative_coverage": {
          "kind": "bounded-rendered-flow-inspection",
          "scope": "tested-surfaces",
          "covered_surfaces": [
            {
              "node_kind": "resource",
              "node_id": "dashboard-signup"
            }
          ]
        },
        "note": "The service API lifecycle operates on pay-as-you-go transactional deduction and does not require a separate payment rail for account checkout."
      },
      {
        "stage": "provision",
        "signal_code": "automatic_activation",
        "value": "yes",
        "observed_at": "2026-08-07T23:53:11.124Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "testing"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Stripe provides test API keys and sandboxes for immediate integration testing without manual vendor intervention."
      },
      {
        "stage": "provision",
        "signal_code": "bounded_delay",
        "value": "unknown",
        "observed_at": "2026-08-07T21:15:18.258Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-errors"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "The documentation does not specify an explicit bounded delay time guarantee for provisioning completion."
      },
      {
        "stage": "provision",
        "signal_code": "credential_delivery",
        "value": "yes",
        "observed_at": "2026-08-07T21:15:30.854Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "authentication"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "API keys are delivered and managed via the Stripe Dashboard for authenticating API requests."
      },
      {
        "stage": "provision",
        "signal_code": "machine_readable_status",
        "value": "yes",
        "observed_at": "2026-08-07T21:15:18.258Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-errors"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Stripe API returns structured, machine-readable HTTP response codes and error type objects."
      },
      {
        "stage": "operate",
        "signal_code": "api_tool_access",
        "value": "yes",
        "observed_at": "2026-08-07T21:15:11.124Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-reference"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Stripe Payments API provides a fully documented REST API interface for managing payments, customers, charges, and payment intents over HTTPS."
      },
      {
        "stage": "operate",
        "signal_code": "delegated_recovery",
        "value": "yes",
        "observed_at": "2026-08-07T21:15:16.141Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "idempotency"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Idempotent requests allow automated retry and recovery from connection errors without duplicating operations by passing an Idempotency-Key header."
      },
      {
        "stage": "operate",
        "signal_code": "documented_limits_errors",
        "value": "yes",
        "observed_at": "2026-08-07T21:15:18.258Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-errors"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Stripe documents HTTP response codes, structured error types, idempotency errors, and rate-limiting status codes like 429 with exponential backoff recommendations."
      },
      {
        "stage": "operate",
        "signal_code": "usable_authentication",
        "value": "yes",
        "observed_at": "2026-08-07T21:15:20.055Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "authentication"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "API requests are authenticated using HTTP basic authentication with API keys (secret keys or restricted API keys) sent over HTTPS."
      }
    ],
    "revision_digest": "sha256:1700725a342b1b59e0ab22ef77e1abd030f10e50d3fbde73a285162a1bf07972"
  }
}
