Skip to content

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

FieldTypeRequiredNotes
offerKeystringYes1–64 characters
quantityintegerNoHow 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"NoThe 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 first

Over 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"
  ]
}