GitHub
TransversePATH CROSSWAY

API reference

DISCOVERY

Crossway stage 1 — which external registry can know this key. Answered from the key's form and the connector register. No registry is queried.

LIVE — PIP-0014.

Private access. The Crossway API is operated by Path Global. Access is closed and granted per client and per registry, on request at pathglobal.finance. Requests are signed as in Authentication, under a key issued by Path Global, and sent from your server only.

https://api.pathglobal.finance/crossway/v1

Answers which external registry can know this key. Never whether it is there: that is SONAR, budgeted. See the spec.


POST /discovery

{
  "key_type": "phone",
  "key": "+5511987654321"
}
FieldRequiredNotes
key_typeyesphone, email, tax, random, alias, iban, vpa
keyyesThe raw external key. Never a PATH address

Response

{
  "kind": "crossway.discovery",
  "key_type": "phone",
  "candidates": [
    {
      "registry": "pix.dict",
      "rail": "pix",
      "zone": "BR",
      "operations": ["sonar", "resolver", "payee_check"],
      "granted": true
    }
  ]
}

granted says whether your access covers that registry. An empty candidates means no connector handles keys of this form. It says nothing about the key itself.

Discovery is not budgeted and not signed: it states a property of the key's form, which anyone can recompute.

GET /registries

The connector register: every registry Crossway can read, with its operations and status. Unauthenticated.

{
  "registries": [
    { "registry": "pix.dict", "zone": "BR", "operations": ["sonar", "resolver", "payee_check"], "status": "planned" },
    { "registry": "pi-spi.alias", "zone": "UEMOA", "operations": ["sonar", "resolver", "payee_check"], "status": "planned" },
    { "registry": "upi.vpa", "zone": "IN", "operations": ["sonar", "resolver", "payee_check"], "status": "planned" },
    { "registry": "sepa-inst.vop", "zone": "SEPA", "operations": ["payee_check"], "status": "planned" }
  ]
}

Errors

CodeStatusMeaning
crossway.key.invalid400The key does not parse as key_type
crossway.auth.unauthenticated401Missing or invalid signature

On this page