{
  "contract": "sourcey.site-record/v1alpha1",
  "release_id": "sha256:01878e420becfd35dc17fcd9c45ae9fd7f77cece1fedfdf68ac6cdf861f9432b",
  "snapshot_id": "sha256:941812942078a95ce94c3802726dfad46394ed4e8faec931d0d61f4cd6c48a88",
  "artifact_sha256": "sha256:207717acd882c5f10a288d4c057d2e8e74e62a63a0cda0bb875692c63b5ca5bd",
  "data": {
    "entity_id": "ent_01kyyts97rczvy7tt3n9gd0y3n",
    "entity_slug": "brex",
    "profile": {
      "projection_contract": "sourcey.agent-readiness-projection/v1alpha1",
      "agent_readiness_profile_id": "arp_01m4tbq1p3s9pthp909ga8qh15",
      "entity_id": "ent_01kyyts97rczvy7tt3n9gd0y3n",
      "scope": {
        "product": {
          "key": "brex-payments-api",
          "name": "Brex Payments API"
        },
        "job": {
          "key": "payee-create",
          "name": "Add a payee"
        }
      },
      "catalog_binding": {
        "base_release_id": "sha256:b8d2307bdb2bd192cdb6e4a0586bf54e4c306eb8bae6a6f3c48ddff04bcdcee1",
        "entity_revision_digest": "sha256:277ce80621b999564801bfb31f6d61cb66db76581539a8e38a0caad122da1fd6"
      },
      "declaration_revision_digest": "sha256:79a518f25f97aeaa40d0f3f3393216fc850cd888d326bec30a341cbe9e761c24",
      "declaration": {
        "declaration_id": "declaration_brex_brex_payments_api_payee_create",
        "provenance": {
          "repository": "sourcey/agent-ready-services",
          "commit": "1ec09460d848812bbc741bd6bfb9924423414cc9",
          "path": "entities/br/brex.yaml",
          "git_blob_oid": "a6a795f591ba8fd13dff01dafe4b1e6329b2671f",
          "blob_digest": "sha256:ad96fc5a1c894a308a8e45d6101eb9d47067ba30144fed971fc228d4ce07b070"
        },
        "status": "community_declared"
      },
      "surface_catalog": {
        "participants": [
          {
            "participant_id": "brex",
            "roles": [
              "access_operator",
              "identity_provider",
              "operations_provider",
              "payment_provider",
              "provisioning_provider",
              "subject"
            ],
            "identity": {
              "entity_id": "ent_01kyyts97rczvy7tt3n9gd0y3n"
            }
          }
        ],
        "resources": [
          {
            "resource_id": "account-signup",
            "uri": "https://www.brex.com/signup",
            "roles": [
              "access"
            ],
            "operated_by_participant_id": "brex",
            "standard_bindings": []
          },
          {
            "resource_id": "api-reference",
            "uri": "https://developer.brex.com/openapi/payments_api/vendors/createvendor",
            "roles": [
              "discovery",
              "documentation",
              "operations",
              "provisioning"
            ],
            "operated_by_participant_id": "brex",
            "standard_bindings": []
          },
          {
            "resource_id": "authentication",
            "uri": "https://developer.brex.com/guides/authentication",
            "roles": [
              "authentication",
              "documentation"
            ],
            "operated_by_participant_id": "brex",
            "standard_bindings": []
          },
          {
            "resource_id": "pricing",
            "uri": "https://www.brex.com/pricing",
            "roles": [
              "pricing"
            ],
            "operated_by_participant_id": "brex",
            "standard_bindings": []
          },
          {
            "resource_id": "service-terms",
            "uri": "https://www.brex.com/legal/platform-agreement",
            "roles": [
              "terms"
            ],
            "operated_by_participant_id": "brex",
            "standard_bindings": []
          }
        ],
        "endpoints": [
          {
            "endpoint_id": "account-application",
            "uri": "https://www.brex.com/signup",
            "transport": "http",
            "roles": [
              "access_request"
            ],
            "operated_by_participant_id": "brex",
            "standard_bindings": []
          },
          {
            "endpoint_id": "service-api",
            "uri": "https://api.brex.com",
            "transport": "http",
            "roles": [
              "service"
            ],
            "operated_by_participant_id": "brex",
            "standard_bindings": []
          }
        ],
        "interfaces": [
          {
            "interface_id": "api-authentication",
            "modality": "network_api",
            "functions": [
              "authentication"
            ],
            "endpoint_ids": [],
            "resource_ids": [
              "authentication"
            ],
            "operated_by_participant_id": "brex",
            "standard_bindings": []
          },
          {
            "interface_id": "service-api",
            "modality": "network_api",
            "functions": [
              "service_operation"
            ],
            "endpoint_ids": [
              "service-api"
            ],
            "resource_ids": [
              "api-reference"
            ],
            "operated_by_participant_id": "brex",
            "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": "account-signup"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "api-authentication"
            }
          }
        ],
        "surface_exclusions": [
          {
            "exclusion_id": "free-job-no-checkout",
            "role": "checkout",
            "rationale": "Brex Essentials is $0 per user a month and includes Brex API access and bill pay."
          },
          {
            "exclusion_id": "separate-eligibility-resource",
            "role": "eligibility",
            "rationale": "Brex opens accounts by application and approves each one."
          }
        ]
      },
      "lifecycle": "active",
      "effective_from": "2026-10-13T10:08:46.496Z",
      "revision_digest": "sha256:bfccc79e34e9a84fe5502ea18ef6eaca480bc4a8f4db7a489bdb02f3ed8d34b7",
      "policy_digest": "sha256:b612172aad277b54461de84e006815126f2df566563954b02f4432a39cad89ac",
      "policy_version": "kind-2026-10-12.2",
      "policy_as_of": "2026-10-05T00:00:00Z",
      "job": {
        "job_id": "payee-create",
        "job_digest": "sha256:fb7e65b8af75fbaaf137b816e3386cc642670b3ce34d854e85e2bbbe2b07836e",
        "category": "business-banking",
        "name": "Add a payee",
        "statement": "Add a payee named with the run's nonce, then read it back."
      },
      "interface_id": "service-api",
      "label": "probed",
      "label_run_at": null,
      "grade": {
        "letter": "D",
        "statement": "Access depends on sales or approval.",
        "steps": [
          {
            "step": "discover",
            "outcome": "machine",
            "timing": null
          },
          {
            "step": "authority",
            "outcome": "approval",
            "timing": "setup"
          },
          {
            "step": "onboard",
            "outcome": "gated",
            "timing": null
          },
          {
            "step": "pay",
            "outcome": "not_applicable",
            "timing": null
          },
          {
            "step": "confirm",
            "outcome": "workaround",
            "timing": "recurring"
          },
          {
            "step": "sustain",
            "outcome": "machine",
            "timing": null
          }
        ],
        "job": "reachable",
        "approvals": [
          "authority"
        ],
        "workarounds": [
          {
            "step": "confirm",
            "timing": "recurring"
          }
        ]
      },
      "discovery": [
        {
          "fact": "agent_documentation",
          "value": "https://www.brex.com/llms.txt",
          "descriptor_url": "https://www.brex.com/llms.txt",
          "attempt_digest": "sha256:9fdc23938adc9b4bc390a20fc45343e5a593eef30a85b77f13327766d0c7737c",
          "adapter": {
            "namespace": "llms.txt",
            "version": "1"
          }
        },
        {
          "fact": "oauth_protected_resource",
          "value": "https://api.brex.com/",
          "descriptor_url": "https://api.brex.com/.well-known/oauth-protected-resource/v1/vendors",
          "attempt_digest": "sha256:2a5154044ad772962552d686a28751fc1461fc685ba95371e822494b9a11a66e",
          "adapter": {
            "namespace": "rfc9728",
            "version": "1"
          }
        },
        {
          "fact": "oauth_authorization_server",
          "value": "https://api.brex.com/",
          "descriptor_url": "https://api.brex.com/.well-known/oauth-protected-resource/v1/vendors",
          "attempt_digest": "sha256:2a5154044ad772962552d686a28751fc1461fc685ba95371e822494b9a11a66e",
          "adapter": {
            "namespace": "rfc9728",
            "version": "1"
          }
        },
        {
          "fact": "oauth_authorization_server",
          "value": "https://accounts-api.brex.com/oauth2/default",
          "descriptor_url": "https://api.brex.com/.well-known/oauth-protected-resource/v1/vendors",
          "attempt_digest": "sha256:2a5154044ad772962552d686a28751fc1461fc685ba95371e822494b9a11a66e",
          "adapter": {
            "namespace": "rfc9728",
            "version": "1"
          }
        },
        {
          "fact": "oauth_authorization_server",
          "value": "https://api.brex.com/",
          "descriptor_url": "https://api.brex.com/.well-known/oauth-authorization-server",
          "attempt_digest": "sha256:0a500723b10500d697ac2a9976908bcd38f1672c33b30aa13950e9c8241ebb7d",
          "adapter": {
            "namespace": "rfc8414",
            "version": "1"
          }
        },
        {
          "fact": "agent_documentation",
          "value": "https://developer.brex.com/llms.txt",
          "descriptor_url": "https://developer.brex.com/llms.txt",
          "attempt_digest": "sha256:4d0465fdbcaab62dfd0913c5c4cafd9689e28a5bb88dca0664211a8eee362610",
          "adapter": {
            "namespace": "llms.txt",
            "version": "1"
          }
        },
        {
          "fact": "documentation_route",
          "value": "https://api.brex.com/",
          "descriptor_url": "https://developer.brex.com/openapi/accounting_api.md",
          "attempt_digest": "sha256:f65eddd4d0ea9618c20ee397e258b29b34a63643ef6bf518b737f153ced4a75e",
          "adapter": {
            "namespace": "llms.txt",
            "version": "route"
          }
        }
      ],
      "discovery_run_at": null,
      "run": {
        "started_at": "2026-10-13T10:07:53.563Z",
        "finished_at": "2026-10-13T10:08:46.496Z",
        "discovery_reads": 30,
        "exchanges": [
          {
            "purpose": "probe_operation",
            "role": "request",
            "method": "POST",
            "url": "https://api.brex.com/v1/vendors",
            "started_at": "2026-10-13T10:08:21.321Z",
            "finished_at": "2026-10-13T10:08:21.589Z",
            "response": {
              "status": 401,
              "media_type": "application/octet-stream",
              "content_bytes": 0,
              "content_digest": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
            },
            "transport_error": null,
            "exchange_digest": "sha256:ae7a03c2fd69bca4fb33eac20fe25712faa863aeb3f2524c39b584bd8aaf5b88"
          },
          {
            "purpose": "probe_resource_metadata",
            "role": "request",
            "method": "GET",
            "url": "https://api.brex.com/.well-known/oauth-protected-resource/v1/vendors",
            "started_at": "2026-10-13T10:08:25.437Z",
            "finished_at": "2026-10-13T10:08:25.713Z",
            "response": {
              "status": 200,
              "media_type": "application/json",
              "content_bytes": 635,
              "content_digest": "sha256:a06b010f5d31c604f9ceb9b5fbe38c7ceae457227ce32cf3edad731b3ab39eb8"
            },
            "transport_error": null,
            "exchange_digest": "sha256:964715e9b20ba250cf43380ec2e015174efa2e04d072a9754976d0a76aafb07f"
          },
          {
            "purpose": "probe_authorization_server",
            "role": "request",
            "method": "GET",
            "url": "https://api.brex.com/.well-known/oauth-authorization-server",
            "started_at": "2026-10-13T10:08:28.892Z",
            "finished_at": "2026-10-13T10:08:29.162Z",
            "response": {
              "status": 200,
              "media_type": "application/json",
              "content_bytes": 1189,
              "content_digest": "sha256:a6722196e0458f51d12d044c9cb88ba6f33494a76483bdfbf9bcf096ded9888a"
            },
            "transport_error": null,
            "exchange_digest": "sha256:2d6657bd18f6d5f31716ded7e1fa721198881899ac700c36aef1a9e8d8a398cf"
          },
          {
            "purpose": "probe_client_registration",
            "role": "request",
            "method": "POST",
            "url": "https://api.brex.com/v3/clients",
            "started_at": "2026-10-13T10:08:32.265Z",
            "finished_at": "2026-10-13T10:08:34.199Z",
            "response": {
              "status": 201,
              "media_type": "application/json",
              "content_bytes": 717,
              "content_digest": "sha256:26ec0c99081dbb5f46b2c544d55b8ddd81c3ab3fdeb7cd6f5654bcf791ccbd5c"
            },
            "transport_error": null,
            "exchange_digest": "sha256:1826cb21357193cbd0367e9b310385baa59f93e4ba77a9bbe342a080ebb8fc8d"
          },
          {
            "purpose": "probe_authorization",
            "role": "request",
            "method": "GET",
            "url": "https://accounts-api.brex.com/oauth2/default/v1/authorize?response_type=code&client_id=bri_v2_dd8c5477167d27017d58921d8fc55ae5&redirect_uri=https%3A%2F%2Fapi.sourcey.com%2F.well-known%2Fagent-readiness%2Fcallback&state=7cf9448e50187aa5f8dde1aad1e988e7&code_challenge=1QSpDQYxRtAAy9584GjYuY_MaxAIi8odAR4Ljex9yc4&code_challenge_method=S256&resource=https%3A%2F%2Fapi.brex.com%2Fv1%2Fvendors&scope=openid+offline_access+email+users.readonly+departments.readonly+locations.readonly+titles.readonly+legal_entities.readonly+cards.readonly+cards+companies.readonly+budgets.readonly+travel.trips.readonly+expenses.card.readonly+expenses.card+expenses.bill+accounts.cash.readonly+vendors.readonly+accounting.integration.read+accounting.record.read+fields.read+field_values.read",
            "started_at": "2026-10-13T10:08:38.162Z",
            "finished_at": "2026-10-13T10:08:38.548Z",
            "response": {
              "status": 200,
              "media_type": "text/html",
              "content_bytes": 38526,
              "content_digest": "sha256:730cad2700fe2da98fffcf6b111a5fc2349d3933e5b07b0b0dbcf0a056516a23"
            },
            "transport_error": null,
            "exchange_digest": "sha256:abca11547f37ed344f37a30a6723dbb5785b32e36c8f27f5fe689b788d132029"
          },
          {
            "purpose": "probe_page",
            "role": "request",
            "method": "GET",
            "url": "https://www.brex.com/signup",
            "started_at": "2026-10-13T10:08:42.502Z",
            "finished_at": "2026-10-13T10:08:42.608Z",
            "response": {
              "status": 200,
              "media_type": "text/html",
              "content_bytes": 58841,
              "content_digest": "sha256:2656f63574eae44a46d04273b6b09d09a9911107102b0da4a91c202bf974f9e1"
            },
            "transport_error": null,
            "exchange_digest": "sha256:99a2b879408071733ce37f4f4dd006a4220309feb615fb60cb403cc7ad471919"
          }
        ],
        "assertions": []
      },
      "last_run_at": "2026-10-13T10:08:46.496Z",
      "publication": {
        "visibility": "discoverable",
        "reasons": []
      },
      "provenance": {
        "dispute": "none",
        "vendor_attestation": {
          "status": "none"
        },
        "basis_event_ids": []
      },
      "canonical_url": "https://sourcey.com/c/brex/agent-readiness/brex-payments-api/payee-create",
      "projection_digest": "sha256:99220343098753372e19093cf8176625fc8d94069ed8c32ea794006ac623c852"
    }
  }
}
