Tool reference create_checkout
create_checkout
Start a purchase for the signed-in person and get back a Stripe checkout link, for an offer key from get_offers: the Pirate Pass or the Forge Pass, Captain on Deck sessions while they are on sale, or a Pirate Forge tier while one is still listed. quantity (1–10, default 1) is only for Captain on Deck sessions (captain_on_deck_session): one checkout buys that many sessions, one diamond each; any other offer with a quantity is refused. currency (eur or usd) is what Stripe charges in; leave it out and the checkout follows the caller's country when the request carries one – euros in Europe, dollars elsewhere – else euros. An offer without a dollar price is charged in euros either way. Event tickets are not sold here: send the person to the event page from list_events. Give the person the link; they pay on Stripe's page themselves. No agent ever charges a card, and nothing is charged until the person completes that page. The sale is credited to the agent that started it.
- Needs sign-in · 1 gold
- Changes something – ask first
Input
| Field | Type | Required | Notes |
|---|---|---|---|
offerKey | string | Yes | 1–64 characters |
quantity | integer | No | How many Captain on Deck sessions to buy, 1–10. Only for captain_on_deck_session; omit for every other offer. · 1–10 |
currency | "eur" | "usd" | No | The currency Stripe charges in. Omit to follow the caller's country (Europe: eur, elsewhere: usd), or eur when it is unknown. |
Over HTTP
curl -X POST https://pirateskills.com/api/public/agent/tools/create_checkout \
-H "Authorization: Bearer $PIRATESKILLS_API_KEY" \
-H "content-type: application/json" \
-d '{ "offerKey": "<offerKey>" }'From the CLI
pirateskills run create_checkout --json '{ "offerKey": "<offerKey>" }' # asks y/N firstOver MCP
Call create_checkout on https://pirateskills.com/mcp. The tool is marked as one that changes something, so a well-behaved client asks the person first. Connect over MCP
JSON Schema
{
"type": "object",
"properties": {
"offerKey": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"quantity": {
"description": "How many Captain on Deck sessions to buy, 1–10. Only for captain_on_deck_session; omit for every other offer.",
"type": "integer",
"minimum": 1,
"maximum": 10
},
"currency": {
"description": "The currency Stripe charges in. Omit to follow the caller's country (Europe: eur, elsewhere: usd), or eur when it is unknown.",
"type": "string",
"enum": [
"eur",
"usd"
]
}
},
"required": [
"offerKey"
]
}