Overview -------- The Stalcraft API provides the tools and data used to develop Stalcraft related applications and websites. For the full list of endpoints that you can use in your integration, explore the `API Reference `_. Stalcraft API uses OAuth 2.0 for authentication. To learn about different types of tokens that the API supports, see :doc:`auth`. Terminology =========== .. glossary:: Region A game server for a specific geographic location. Almost all data provided by API is tied to the specific region. For example: ``NA``/``SEA``/``EU``/``RU`` Realm A specific game version, which is deployed to one or more regions. Items database is tied to a realm. For example: ``GLOBAL``/``RU`` User Account Game account registered directly on EXBO website or via third party platform like Steam. Character A playable character tied to some user account on one specific region. One user account can have multiple characters. Demo API ======== To make it easier to prototype your application before getting access to production API, we have a demo version available without any preliminary actions. Demo API is running on ``https://dapi.stalcraft.net``. While working with Demo API you can use following access tokens App Access Token: .. code-block:: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwibmJmIjoxNjczNzk3ODM4LCJleHAiOjQ4MjczOTc4MzgsImlhdCI6MTY3Mzc5NzgzOCwianRpIjoiYXhwbzAzenJwZWxkMHY5dDgzdzc1N2x6ajl1MmdyeHVodXVlb2xsZ3M2dml1YjVva3NwZTJ3eGFrdjJ1eWZxaDU5ZDE2ZTNlN2FqdW16Z3gifQ.ZNSsvwAX72xT5BzLqqYABuH2FGbOlfiXMK5aYO1H5llG51ZjcPvOYBDRR4HUoPZVLFY8jyFUsEXNM7SYz8qL9ePmLjJl6pib8FEtqVPmf9ldXvKkbaaaSp4KkJzsIEMY_Z5PejB2Vr-q-cL13KPgnLGUaSW-2X_sHPN7VZJNMjRgjw4mPiRZTe4CEpQq0BEcPrG6OLtU5qlZ6mLDJBjN2xtK0DI6xgmYriw_5qW1mj1nqF_ewtUiQ1KTVhDgXnaNUdkGsggAGqyicTei0td6DTKtnl3noD5VkipWn_CwSqb2Mhm16I9BPfX_d5ARzWrnrwPRUf6PA_7LipNU6KkkW0mhZfmwEPTm_sXPus0mHPENoVZArdFT3L5sOYBcpqwvVIEtxRUTdcsKp-y-gSzao5muoyPVoCc2LEeHEWx0cIi9spsZ46SPRQpN4baVFp7y5rp5pjRsBKHQYUJ0lTmh1_vyfzOzbtNN2v6W_5w9JTLrN1U6fhmifvKHppFSEqD6DameL1TC59kpIdufRkEU9HE4O-ErEf1GuJFRx-Dew6XDvb_ExhvEqcw31yNvKzpVqLYJfLazqn6tUbVuAiPwpy6rP9tYO2taT1vj5TGn_vxwDu9zoLWe796tFMPS-kmbCglxB5C9L4EbpfWNbWxYjUkTvjT2Ml9OnrB0UbYo1jI User Access Token: .. code-block:: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwic3ViIjoiMSIsIm5iZiI6MTY3Mzc5NzgzOCwiZXhwIjo0ODI3Mzk3ODM4LCJpYXQiOjE2NzM3OTc4MzgsImp0aSI6IjJlamRwOG54a3A1djRnZWdhbWVyeWlkMW5ic24zZDhpZ2oyejgzem1vMDYzNjNoaXFkNWhwOTY1MHZwdWh4OXEybXBmd2hnbnUxNHR5cmp2In0.Ocw4CzkkuenkAOjkAR1RuFgLqix7VJ-8vWVS3KAJ1T3SgIWJG145xqG2qms99knu5azn_oaoeyMOXhyG_fuMQFGOju317GiS6pAXAFGOKvxcUCfdpFcEHO6TWGM8191-tlfV-0rAqCi62gprKyr-SrUG3nUJhv6XKegja_vYVujRVx0ouAaDvDKawiOssG5If_hXGhdhnmb3_7onnIc4hFsm4i9QVkWXe8GO6OsS999ZIX0ClNhTk2kKKTl2dDVIiKha_HB1aghm_LOYoRgb3i3B_DH4UO312rHYR5I4qO43c8x-TW7NwovItDSzhiCmcxZuUUeAUF3yFr5ovaR4fMj1LEy3y3V2piQDKPwmBOpI9S6OzWUIBJYcRYlT2HIrWCRc0YvM7AOGoxcH2Gf4ncqcF_M8fw7IMKf3pdnuxf1EbdEpzOapBD1Pw065em-U8PN4LVzw9lhIHx_Yj69qaFEx7Bhw3BCwsrx-o9hgg7T1TOV6kF11YfR99lIuj9z96XBLg5ipt-M_j7nHRoHWhM0Rc6uLIKPg0In0xYkybSfWG6v3Hs6kwgB7wkqpXpoVQltJvlqjtlf9Pp4zmkqlWQHx9as4xsgoTAQyCgaC0kisICNC58_g3QrJAfoFXW68x-OHlRKCAPqoR9V-0cVs-B83szaFmsEGegAttFLlDhE Getting started =============== To get started you will need an EXBO account. If you're not playing via EXBO Launcher you can use third party platforms like Steam to log in into automatically created EXBO account. Register an Application ~~~~~~~~~~~~~~~~~~~~~~~ To make requests to Stalcraft APIs you need to register you application and receive approval from administration. Requirements for approval are not strict, but we want to limit potentially malicious use cases. For information about how to register an app, see :doc:`registration`. Get an OAuth token ~~~~~~~~~~~~~~~~~~ Stalcraft API requires OAuth access tokens to access most of resources. Resources require either an app access token or user access token. To determine which type of token a resources requires, see the `reference `_ content for the endpoints you plan to use. For information about how to acquire tokens see :doc:`auth`. Make your first call ~~~~~~~~~~~~~~~~~~~~ .. note:: The following example is for the Demo API, running on ``dapi.stalcraft.net``. To make requests against Production API use ``eapi.stalcraft.net`` To get information about list of player character, we can use `Characters List endpoint `_. Using Demo API you can make the following call in the console. .. code-block:: curl -X GET 'https://dapi.stalcraft.net/EU/characters' -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwic3ViIjoiMSIsIm5iZiI6MTY3Mzc5NzgzOCwiZXhwIjo0ODI3Mzk3ODM4LCJpYXQiOjE2NzM3OTc4MzgsImp0aSI6IjJlamRwOG54a3A1djRnZWdhbWVyeWlkMW5ic24zZDhpZ2oyejgzem1vMDYzNjNoaXFkNWhwOTY1MHZwdWh4OXEybXBmd2hnbnUxNHR5cmp2In0.Ocw4CzkkuenkAOjkAR1RuFgLqix7VJ-8vWVS3KAJ1T3SgIWJG145xqG2qms99knu5azn_oaoeyMOXhyG_fuMQFGOju317GiS6pAXAFGOKvxcUCfdpFcEHO6TWGM8191-tlfV-0rAqCi62gprKyr-SrUG3nUJhv6XKegja_vYVujRVx0ouAaDvDKawiOssG5If_hXGhdhnmb3_7onnIc4hFsm4i9QVkWXe8GO6OsS999ZIX0ClNhTk2kKKTl2dDVIiKha_HB1aghm_LOYoRgb3i3B_DH4UO312rHYR5I4qO43c8x-TW7NwovItDSzhiCmcxZuUUeAUF3yFr5ovaR4fMj1LEy3y3V2piQDKPwmBOpI9S6OzWUIBJYcRYlT2HIrWCRc0YvM7AOGoxcH2Gf4ncqcF_M8fw7IMKf3pdnuxf1EbdEpzOapBD1Pw065em-U8PN4LVzw9lhIHx_Yj69qaFEx7Bhw3BCwsrx-o9hgg7T1TOV6kF11YfR99lIuj9z96XBLg5ipt-M_j7nHRoHWhM0Rc6uLIKPg0In0xYkybSfWG6v3Hs6kwgB7wkqpXpoVQltJvlqjtlf9Pp4zmkqlWQHx9as4xsgoTAQyCgaC0kisICNC58_g3QrJAfoFXW68x-OHlRKCAPqoR9V-0cVs-B83szaFmsEGegAttFLlDhE' The following example shows the JSON response that the request returns on success: .. code-block:: json [ { "information": { "id": "5c7e0994-bc22-4190-9774-5f197b1500e6", "name": "Test-1", "creationTime": "2021-12-03T10:15:30Z" }, "clan": { "info": { "id": "647d6c53-b3d7-4d30-8d08-de874eb1d845", "name": "Clan #1", "level": 2, "registrationTime": "2022-07-03T10:15:30Z", "alliance": "covenant", "description": "Sample description", "leader": "Test-1" }, "member": { "name": "Test-1", "rank": "LEADER", "joinTime": "2022-07-03T10:15:30Z" } } }, { "information": { "id": "996e2cf9-5f36-4a38-97e8-1aecec42b5f0", "name": "Test-2", "creationTime": "2022-12-03T10:15:30Z" }, "clan": { "info": { "id": "647d6c53-b3d7-4d30-8d08-de874eb1d845", "name": "Clan #2", "level": 1, "registrationTime": "2022-12-13T10:15:30Z", "alliance": "duty", "description": "Sample description", "leader": "Test-2" }, "member": { "name": "Test-2", "rank": "LEADER", "joinTime": "2022-12-13T10:15:30Z" } } }, { "information": { "id": "9219dfbb-1332-4dc7-b3be-fc4b089710cb", "name": "Test-3", "creationTime": "2023-01-03T10:15:30Z" }, "clan": { "info": { "id": "647d6c53-b3d7-4d30-8d08-de874eb1d845", "name": "Clan #2", "level": 1, "registrationTime": "2022-12-13T10:15:30Z", "alliance": "duty", "description": "Sample description", "leader": "Test-2" }, "member": { "name": "Test-3", "rank": "OFFICER", "joinTime": "2023-01-03T10:15:30Z" } } } ]