# 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

```bash
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

```bash
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](https://pirateskills.com/docs/mcp)

## JSON Schema

```json
{
  "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"
  ]
}
```

---
Source: https://pirateskills.com/docs/tools/create_checkout · All docs: https://pirateskills.com/docs.md · Short overview: https://pirateskills.com/llms.txt
