Generated from the operation catalog:
src/lib/ops/public-catalog.json in publicsummerengine at 0d85f61e2b and the summer-engine npm package 4.0.0 for engine and local operations. If something here is wrong, the operation’s definition is wrong.| Operation | What it does | Asks you first |
|---|---|---|
pricing.clear_country | Remove a game’s own price in one country, so players there pay the base price again. | Yes, for now |
pricing.clear_discount | End or cancel a game’s sale, running or scheduled, so players pay the base price. | Yes, for now |
pricing.get | A game’s price on Summer Games: the base price, any sale (now or scheduled), what players pay now and the prices set per country. | Never |
pricing.schedule_discount | Put a paid game on sale: a percent off from startsAt (default now) to endsAt, at most 90 days, replacing any other sale. | Yes, for now |
pricing.set_base | Change a paid game’s base price on Summer Games. | Yes, for now |
pricing.set_country | Set a paid game’s price in one country, rounded to a whole dollar ending in .99 unless roundTo99 is false. | Yes, for now |
clear_country
pricing.clear_country: Remove a country’s price
Remove a game’s own price in one country, so players there pay the base price again. Runs when the person allows Prices and live changes; otherwise answers needs_approval with a link.
| MCP | summer_call with "op": "pricing.clear_country" |
| CLI | summer pricing clear-country |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Changes what players see or pay, or who can act on a game. |
| Asks you first | Yes, for now: Summer Games still asks you first. Soon it follows Prices and live changes in Agent permissions (on by default). |
| Retry key | Required: send a new idempotencyKey for each new request, the same one only to retry it. |
| 3.x names | summer_grow_prices#clear_country |
| Input | Type | Required | Description |
|---|---|---|---|
gameId | string | Yes | From games.list. |
country | string | Yes | ISO country code, e.g. DE. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | Yes | Retry key, required: a new one for each new request; reuse it only to retry the identical request. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"gameId": {
"description": "From games.list.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,128}$"
},
"country": {
"description": "ISO country code, e.g. DE.",
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key, required: a new one for each new request; reuse it only to retry the identical request.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"gameId",
"country",
"idempotencyKey"
]
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"gameId": {
"type": "string"
},
"name": {
"type": "string"
},
"base": {
"description": "null: the game is free.",
"anyOf": [
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"discount": {
"anyOf": [
{
"type": "object",
"properties": {
"percent": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"startsAt": {
"type": "string"
},
"endsAt": {
"type": "string"
}
},
"required": [
"percent",
"startsAt",
"endsAt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"playersPayNow": {
"anyOf": [
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"purchasable": {
"description": "false until payouts are set up, or while Stripe restricts them.",
"type": "boolean"
},
"countries": {
"description": "Prices set per country; every other country pays the base price. null: not readable yet.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"price": {
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
"includesTax": {
"type": "boolean"
}
},
"required": [
"country",
"name",
"price",
"includesTax"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
},
"studioUrl": {
"type": "string"
}
},
"required": [
"gameId",
"name",
"base",
"discount",
"playersPayNow",
"purchasable",
"countries",
"note",
"studioUrl"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "pricing.clear_country",
"input": {
"gameId": "g_123",
"country": "BR"
}
}
}
summer pricing clear-country --game-id g_123 --country BR
clear_discount
pricing.clear_discount: End a game’s sale
End or cancel a game’s sale, running or scheduled, so players pay the base price. Runs when the person allows Prices and live changes; otherwise answers needs_approval with a link.
| MCP | summer_call with "op": "pricing.clear_discount" |
| CLI | summer pricing clear-discount |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Changes what players see or pay, or who can act on a game. |
| Asks you first | Yes, for now: Summer Games still asks you first. Soon it follows Prices and live changes in Agent permissions (on by default). |
| Retry key | Required: send a new idempotencyKey for each new request, the same one only to retry it. |
| Input | Type | Required | Description |
|---|---|---|---|
gameId | string | Yes | From games.list. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | Yes | Retry key, required: a new one for each new request; reuse it only to retry the identical request. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"gameId": {
"description": "From games.list.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,128}$"
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key, required: a new one for each new request; reuse it only to retry the identical request.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"gameId",
"idempotencyKey"
]
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"gameId": {
"type": "string"
},
"name": {
"type": "string"
},
"base": {
"description": "null: the game is free.",
"anyOf": [
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"discount": {
"anyOf": [
{
"type": "object",
"properties": {
"percent": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"startsAt": {
"type": "string"
},
"endsAt": {
"type": "string"
}
},
"required": [
"percent",
"startsAt",
"endsAt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"playersPayNow": {
"anyOf": [
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"purchasable": {
"description": "false until payouts are set up, or while Stripe restricts them.",
"type": "boolean"
},
"countries": {
"description": "Prices set per country; every other country pays the base price. null: not readable yet.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"price": {
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
"includesTax": {
"type": "boolean"
}
},
"required": [
"country",
"name",
"price",
"includesTax"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
},
"studioUrl": {
"type": "string"
}
},
"required": [
"gameId",
"name",
"base",
"discount",
"playersPayNow",
"purchasable",
"countries",
"note",
"studioUrl"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "pricing.clear_discount",
"input": {
"gameId": "g_123"
}
}
}
summer pricing clear-discount --game-id g_123
get
pricing.get: Read a game’s prices
A game’s price on Summer Games: the base price, any sale (now or scheduled), what players pay now and the prices set per country. Next: pricing.set_base or pricing.schedule_discount when the owner asks.
| MCP | summer_pricing_get, a tool on the hosted MCP. Elsewhere: summer_call with "op": "pricing.get" |
| CLI | summer pricing get |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Reads only. Changes nothing. |
| Asks you first | No. It changes nothing. |
| 3.x names | summer_grow_prices |
| Input | Type | Required | Description |
|---|---|---|---|
gameId | string | Yes | From games.list. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"gameId": {
"description": "From games.list.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,128}$"
}
},
"required": [
"gameId"
]
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"gameId": {
"type": "string"
},
"name": {
"type": "string"
},
"base": {
"description": "null: the game is free.",
"anyOf": [
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"discount": {
"anyOf": [
{
"type": "object",
"properties": {
"percent": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"startsAt": {
"type": "string"
},
"endsAt": {
"type": "string"
}
},
"required": [
"percent",
"startsAt",
"endsAt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"playersPayNow": {
"anyOf": [
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"purchasable": {
"description": "false until payouts are set up, or while Stripe restricts them.",
"type": "boolean"
},
"countries": {
"description": "Prices set per country; every other country pays the base price. null: not readable yet.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"price": {
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
"includesTax": {
"type": "boolean"
}
},
"required": [
"country",
"name",
"price",
"includesTax"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
},
"studioUrl": {
"type": "string"
}
},
"required": [
"gameId",
"name",
"base",
"discount",
"playersPayNow",
"purchasable",
"countries",
"note",
"studioUrl"
],
"additionalProperties": false
}
{
"name": "summer_pricing_get",
"arguments": {
"gameId": "g_123"
}
}
summer pricing get --game-id g_123
schedule_discount
pricing.schedule_discount: Put a game on sale
Put a paid game on sale: a percent off from startsAt (default now) to endsAt, at most 90 days, replacing any other sale. Runs when the person allows Prices and live changes; otherwise answers needs_approval with a link.
| MCP | summer_call with "op": "pricing.schedule_discount" |
| CLI | summer pricing schedule-discount |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Changes what players see or pay, or who can act on a game. |
| Asks you first | Yes, for now: Summer Games still asks you first. Soon it follows Prices and live changes in Agent permissions (on by default). |
| Retry key | Required: send a new idempotencyKey for each new request, the same one only to retry it. |
| Input | Type | Required | Description |
|---|---|---|---|
gameId | string | Yes | From games.list. |
percent | integer | Yes | Percent off, 1 to 90. Range 1 to 90. |
startsAt | string | No | When the sale starts (ISO 8601); default: as soon as the owner approves. |
endsAt | string | Yes | When the sale ends (ISO 8601). |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | Yes | Retry key, required: a new one for each new request; reuse it only to retry the identical request. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"gameId": {
"description": "From games.list.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,128}$"
},
"percent": {
"description": "Percent off, 1 to 90.",
"type": "integer",
"minimum": 1,
"maximum": 90
},
"startsAt": {
"description": "When the sale starts (ISO 8601); default: as soon as the owner approves.",
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"endsAt": {
"description": "When the sale ends (ISO 8601).",
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key, required: a new one for each new request; reuse it only to retry the identical request.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"gameId",
"percent",
"endsAt",
"idempotencyKey"
]
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"gameId": {
"type": "string"
},
"name": {
"type": "string"
},
"base": {
"description": "null: the game is free.",
"anyOf": [
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"discount": {
"anyOf": [
{
"type": "object",
"properties": {
"percent": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"startsAt": {
"type": "string"
},
"endsAt": {
"type": "string"
}
},
"required": [
"percent",
"startsAt",
"endsAt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"playersPayNow": {
"anyOf": [
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"purchasable": {
"description": "false until payouts are set up, or while Stripe restricts them.",
"type": "boolean"
},
"countries": {
"description": "Prices set per country; every other country pays the base price. null: not readable yet.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"price": {
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
"includesTax": {
"type": "boolean"
}
},
"required": [
"country",
"name",
"price",
"includesTax"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
},
"studioUrl": {
"type": "string"
}
},
"required": [
"gameId",
"name",
"base",
"discount",
"playersPayNow",
"purchasable",
"countries",
"note",
"studioUrl"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "pricing.schedule_discount",
"input": {
"gameId": "g_123",
"percent": 25,
"startsAt": "2026-11-27T17:00:00Z",
"endsAt": "2026-12-02T17:00:00Z"
}
}
}
summer pricing schedule-discount --game-id g_123 --percent 25 --starts-at 2026-11-27T17:00:00Z --ends-at 2026-12-02T17:00:00Z
set_base
pricing.set_base: Set the base price
Change a paid game’s base price on Summer Games. Runs at once when the person allows Prices and live changes; otherwise answers needs_approval with a link and changes nothing until they approve. Next: pricing.get.
| MCP | summer_call with "op": "pricing.set_base" |
| CLI | summer pricing set-base |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Changes what players see or pay, or who can act on a game. |
| Asks you first | Yes, for now: Summer Games still asks you first. Soon it follows Prices and live changes in Agent permissions (on by default). |
| Retry key | Required: send a new idempotencyKey for each new request, the same one only to retry it. |
| 3.x names | summer_grow_prices#set_base |
| Input | Type | Required | Description |
|---|---|---|---|
gameId | string | Yes | From games.list. |
price | object | Yes | US dollars in cents, 50 to 100000. |
price.currency | ”USD” | Yes | |
price.amountMinor | integer | Yes | Range 50 to 100000. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | Yes | Retry key, required: a new one for each new request; reuse it only to retry the identical request. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"gameId": {
"description": "From games.list.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,128}$"
},
"price": {
"description": "US dollars in cents, 50 to 100000.",
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"description": "",
"type": "integer",
"minimum": 50,
"maximum": 100000
}
},
"required": [
"currency",
"amountMinor"
]
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key, required: a new one for each new request; reuse it only to retry the identical request.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"gameId",
"price",
"idempotencyKey"
]
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"gameId": {
"type": "string"
},
"name": {
"type": "string"
},
"base": {
"description": "null: the game is free.",
"anyOf": [
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"discount": {
"anyOf": [
{
"type": "object",
"properties": {
"percent": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"startsAt": {
"type": "string"
},
"endsAt": {
"type": "string"
}
},
"required": [
"percent",
"startsAt",
"endsAt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"playersPayNow": {
"anyOf": [
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"purchasable": {
"description": "false until payouts are set up, or while Stripe restricts them.",
"type": "boolean"
},
"countries": {
"description": "Prices set per country; every other country pays the base price. null: not readable yet.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"price": {
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
"includesTax": {
"type": "boolean"
}
},
"required": [
"country",
"name",
"price",
"includesTax"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
},
"studioUrl": {
"type": "string"
}
},
"required": [
"gameId",
"name",
"base",
"discount",
"playersPayNow",
"purchasable",
"countries",
"note",
"studioUrl"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "pricing.set_base",
"input": {
"gameId": "g_123",
"price": {
"currency": "USD",
"amountMinor": 799
}
}
}
}
summer pricing set-base --game-id g_123 --input '{"price":{"currency":"USD","amountMinor":799}}'
set_country
pricing.set_country: Set a country’s price
Set a paid game’s price in one country, rounded to a whole dollar ending in .99 unless roundTo99 is false. Runs when the person allows Prices and live changes; otherwise answers needs_approval with a link.
| MCP | summer_call with "op": "pricing.set_country" |
| CLI | summer pricing set-country |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Changes what players see or pay, or who can act on a game. |
| Asks you first | Yes, for now: Summer Games still asks you first. Soon it follows Prices and live changes in Agent permissions (on by default). |
| Retry key | Required: send a new idempotencyKey for each new request, the same one only to retry it. |
| 3.x names | summer_grow_prices#set_country |
| Input | Type | Required | Description |
|---|---|---|---|
gameId | string | Yes | From games.list. |
country | string | Yes | ISO country code, e.g. DE. |
price | object | Yes | US dollars in cents, 50 to 100000. |
price.currency | ”USD” | Yes | |
price.amountMinor | integer | Yes | Range 50 to 100000. |
roundTo99 | boolean | No | Round to a whole dollar ending in .99, like the Prices page. Default true. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | Yes | Retry key, required: a new one for each new request; reuse it only to retry the identical request. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"gameId": {
"description": "From games.list.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,128}$"
},
"country": {
"description": "ISO country code, e.g. DE.",
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
"price": {
"description": "US dollars in cents, 50 to 100000.",
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"description": "",
"type": "integer",
"minimum": 50,
"maximum": 100000
}
},
"required": [
"currency",
"amountMinor"
]
},
"roundTo99": {
"description": "Round to a whole dollar ending in .99, like the Prices page.",
"default": true,
"type": "boolean"
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key, required: a new one for each new request; reuse it only to retry the identical request.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"gameId",
"country",
"price",
"idempotencyKey"
]
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"gameId": {
"type": "string"
},
"name": {
"type": "string"
},
"base": {
"description": "null: the game is free.",
"anyOf": [
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"discount": {
"anyOf": [
{
"type": "object",
"properties": {
"percent": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"startsAt": {
"type": "string"
},
"endsAt": {
"type": "string"
}
},
"required": [
"percent",
"startsAt",
"endsAt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"playersPayNow": {
"anyOf": [
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"purchasable": {
"description": "false until payouts are set up, or while Stripe restricts them.",
"type": "boolean"
},
"countries": {
"description": "Prices set per country; every other country pays the base price. null: not readable yet.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"price": {
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "USD"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"currency",
"amountMinor"
],
"additionalProperties": false
},
"includesTax": {
"type": "boolean"
}
},
"required": [
"country",
"name",
"price",
"includesTax"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
},
"studioUrl": {
"type": "string"
}
},
"required": [
"gameId",
"name",
"base",
"discount",
"playersPayNow",
"purchasable",
"countries",
"note",
"studioUrl"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "pricing.set_country",
"input": {
"gameId": "g_123",
"country": "BR",
"price": {
"currency": "USD",
"amountMinor": 499
}
}
}
}
summer pricing set-country --game-id g_123 --country BR --input '{"price":{"currency":"USD","amountMinor":499}}'

