{"openapi":"3.1.0","info":{"title":"PlayFab (BYOK) API","version":"0.1.0","description":"PlayFab (BYOK) lets an AI assistant read your own PlayFab data through the PlayFab API with a key you supply (PlayFab title secret key). Read-only: 10 tools (get_all_segments, list_virtual_currency_types, get_player_statistic_definitions, get_player_statistic_versions, get_catalog_items, get_store_items, get_all_title_data, get_title_data_key, get_content_list, get_cloud_script_versions). The...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-playfab.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-playfab/docs"},"termsOfService":"https://connectorbay.com/byok-playfab/terms"},"servers":[{"url":"https://byok-playfab.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-playfab/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_all_segments":{"post":{"operationId":"get_all_segments","summary":"List the player segment definitions of the title: id, name and linked A/B test. Players in the segments are not returned","description":"List the player segment definitions of the title: id, name and linked A/B test. Players in the segments are not returned. Use for \"Which player segments exist in my PlayFab title\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title_id":{"description":"Your PlayFab title ID in lowercase (a1b2c for A1B2C.playfabapi.com); find it in Game Manager.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Title Id","type":"string"}},"required":["title_id"],"title":"get_all_segmentsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_virtual_currency_types":{"post":{"operationId":"list_virtual_currency_types","summary":"List the virtual currencies defined for the title (legacy economy) with code, display name, initial deposit and recharge","description":"List the virtual currencies defined for the title (legacy economy) with code, display name, initial deposit and recharge settings. Use for \"What virtual currencies does my PlayFab title define\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title_id":{"description":"Your PlayFab title ID in lowercase (a1b2c for A1B2C.playfabapi.com); find it in Game Manager.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Title Id","type":"string"}},"required":["title_id"],"title":"list_virtual_currency_typesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_player_statistic_definitions":{"post":{"operationId":"get_player_statistic_definitions","summary":"List the player statistics defined for the title with aggregation method, current version and reset interval. Use for \"W","description":"List the player statistics defined for the title with aggregation method, current version and reset interval. Use for \"Which player statistics are defined in my PlayFab title\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title_id":{"description":"Your PlayFab title ID in lowercase (a1b2c for A1B2C.playfabapi.com); find it in Game Manager.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Title Id","type":"string"}},"required":["title_id"],"title":"get_player_statistic_definitionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_player_statistic_versions":{"post":{"operationId":"get_player_statistic_versions","summary":"List the version history of one player statistic with status and activation and deactivation times. Use for \"How often h","description":"List the version history of one player statistic with status and activation and deactivation times. Use for \"How often has the HighScore statistic been reset in PlayFab\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title_id":{"description":"Your PlayFab title ID in lowercase (a1b2c for A1B2C.playfabapi.com); find it in Game Manager.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Title Id","type":"string"},"statistic_name":{"description":"Statistic name from get_player_statistic_definitions.","maxLength":100,"title":"Statistic Name","type":"string"}},"required":["title_id","statistic_name"],"title":"get_player_statistic_versionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_catalog_items":{"post":{"operationId":"get_catalog_items","summary":"Get the title's legacy catalog of virtual goods with item id, name, class, description and stacking and trading flags. U","description":"Get the title's legacy catalog of virtual goods with item id, name, class, description and stacking and trading flags. Use for \"What items are in my PlayFab catalog\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title_id":{"description":"Your PlayFab title ID in lowercase (a1b2c for A1B2C.playfabapi.com); find it in Game Manager.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Title Id","type":"string"},"catalog_version":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Catalog version name; leave empty for the default catalog.","title":"Catalog Version"}},"required":["title_id"],"title":"get_catalog_itemsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_store_items":{"post":{"operationId":"get_store_items","summary":"Get the items of one store with item id, display position and prices in virtual currencies. Use for \"What does the PlayF","description":"Get the items of one store with item id, display position and prices in virtual currencies. Use for \"What does the PlayFab store 'main' sell\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title_id":{"description":"Your PlayFab title ID in lowercase (a1b2c for A1B2C.playfabapi.com); find it in Game Manager.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Title Id","type":"string"},"store_id":{"description":"Store ID defined in Game Manager.","maxLength":100,"title":"Store Id","type":"string"},"catalog_version":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Catalog version name; leave empty for the default catalog.","title":"Catalog Version"}},"required":["title_id","store_id"],"title":"get_store_itemsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_all_title_data":{"post":{"operationId":"get_all_title_data","summary":"Get all title data key and value pairs of the title (configuration values set in Game Manager). Use for \"What title data","description":"Get all title data key and value pairs of the title (configuration values set in Game Manager). Use for \"What title data is configured in my PlayFab title\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title_id":{"description":"Your PlayFab title ID in lowercase (a1b2c for A1B2C.playfabapi.com); find it in Game Manager.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Title Id","type":"string"}},"required":["title_id"],"title":"get_all_title_dataArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_title_data_key":{"post":{"operationId":"get_title_data_key","summary":"Get the value of one title data key. Use for \"What is the PlayFab title data value of MaxLevel\".","description":"Get the value of one title data key. Use for \"What is the PlayFab title data value of MaxLevel\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title_id":{"description":"Your PlayFab title ID in lowercase (a1b2c for A1B2C.playfabapi.com); find it in Game Manager.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Title Id","type":"string"},"key":{"description":"Title data key, for example 'MaxLevel'.","maxLength":200,"title":"Key","type":"string"}},"required":["title_id","key"],"title":"get_title_data_keyArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_content_list":{"post":{"operationId":"get_content_list","summary":"List content files uploaded to the title (CDN content) with key, size and last modified time, optionally under a key pre","description":"List content files uploaded to the title (CDN content) with key, size and last modified time, optionally under a key prefix; at most 1000 items. Use for \"What content files has my PlayFab title uploaded\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title_id":{"description":"Your PlayFab title ID in lowercase (a1b2c for A1B2C.playfabapi.com); find it in Game Manager.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Title Id","type":"string"},"prefix":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only keys that start with this prefix, for example a folder name.","title":"Prefix"}},"required":["title_id"],"title":"get_content_listArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_cloud_script_versions":{"post":{"operationId":"get_cloud_script_versions","summary":"List Cloud Script versions with the latest and published revision numbers. Script code is not returned. Use for \"Which C","description":"List Cloud Script versions with the latest and published revision numbers. Script code is not returned. Use for \"Which Cloud Script version is published in my PlayFab title\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title_id":{"description":"Your PlayFab title ID in lowercase (a1b2c for A1B2C.playfabapi.com); find it in Game Manager.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Title Id","type":"string"}},"required":["title_id"],"title":"get_cloud_script_versionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}