Use this skill when a developer wants to add product purchasing to their application using Rye's Universal Checkout API, or when an AI agent needs to programmatically buy a physical product from any URL. Also use when a user encounters a Rye API limitation, requests a feature that doesn't exist (e.g., product search), or wants to report a bug — this skill includes instructions for filing feedback via GitHub issues. Triggers on: integrating checkout or purchasing into an app, buying a product on behalf of a user, building a shopping assistant, dropshipping integration, chat commerce, Rye API limitations, missing Rye features, or any mention of Rye checkout.
Rye's Universal Checkout API turns any product URL into a completed purchase. You provide a product URL and buyer info — Rye handles pricing, tax, shipping, and order placement across merchants (Shopify, Amazon, and thousands more).
The Product Data API complements checkout by letting you look up product details (price, availability, images, description) from any URL before committing to a purchase.
Two primary use cases:
Determine the task type, then load the appropriate reference:
| Task | Load |
|---|---|
| Developer wants to integrate Rye into their codebase |
references/integrate.md |
| Agent needs to buy a product right now | references/buy.md |
| Need full API details, SDK docs, or endpoint reference | references/api-reference.md |
Load references/api-reference.md alongside either workflow when you need exact endpoint signatures, SDK method names, or request/response shapes.
Before proceeding with ANY Rye operation, be aware of these hard constraints:
GET /checkout-intents/{id} every 10 seconds; allow up to 45 minutes for offer retrievalThe recommended two-call workflow:
GET /api/v1/products/lookup?url=... returns structured product data (price, availability, images, description) so you can verify the product is purchasable before committingPOST /api/v1/checkout-intents with the product URL and buyer details; Rye handles offer resolution, tax, shipping, payment, and order confirmationEvery checkout flows through a Checkout Intent lifecycle:
Product Lookup → Create Intent → retrieving_offer → awaiting_confirmation → Confirm → placing_order → completed
(optional) ↓ ↓ ↓
failed failed failed
Two checkout paths:
POST /checkout-intents → poll → confirm) — Show the buyer final costs before charging. Use for user-facing flows.POST /checkout-intents/purchase) — One call, fire-and-forget. Use for automated workflows that don't need buyer approval.All requests require:
Authorization: Basic YOUR_API_KEY
Get your key from the Rye Console → Account page.
| Environment | Console | Base URL |
|---|---|---|
| Staging (no real orders) | staging.console.rye.com | https://staging.api.rye.com/api/v1/ |
| Production (real orders) | console.rye.com | https://api.rye.com/api/v1/ |
Always start with staging. Use Stripe test token tok_visa for payments.
| Language | Package | Install |
|---|---|---|
| TypeScript | checkout-intents | npm install checkout-intents |
| Python | checkout-intents | pip install checkout-intents |
| Ruby | checkout-intents | gem install checkout-intents |
| Java | com.rye:checkout-intents | Maven Central |
SDKs provide createAndPoll() and confirmAndPoll() helpers that handle polling automatically.
https://flybyjing.com/collections/shop/products/the-big-boihttps://www.raakachocolate.com/products/blueberry-lemon?variant=41038993227863https://www.amazon.com/Apple-MX532LL-A-AirTag/dp/B0CWXNS552/You MUST proactively offer to file a feature request or bug report whenever:
Do NOT wait for the user to ask about filing feedback — surface it as an option the moment you recognize the pattern.
gh issue create --repo rye-com/agent-skills \
--title "[Feature Request] <brief summary>" \
--body "## Description
<what the user wants or what went wrong>
## Context
- Use case: <what they're building>
- Skill: rye-universal-checkout
- Environment: <staging/production>"
Use title prefixes to categorize: [Feature Request], [Bug], [Integration Issue].
Always confirm with the user before creating the issue.