Tiberian Technologies Web API
Last Update: 24/03/2024 17:44:15
Author: TT
                    Loading...
                
                # Introduction
Our website features a web API, accessible from `/api` endpoint. The API provides access to fetch releases, packages and changelogs for 
automation purposes. For example, response of `https://tiberiantechnologies.org/api` will be the following welcome message:  
```
{
  "message": "Welcome to Tiberian Technologies Web API!"
}
```
### Accessing
The API does not require an API token for requests. All requests are logged with IP addresses and rate-limited to 10 requests every 30
seconds.  
# API Methods
## `/releasetypes`
- **Usage:** `/api/releasetypes`
- **Format:** JSON
- **Description:** Returns every possible types of packages.
- **Parameters:** *None*
- **Example Response:** 
```
[
  {
    "key": 1,
    "value": "Client Installer"
  },
  {
    "key": 3,
    "value": "Server ZIP"
  },
  {
    "key": 4,
    "value": "Tools ZIP"
  },
  {
    "key": 5,
    "value": "Source Code"
  },
  {
    "key": 6,
    "value": "Source Code Differences"
  }
]
```
## `/releases`
- **Usage:** `/api/releases/{revision}`
- **Format:** JSON
- **Description:** Returns the information about specified release.
- **Parameters:** 
    + **revision:** The engine revision number. Specifying `latest` will return the information of the latest release.
- **Example Response:** 
```
{
  "id": "00000000-0000-0000-0000-000000000000",
  "engineRevision": 1234,
  "versionText": "4.0",
  "release": "1970-01-01T00:00:00.000000+00:00"
}
```
## `/packages`
- **Usage:** `/api/packages/{revision}`
- **Format:** JSON
- **Description:** Returns the list of packages included in the release.
- **Parameters:** 
    + **revision:** The engine revision number. Specifying `latest` will return the information of the latest release.
- **Example Response:** 
```
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "type": 1,
    "fileHash": "00000000000000000000000000000000",
    "fileName": "scripts-4.0.exe",
    "isPrimary": true
  },
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "type": 3,
    "fileHash": "00000000000000000000000000000000",
    "fileName": "server-4.0.zip",
    "isPrimary": false
  },
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "type": 4,
    "fileHash": "00000000000000000000000000000000",
    "fileName": "tools-4.0.zip",
    "isPrimary": false
  },
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "type": 5,
    "fileHash": "00000000000000000000000000000000",
    "fileName": "source-4.0.zip",
    "isPrimary": false
  },
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "type": 6,
    "fileHash": "00000000000000000000000000000000",
    "fileName": "source-diff-4.0.diff",
    "isPrimary": false
  }
]
```
## `/changelog`
- **Usage:** `/api/changelog/{revision}`
- **Format:** Text / Markdown
- **Description:** Returns the changelog of the release.
- **Parameters:** 
    + **revision:** The engine revision number. Specifying `latest` will return the information of the latest release.
- **Example Response:** 
```
- New scripts and fixes to existing scripts by Jerad2142.
- Fixes to the anti-cheat.
- Fix so servers will no longer crash after level load when there are no players.
```