An alliance auth plugin to open up REST APIs for other plugins https://apps.allianceauth.org/apps/detail/allianceauth-restapi
Find a file
munsking b62e4a29d5 prefill random secret in admin
changed logging strings
added more error handling
formatting
2026-07-21 21:58:23 +02:00
restapi prefill random secret in admin 2026-07-21 21:58:23 +02:00
testauth test: replace generic test with test for structuretimers API 2026-07-20 01:08:15 +02:00
.coveragerc test: fix test and coverage 2026-07-19 20:45:08 +02:00
.gitignore feat: upgrade to AA5 2026-06-06 12:12:06 +02:00
.gitlab-ci.yml publish via flit instead 2026-07-20 01:00:26 +02:00
.pre-commit-config.yaml add structuretimers to public views 2026-07-19 21:20:44 +02:00
CHANGELOG.md prefill random secret in admin 2026-07-21 21:58:23 +02:00
LICENSE init 2026-07-15 23:32:39 +02:00
pyproject.toml rename project 2026-07-19 20:00:09 +02:00
README.md updated readme 2026-07-20 13:17:11 +02:00
runtests.py Add pre-commit 2020-12-30 13:37:46 -05:00
tox.ini test: replace generic test with test for structuretimers API 2026-07-20 01:08:15 +02:00

REST API plugin app for Alliance Auth

Alliance auth plugin to open up REST API endpoints

Currently supports:

Installation

Step 1 - Check Preconditions

Please make sure you meet all preconditions before proceeding:

  1. Restapi is a plugin for Alliance Auth. If you don't have Alliance Auth running already, please install it first before proceeding. (see the official AA installation guide for details)

  2. To use the Structure Timers endpoints you need to have the plugin installed, installation instructions

Note that Structure Timers is compatible with Alliance Auth's Structure Timer app and can be installed in parallel.

Step 2 - Install app

Make sure you are in the virtual environment (venv) of your Alliance Auth installation. Then install the newest release from PyPI:

pip install allianceauth-restapi

Step 3 - Configure settings

Configure your Auth settings (local.py) as follows:

  • Add 'restapi' to INSTALLED_APPS
  • add 'restapi' to APPS_WITH_PUBLIC_VIEWS

Step 4 - Finalize installation

Run migrations & copy static files

python manage.py migrate

Restart your supervisor services for Auth

How to use

Create a apikey in the admin area of your auth instance.

The api key will have the same rights as the user it's assigned to.

In your request headers, X-restapi-Key is one of your created api keys.

The following endpoints are available:

  • /rest/api/structuretimers
    • GET gives you a list of active structure timers, filtered via header params:
      • hours-passed: timers that have been passed by X hours (default: 2)
      • hours-until: timers coming out in X hours (default: 24)
    • POST let's you create a new timer with json data in the request body:
    • {
          "system": "Jita", # [string] Name of the system
          "structure": 35834, # [int] ID of the structure type
          "structure_name": "TEST TEST TEST", # [string] name of the structure
          "timer": "2026.07.20 01:19:20", # [string] eve online formatted date-time
          "timertype": "AN", # [string] type code of the timer¹
          "objective": "HO", # [string] type code of objective/standings¹
          "msg":"this is just a test timer", # [string] detail note
          "opsec": true # [boolean] is this timer opsec (optional, default: false)
      }
      

1: type codes

examples

create a new timer

curl -s -H "X-restapi-Key:this_is_my_api_key" -X POST https://auth.my-eve-corp.com/rest/api/structuretimers -d \
'
{
        "system": "Jita",
        "structure": 35834,
        "structure_name": "TEST TEST TEST",
        "timer": "2026.07.20 01:19:20",
        "timertype": "AN",
        "objective": "HO",
        "msg":"this is just a test timer",
        "opsec": true
    }
' | jq

result:

{
  "username": "munsking",
  "system": {
    "id": 30000142,
    "name": "Jita"
  },
  "structure": {
    "id": 35834,
    "type": "Keepstar",
    "name": "TEST TEST TEST"
  },
  "url": "http://auth.my-eve-corp.com/structuretimers/edit/1"
}

get a list of active timers

curl -s -H "X-restapi-Key:this_is_my_api_key" -H "hours-passed:12" -H "hours-until:48" -X GET https://auth.my-eve-corp.com/rest/api/structuretimers | jq

result:

{
  "timers": [
    {
      "date": "2026-07-20 01:19",
      "timestamp": 1784510360,
      "structure": {
        "id": 35834,
        "name": "TEST TEST TEST",
        "type": "Keepstar"
      },
      "stance": "HO",
      "owner": null,
      "type": "AN",
      "system": "Jita",
      "important": false,
      "opsec": true
    }
  ]
}