{
  "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_01kzf0m4xe2b7nt9w4r6dh1q8c",
    "entity_id": "ent_01kyh8fpe4qj5yt6msnarsc8kz",
    "scope": {
      "product": {
        "key": "openai-api",
        "name": "OpenAI API"
      },
      "funnel": {
        "key": "api-service-lifecycle",
        "name": "API service lifecycle"
      }
    },
    "catalog_binding": {
      "base_release_id": "sha256:5082ec07047a2324648f569d234cc64342ce2707b2f3d77fde8fc06af517cee6",
      "entity_revision_digest": "sha256:9dbff8fedbd20ce0405507b4e12de62cdc7f7adbd19a8a02640e8ea00362d85e"
    },
    "declaration_revision_digest": "sha256:03ba38cad408805e6955f5598a4ed3e897576025545aba85a2f94d21ecc6582f",
    "declaration": {
      "declaration_id": "declaration_openai_api_service_lifecycle",
      "provenance": {
        "repository": "sourcey/agent-ready-services",
        "commit": "00f00edd170194cc1cf3081b97b218474537ffdb",
        "path": "vendors/op/openai.yaml",
        "git_blob_oid": "386e4607936278f58655cea6567845537eabfb32",
        "blob_digest": "sha256:69c16875ddcb00413a3b030a4255867e3d2cdc4a5bf305d105064d35dbc129a7"
      },
      "status": "community_declared"
    },
    "lifecycle": "active",
    "effective_from": "2026-08-08T02:07:06.749Z",
    "signals": [
      {
        "stage": "evaluate",
        "signal_code": "decidable_eligibility",
        "value": "yes",
        "observed_at": "2026-08-07T21:14:10.794Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "service-terms"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "OpenAI specifies clear public eligibility criteria for accessing its business and developer API services, including geographic restrictions and compliance with applicable trade control laws."
      },
      {
        "stage": "evaluate",
        "signal_code": "machine_discovery",
        "value": "yes",
        "observed_at": "2026-08-07T21:26:00.003Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-reference"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "The product and funnel are machine-discoverable through standard OpenAPI / documentation index endpoints like llms.txt and direct structured API references."
      },
      {
        "stage": "evaluate",
        "signal_code": "readable_pricing",
        "value": "yes",
        "observed_at": "2026-08-07T21:14:14.810Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "pricing"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Pricing per token, cached input, and output across models is clearly published and machine-readable on the public pricing page."
      },
      {
        "stage": "evaluate",
        "signal_code": "structured_terms",
        "value": "partial",
        "observed_at": "2026-08-07T21:14:10.794Z",
        "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 OpenAI Services Agreement is publicly accessible as stable HTML and PDF documents, but is not exposed in a fully machine-readable structured data format like JSON-LD."
      },
      {
        "stage": "sign_up",
        "signal_code": "captcha_free",
        "value": "unknown",
        "observed_at": "2026-08-07T21:14:21.149Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "platform-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "The captured headless signup page content only contains title metadata and lacks sufficient form details to determine if CAPTCHA blocks signup."
      },
      {
        "stage": "sign_up",
        "signal_code": "machine_operable_form",
        "value": "unknown",
        "observed_at": "2026-08-07T21:14:21.149Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "platform-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "The retained signup evidence consists only of metadata and page titles, providing insufficient detail to verify machine-operable controls."
      },
      {
        "stage": "sign_up",
        "signal_code": "phone_verification_free",
        "value": "unknown",
        "observed_at": "2026-08-07T21:14:21.149Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "platform-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "The captured evidence does not reveal the complete signup workflow, leaving it unestablished whether phone verification is required."
      },
      {
        "stage": "sign_up",
        "signal_code": "stable_entrypoint",
        "value": "yes",
        "observed_at": "2026-08-07T21:14:23.365Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "platform-signup"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "The platform signup HTTP target resolves successfully and provides a stable landing entrypoint for account creation."
      },
      {
        "stage": "sign_up",
        "signal_code": "supported_identity_flow",
        "value": "yes",
        "observed_at": "2026-08-07T21:26:12.128Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "quickstart"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Documentation outlines scoped service accounts, API keys created in the dashboard, and workload identity federation across multiple providers with explicit access controls."
      },
      {
        "stage": "pay",
        "signal_code": "explicit_price",
        "value": "yes",
        "observed_at": "2026-08-07T21:14:14.810Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "pricing"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "OpenAI provides explicit pricing for API models, multimodal capabilities, and tools per token or per unit of time."
      },
      {
        "stage": "pay",
        "signal_code": "machine_operable_checkout",
        "value": "unknown",
        "observed_at": "2026-08-07T21:14:21.149Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "platform-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Retained evidence from the signup endpoint does not provide sufficient details on machine-operable checkout controls."
      },
      {
        "stage": "pay",
        "signal_code": "sales_intervention_free",
        "value": "unknown",
        "observed_at": "2026-08-07T21:14:21.149Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "platform-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Evidence from the signup endpoint is insufficient to confirm whether the standard checkout flow requires sales intervention."
      },
      {
        "stage": "pay",
        "signal_code": "supported_payment_rail",
        "value": "unknown",
        "observed_at": "2026-08-07T21:14:21.149Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "platform-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Available evidence on the platform signup page does not establish supported payment rails."
      },
      {
        "stage": "provision",
        "signal_code": "automatic_activation",
        "value": "yes",
        "observed_at": "2026-08-07T21:26:12.128Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "quickstart"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Creating an API key in the dashboard immediately activates access for API invocation."
      },
      {
        "stage": "provision",
        "signal_code": "bounded_delay",
        "value": "unknown",
        "observed_at": "2026-08-07T21:26:00.746Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-errors"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "A bounded provisioning delay timeframe is not documented in the provided evidence."
      },
      {
        "stage": "provision",
        "signal_code": "credential_delivery",
        "value": "yes",
        "observed_at": "2026-08-07T21:26:12.128Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "quickstart"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "API keys are generated and provided directly through the developer platform dashboard."
      },
      {
        "stage": "provision",
        "signal_code": "machine_readable_status",
        "value": "unknown",
        "observed_at": "2026-08-07T21:26:00.746Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-errors"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Machine-readable provisioning progress and terminal status transitions are not established in the provided evidence."
      },
      {
        "stage": "operate",
        "signal_code": "api_tool_access",
        "value": "yes",
        "observed_at": "2026-08-07T21:26:00.003Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-reference"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "OpenAI API provides documented HTTP REST endpoints, official SDKs (Python, Node.js, Go, Java, .NET, Ruby), and WebSocket/WebRTC interfaces for programmatic model interaction and resource administration."
      },
      {
        "stage": "operate",
        "signal_code": "delegated_recovery",
        "value": "yes",
        "observed_at": "2026-08-07T21:26:00.746Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-errors"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "OpenAI API documents recovery strategies including generating new API keys upon invalid credentials or revocation, clearing caches, adjusting spend/rate limits, and handling retries via Retry-After headers and WebSocket reconnects."
      },
      {
        "stage": "operate",
        "signal_code": "documented_limits_errors",
        "value": "yes",
        "observed_at": "2026-08-07T21:26:00.746Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-errors"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "OpenAI API documents structured error codes, rate limits, spend limits, and retry guidance such as pacing requests and using Retry-After headers."
      },
      {
        "stage": "operate",
        "signal_code": "usable_authentication",
        "value": "yes",
        "observed_at": "2026-08-07T21:26:01.510Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "quickstart"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "OpenAI API authentication is fully documented and usable via API keys set as system environment variables (OPENAI_API_KEY) and automatically read by the SDKs."
      }
    ],
    "revision_digest": "sha256:92590800933bde5783fc679529b90c64b4e081721fb823ff3892d9c2526bd35b"
  }
}
