{"name":"Qart API","version":"v1","whoami":"GET /api/v1/me","auth":{"none":"No credentials.","bearer":"Authorization: Bearer <user API key>. A key acts as its user, with that user's org roles. Create one at /settings.","webhook":"Signed by the provider (Stripe, HandCash).","commerce_key":"x-commerce-key: <organization commerce public key>. Publishable, not a secret.","bearer_optional":"Authorization: Bearer <user API key>, optional at the pipeline. Endpoints that act on a user return 401 without one.","paygate_key":"Authorization: Bearer <Paygate account API key>. Not a user API key."},"description":"BSV commerce toolkit API","endpoints":[{"path":"/api/webhooks/stripe","auth":"webhook","method":"POST","role":null},{"path":"/api/webhooks/handcash","auth":"webhook","method":"POST","role":null},{"path":"/api/v1/bsvalias/id/:paymail","auth":"none","method":"GET","role":null},{"path":"/api/v1/bsvalias/address/:paymail","auth":"none","method":"GET","role":null},{"path":"/api/v1/bsvalias/address/:paymail","auth":"none","method":"POST","role":null},{"path":"/api/v1/bsvalias/public-profile/:paymail","auth":"none","method":"GET","role":null},{"path":"/api/v1/bsvalias/verifypubkey/:paymail/:pubkey","auth":"none","method":"GET","role":null},{"path":"/api/pos/cards/:card_id","auth":"none","method":"GET","role":null},{"path":"/api/pos/cards/address/:address","auth":"none","method":"GET","role":null},{"path":"/api/pos/prepaid-cards/lookup/:identifier","auth":"none","method":"GET","role":null},{"path":"/api/pos/prepaid-cards/:id","auth":"none","method":"GET","role":null},{"path":"/api/pos/loyalty-cards/lookup/:identifier","auth":"none","method":"GET","role":null},{"path":"/api/pos/loyalty-cards/:id","auth":"none","method":"GET","role":null},{"path":"/api/pos/orders/:order_number","auth":"none","method":"GET","role":null},{"path":"/api/pos/cards","auth":"bearer","method":"POST","role":"staff"},{"path":"/api/pos/shops/:shop_id/cards","auth":"bearer","method":"GET","role":"staff"},{"path":"/api/pos/prepaid-cards","auth":"bearer","method":"POST","role":"staff"},{"path":"/api/pos/prepaid-cards/:id/use","auth":"bearer","method":"POST","role":"staff"},{"path":"/api/pos/prepaid-cards/:id/transfer","auth":"bearer","method":"POST","role":"staff"},{"path":"/api/pos/loyalty-cards","auth":"bearer","method":"POST","role":"staff"},{"path":"/api/pos/loyalty-cards/:id/stamp","auth":"bearer","method":"POST","role":"staff"},{"path":"/api/pos/loyalty-cards/:id/redeem","auth":"bearer","method":"POST","role":"staff"},{"path":"/api/pos/loyalty-cards/:id/transfer","auth":"bearer","method":"POST","role":"staff"},{"path":"/api/pos/orders","auth":"bearer","method":"POST","role":"staff"},{"path":"/api/pos/orders/:order_number/confirm","auth":"bearer","method":"POST","role":"staff"},{"path":"/api/auth/challenge","auth":"none","method":"POST","role":null},{"path":"/api/auth/verify","auth":"none","method":"POST","role":null},{"path":"/api/v1","auth":"none","method":"GET","role":null},{"path":"/api/v1/capabilities","auth":"none","method":"GET","role":null},{"path":"/api/v1/402/resources","auth":"paygate_key","method":"GET","role":null},{"path":"/api/v1/402/resources","auth":"paygate_key","method":"POST","role":null},{"path":"/api/v1/402/resources/:id","auth":"paygate_key","method":"DELETE","role":null},{"path":"/api/v1/402/check","auth":"paygate_key","method":"POST","role":null},{"path":"/api/v1/402/verify","auth":"paygate_key","method":"POST","role":null},{"path":"/api/v1/402/payments","auth":"paygate_key","method":"GET","role":null},{"path":"/api/v1/me","auth":"bearer","method":"GET","role":null},{"path":"/api/v1/organizations","auth":"bearer","method":"GET","role":null},{"path":"/api/v1/wallet/prepaid-cards","auth":"bearer","method":"GET","role":null},{"path":"/api/v1/wallet/loyalty-cards","auth":"bearer","method":"GET","role":null},{"path":"/api/v1/prepaid-cards/purchase","auth":"bearer","method":"POST","role":null},{"path":"/api/v1/loyalty-cards","auth":"bearer","method":"POST","role":null},{"path":"/api/v1/onboard","auth":"bearer_optional","method":"POST","role":null},{"path":"/api/v1/organizations","auth":"bearer_optional","method":"POST","role":null},{"path":"/api/v1/organizations/:handle","auth":"bearer","method":"GET","role":"staff"},{"path":"/api/v1/orgs/:handle/items","auth":"bearer","method":"POST","role":"staff"},{"path":"/api/v1/orgs/:handle/items","auth":"bearer","method":"GET","role":"staff"},{"path":"/api/v1/orgs/:handle/capabilities","auth":"bearer","method":"GET","role":"staff"},{"path":"/api/v1/orgs/:handle/ledger","auth":"bearer","method":"GET","role":"admin"},{"path":"/api/v1/peers","auth":"none","method":"GET","role":null},{"path":"/api/v1/peers/exchange","auth":"none","method":"POST","role":null},{"path":"/api/v1/feeds","auth":"bearer_optional","method":"GET","role":null},{"path":"/api/v1/feeds","auth":"bearer_optional","method":"POST","role":null},{"path":"/api/v1/shops/:org_handle/sign","auth":"none","method":"GET","role":null},{"path":"/api/v1/commerce/:merchant_handle","auth":"commerce_key","method":"GET","role":null},{"path":"/api/v1/commerce/:merchant_handle/catalog","auth":"commerce_key","method":"GET","role":null},{"path":"/api/v1/commerce/:merchant_handle/catalog/:id","auth":"commerce_key","method":"GET","role":null},{"path":"/api/v1/commerce/:merchant_handle/checkout","auth":"commerce_key","method":"POST","role":null},{"path":"/api/v1/commerce/:merchant_handle/checkout/:public_token/status","auth":"commerce_key","method":"GET","role":null},{"path":"/api/v1/commerce/:merchant_handle/tickets","auth":"commerce_key","method":"GET","role":null},{"path":"/api/v1/commerce/:merchant_handle/tickets/checkout","auth":"commerce_key","method":"POST","role":null},{"path":"/api/v1/discover/nearby","auth":"bearer_optional","method":"GET","role":null},{"path":"/api/v1/discover/search","auth":"bearer_optional","method":"GET","role":null},{"path":"/api/v1/discover/featured","auth":"bearer_optional","method":"GET","role":null},{"path":"/api/v1/discover/categories","auth":"bearer_optional","method":"GET","role":null},{"path":"/api/v1/discover/categories/:category","auth":"bearer_optional","method":"GET","role":null},{"path":"/api/v1/discover/merchants/:merchant_handle","auth":"bearer_optional","method":"GET","role":null},{"path":"/api/v1/passes/coffee/:card_id/apple","auth":"bearer_optional","method":"GET","role":null},{"path":"/api/v1/passes/coffee/:card_id/google","auth":"bearer_optional","method":"GET","role":null},{"path":"/api/v1/items/analyze","auth":"bearer_optional","method":"POST","role":null},{"path":"/api/v1/items","auth":"bearer_optional","method":"POST","role":null},{"path":"/api/v1/orgs/:handle/menu","auth":"bearer","method":"GET","role":"staff"},{"path":"/api/v1/orgs/:handle/menu","auth":"bearer","method":"PUT","role":"staff"},{"path":"/api/v1/orgs/:handle/tickets/catalog","auth":"bearer","method":"PUT","role":"admin"},{"path":"/api/v1/orgs/:handle/tickets/orders","auth":"bearer","method":"GET","role":"admin"},{"path":"/api/v1/pins","auth":"bearer_optional","method":"POST","role":null},{"path":"/api/v1/pins/nearby","auth":"bearer_optional","method":"GET","role":null},{"path":"/api/v1/wallet/utxos","auth":"bearer_optional","method":"GET","role":null},{"path":"/api/v1/wallet/broadcast","auth":"bearer_optional","method":"POST","role":null},{"path":"/api/v1/mnee/intents","auth":"bearer_optional","method":"POST","role":null},{"path":"/api/v1/mnee/intents/:payment_id","auth":"bearer_optional","method":"GET","role":null},{"path":"/api/v1/mnee/intents/:payment_id/settle","auth":"bearer_optional","method":"POST","role":null},{"path":"/api/v1/bsv/*path","auth":"bearer_optional","method":"GET","role":null},{"path":"/api/v1/bsv/*path","auth":"bearer_optional","method":"POST","role":null}],"roles":{"owner":["owner"],"admin":["owner","admin"],"staff":["owner","admin","staff"]}}