Browse Apps

allianceauth-restapi

Example plugin app for Alliance Auth.


REST API plugin app for Alliance Auth

Alliance auth plugin to open up REST API endpoints

Currently supports: - structuretimers

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
    }
  ]
}

No reviews yet...

Python Requirements

Required Python packages to be installed and other Python requirement.

App Dependencies


Required apps:

Used by apps:

    -

Dependencies to other apps registered in this app directory.

Classifiers

  • Environment :: Web Environment
  • Framework :: Django
  • Framework :: Django :: 5.2
  • Intended Audience :: Developers
  • License :: OSI Approved :: MIT License
  • Operating System :: OS Independent
  • Programming Language :: Python
  • Programming Language :: Python :: 3.10
  • Programming Language :: Python :: 3.11
  • Programming Language :: Python :: 3.12
  • Topic :: Internet :: WWW/HTTP
  • Topic :: Internet :: WWW/HTTP :: Dynamic Content

Version

1.0.0

License

MIT License

Homepage

  https://forgejo.munsking.com/munsking/allianceauth-restapi

PyPI

  https://pypi.org/project/allianceauth-restapi/

Last updated

1 day, 7 hours ago

First published

1 day, 21 hours ago

Category

Development

Rating

-

Authors

munsking

Maintainers

munsking munsking

Please login to see more options.