Tarkov Sherpa

Tarkov Sherpa · GPT Actions

Tarkov Sherpa GraphQL API Integration

Full API schema to enable Tarkov Sherpa to fetch live data such as item prices, trader info, quests, and more using Tarkov.dev GraphQL API.

  • POST /graphqlDynamic Tarkov GraphQL Queries

    Execute a custom GraphQL query to retrieve information about Tarkov items, flea market prices, traders, and quests.

原始 API 定义
{
  "openapi": "3.1.0",
  "info": {
    "title": "Tarkov Sherpa GraphQL API Integration",
    "description": "Full API schema to enable Tarkov Sherpa to fetch live data such as item prices, trader info, quests, and more using Tarkov.dev GraphQL API.",
    "version": "3.0.0"
  },
  "servers": [
    {
      "url": "https://api.tarkov.dev"
    }
  ],
  "paths": {
    "/graphql": {
      "post": {
        "summary": "Dynamic Tarkov GraphQL Queries",
        "description": "Execute a custom GraphQL query to retrieve information about Tarkov items, flea market prices, traders, and quests.",
        "operationId": "executeGraphqlQuery",
        "requestBody": {
          "$ref": "#/components/requestBodies/GraphQLQuery"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/GraphQLSuccess"
          },
          "400": {
            "$ref": "#/components/responses/GraphQLError400"
          },
          "500": {
            "$ref": "#/components/responses/GraphQLError500"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "GraphQLRequest": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "The GraphQL query to run.",
            "example": "{\n  items(name: \"M855A1\") {\n    id\n    name\n    shortName\n    sellFor {\n      vendor {\n        name\n      }\n      price\n      currency\n    }\n  }\n}\n"
          },
          "variables": {
            "type": "object",
            "description": "Optional GraphQL variables to parameterize the query.",
            "additionalProperties": true
          }
        },
        "required": [
          "query"
        ]
      },
      "GraphQLResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "description": "The data returned by the Tarkov GraphQL API.",
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Unique identifier for the item."
                    },
                    "name": {
                      "type": "string",
                      "description": "Full name of the item."
                    },
                    "shortName": {
                      "type": "string",
                      "description": "Shortened name of the item."
                    },
                    "sellFor": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "vendor": {
                            "type": "object",
                            "properties": {
                              "name": {
                                "type": "string",
                                "description": "Name of the vendor, such as \"Flea Market\"."
                              }
                            }
                          },
                          "price": {
                            "type": "number",
                            "description": "Price offered by the vendor."
                          },
                          "currency": {
                            "type": "string",
                            "description": "Currency used for the transaction, e.g., \"RUB\"."
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "example": {
              "items": [
                {
                  "id": "12345",
                  "name": "M855A1",
                  "shortName": "5.56x45mm M855A1",
                  "sellFor": [
                    {
                      "vendor": {
                        "name": "Flea Market"
                      },
                      "price": 650,
                      "currency": "RUB"
                    }
                  ]
                }
              ]
            }
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Short error code or type."
          },
          "message": {
            "type": "string",
            "description": "Detailed error message."
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code associated with the error."
          }
        },
        "required": [
          "error",
          "message",
          "statusCode"
        ],
        "example": {
          "error": "BadRequest",
          "message": "Syntax error in GraphQL query",
          "statusCode": 400
        }
      }
    },
    "requestBodies": {
      "GraphQLQuery": {
        "description": "A GraphQL query request.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/GraphQLRequest"
            }
          }
        }
      }
    },
    "responses": {
      "GraphQLSuccess": {
        "description": "Successfully executed GraphQL query.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/GraphQLResponse"
            }
          }
        }
      },
      "GraphQLError400": {
        "description": "Bad Request - There may be an issue with your GraphQL query.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      },
      "GraphQLError500": {
        "description": "Internal Server Error - There was an error processing your request.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "Tarkov Items",
      "description": "Queries related to Tarkov items, including item details, prices, and vendor information."
    },
    {
      "name": "Traders",
      "description": "Queries related to Tarkov traders, such as available items and prices."
    },
    {
      "name": "Quests",
      "description": "Queries related to quests, objectives, and rewards."
    }
  ]
}