[go: up one dir, main page]

The Final Outpost

API Documentation

Applying for Access

To apply for access please send Corteo a private message on the forums. Include information such as why you want access, the domain that you will be using to call the api, and the IP that your domain is located at.

Authentication

After approval of your API request, you will be given a private key. Your key is unique to you and should not be shared. If your key is leaked that is grounds for the key being invalidated.

You must pass this key in the authorization header with the key name of "apiKey" and the value of your key.

Best Practices

While the API should be able to weather a lot of activity, it is not designed to receive multiple calls a second from all API users. Please make sure that you cache information you retrieve (e.g. lists of codes, creature growth status, etc) in your own database instead of retrieving it every page load.

Make sure when you display the image on your site that you use the URL provided by the API (https://finaloutpost.net/s/creatureCode.png). /rimg/ and /r/ are dynamic urls for internal use only while as /s/ is a image cache file that will much faster for you and use less resources for us.

Routes

Documentation for /api/v1/species/{speciesName}

Method: GET

Used to fetch information about a given species. {speciesName} should be url encoded and should be the full species name. For example: https://finaloutpost.net/api/v1/species/Avka+Felo .

Response fields:

  • capsuleImage of type string
  • descriptions is a list of objects, each of which has the following structure:
    • capsule of type string
    • juvenile of type string
    • adult of type string
  • storePrice of type int
  • stats is a list of objects, each of which has the following structure:
    • height of type string
    • weight of type string
    • length of type string
  • credits is a list of objects, each of which has the following structure:
    • capsule is a list of objects, each of which has the following structure:
      • art of type string
      • description of type string
    • juvenile is a list of objects, each of which has the following structure:
      • art of type string
      • description of type string
    • adult is a list of objects, each of which has the following structure:
      • art of type string
      • description of type string
  • genetics of type string

Possible errors:

  • 6: Species does not exist.
  • 9: This species is locked and its data is not available to view.

Documentation for /api/v1/tab/{tabId}/{username}

Method: GET

Fetch the creatures from a user's tab. Username does not have to be provided for non-default tabs, that is to say tabs that are not an id of 0.

Response fields:

  • error of type bool
  • errorCode of type int
  • creatures is a list of objects, each of which has the following structure:
    • error of type bool
    • errorCode of type int
    • code of type string
    • imgsrc of type string
    • gotten of type int
    • growthLevel of type int
    • name of type string
    • isStunted of type bool
    • breedName of type string
    • genetics of type string
    • gender of type string

Possible errors:

  • 5: Invalid API call, please double check the documentation.
  • 7: Tab does not exist.
  • 1: User does not exist.
  • 2: User's lab is hidden.
  • 8: Tab is hidden.

Documentation for /api/v1/creatures/species/{username}/{speciesName}

Method: GET

Used to get all of a user's creatures that match a given species. The expected format for speciesName is the full species name that has been urlencoded. For example: https://finaloutpost.net/api/v1/creatures/species/Corteo/Avka+Felo

Response fields:

  • error of type bool
  • errorCode of type int
  • creatures is a list of objects, each of which has the following structure:
    • error of type bool
    • errorCode of type int
    • code of type string
    • imgsrc of type string
    • gotten of type int
    • growthLevel of type int
    • name of type string
    • isStunted of type bool
    • breedName of type string
    • genetics of type string
    • gender of type string

Possible errors:

  • 1: User does not exist.
  • 2: User's lab is hidden.
  • 6: Species does not exist.

Documentation for /api/v1/creatures

Method: GET

Used to fetch the data of multiple creatures. This can be used, for example, in a click site context for checking if a list of creatures has grown or not. Creatures should be passed as a query param. A well-formed URL would look like https://finaloutpost.net/api/v1/creatures?code[]=a&code[]=b&code[]=c with the actual creature codes in place of a,b,c placeholders.

Response fields:

  • error of type bool
  • errorCode of type int
  • creatures is a list of objects, each of which has the following structure:
    • error of type bool
    • errorCode of type int
    • code of type string
    • imgsrc of type string
    • gotten of type int
    • growthLevel of type int
    • name of type string
    • isStunted of type bool
    • breedName of type string
    • genetics of type string
    • gender of type string
    • OR
    • errorCode of type int
    • error of type bool
    • errorMessage of type string

Possible errors:

  • 5: Invalid API call, please double check the documentation.

Documentation for /api/v1/creature/{code}

Method: GET

Used to fetch the data of a single creature.

Response fields:

  • error of type bool
  • errorCode of type int
  • code of type string
  • imgsrc of type string
  • gotten of type int
  • growthLevel of type int
  • name of type string
  • isStunted of type bool
  • breedName of type string
  • genetics of type string
  • gender of type string

Possible errors:

  • 4: Creature does not exist.

Documentation for /api/v1/lab/{username}

Method: GET

Used to fetch all growing creatures for a given user.

Response fields:

  • error of type bool
  • errorCode of type int
  • creatures is a list of objects, each of which has the following structure:
    • error of type bool
    • errorCode of type int
    • code of type string
    • imgsrc of type string
    • gotten of type int
    • growthLevel of type int
    • name of type string
    • isStunted of type bool
    • breedName of type string
    • genetics of type string
    • gender of type string

Possible errors:

  • 1: User does not exist.
  • 2: User's lab is hidden.
  • 3: User does not have any growing creatures.