-   Tutorials & Other Helpful Info (
-   -   ESOUI AddOn update API (

Dolby 10/08/16 03:36 PM

ESOUI AddOn update API
How to use the ESOUI API via Curl:

Generate your API token here.
  • Keep this token private as it has access to submit updates to your AddOn via our API.
  • Delete the token at any time to revoke its access to your AddOns
  • Team members can generate their own api token, no need to share yours.

GET AddOns you have access to:

curl -H "x-api-token: <Your Token>"
GET AddOn details:

curl -H "x-api-token: <Your Token>"<id>.json
POST Updates: (If you GET the endpoint it will list what can be changed via this endpoint)

curl -H "x-api-token: <Your Token>" -F "id=8163" -F "version=123456789" -F "compatible=2.6" -F "[email protected]/Users/dolby/Downloads/"
List of valid data you can POST:
Just do a GET on and you’ll receive an error with a list of valid data points.

If you'd like to just test your script that interfaces with our API you can use the /updatetest endpoint instead: Nothing will actually save when you POST here so you can test that your script is working.

Error Responce:
  • 403 - You must be authenticated to use this API. (Missing or invalid token or cookie)
  • 404 - No AddOns found. (You don't have any AddOns)
  • 404 - ID(s) are missing for AddOn details.
  • 405 - Missing required data fields for AddOn Update (See actual error message for a list of fields)
  • 403 - AddOn Disabled (An admin has disabled your AddOn)
  • 401 - Permission Denied (You are not the author or team member of this AddOn)
  • 415 - File type not supported (You have tried to upload a file other than a zip/rar)
  • 500 - File update failed (Contact an admin, something bad happened)

Normal Response:
  • 200 - (Returned when you successfully GET data from the API)
  • 202 - Update Accepted. (Returned when you POST an update to your AddOn)

sirinsidiator 10/25/16 03:56 PM

Is it possible to create a new addon via the api or do I have to upload it via the website the first time? Just wondering if I could automate that step for new addons. :D

Dolby 10/25/16 04:34 PM

First time (New projects) you need to upload it via the website.

Taraezor 12/28/16 04:47 AM

Well I checked if we in OSX land have Curl. BSD Unix roots and all... a quick "man curl" in the Terminal app confirms we are good to go, maybe.

Got as far as testing using the "update test" suggestion as per the OP.

All good.


1) Generate your token as per the link above.
2) Fire up your Terminal app.
3) curl -H "x-api-token:tttttttttttttttttttttttttt"

That will give a table of all your ESO AddOns. The ID is the important bit. Most likely a three digit number. That string of "t"s is your token. It'll be heaps longer than that!

4) curl -H "x-api-token:tttttttttttttttttttttttttt"

where "nnn" is the ID of your AddOn. This step is not necessary. It just lists what is there if you can't be bothered getting that same data in a formatted Safari/Chrome page.

5) curl -H "x-api-token:tttttttttttttttttttttttttt" -F "id=nnn" -F "version=1.13" -F "compatible=2.6" -F "[email protected]/Users/Chris/desktop/"

To test things out. Easy as that.

Next actual update I'll be using Curl although I must say that unlike other places which seem to be cursed <cough> with some kind of page loading or bandwidth problem, over here at ESOUI things are always nice and zippy so I don't mind using the web interface at all. But this system would be neat for bulk updates in one go.

Micke2nd 09/22/19 03:53 AM

is the curl upload the way how a addon is registered in "minion 3" and thus can be updated by it ?

Baertram 09/22/19 06:15 AM

afaik Minion 3 isn't using this and it is also only downloading stuff from the esoui database, and not uplaoding to it.

Dolby 09/22/19 08:21 AM


Originally Posted by Micke2nd (Post 39212)
is the curl upload the way how a addon is registered in "minion 3" and thus can be updated by it ?

Sorry, Minion does not pull from the ESO Tools & Utilities category and doesn't work with exe's. It only works with Actual lua AddOns.

Micke2nd 09/22/19 01:46 PM


Originally Posted by Baertram (Post 39215)
... and not uplaoding to it.

i meant to update the "customer" installation with minion. The upload i would have handled however its neccessary (e.g. with curl) , cause i like the minion tool :)


Originally Posted by Dolby (Post 39216)
... and doesn't work with exe's

oh my addon doesnt need the *.exe, i deliver it primarly as script. i like the transparent approach. But anyway, got it.

thank you both for the quick reply !

AlbinoPython 11/19/19 09:12 PM

I know this thread is pretty old but just wanted to share that, with the info I got here, I created esoui-publish which is a small npmjs module that translates this curl command to a node request. It has a programmatic API and it can be used via command line. Publishing to esoui could be as simple as:


esoui-publish --id=2271

Keldor 06/05/20 05:10 AM

Is it possible to update the changelog field when uploading a file through the API or do I always have to update the changelog lines by hand? :)

Edit: Sorry have not seen the available field list :)

Dolby 06/05/20 08:32 AM

If you load the update endpoint it will echo out the availble fields you can post to

bi0cable 09/09/20 08:25 AM

so whats wrong?
help me pls! i really don't understand, what am i doing wrong (sorry for my english =) )

so, i play on linux with steam (Proton 5.x.x.x)

[email protected] AddOns]$ env
ESO_TOKEN=<so here's all right, like in my account>

[[email protected] AddOns]$ pwd
/home/ivan/.steam/steam/steamapps/compatdata/306130/pfx/drive_c/users/steamuser/My Documents/Elder Scrolls Online/live/AddOns
[[email protected] AddOns]$ ls -a
.                            HarvestMap                LibCustomMenu    LibHarvensAddonSettings  LibSavedVars      VotansFishFillet
..                          ItemBrowser                LibCustomTitles  LibMainMenu-2.0          MapPins          VotansImprovedLocations
ActionDurationReminder      LibAddonMenu-2.0          LibDebugLogger  LibMapPing              PotionMaker      VotansImprovedProvisioner
AdvancedFilters              LibAlchemyStation          LibFeedback      LibMapPins-1.0          QuestMap          VotansMiniMap
arkadius-trade-tools-1.7.2  LibAsync                  LibFilters-3.0  LibMotifCategories      RaidNotifier
CustomCompassPins            LibChatMessage            LibGPS          LibNotification          SpentSkillPoints
HarvensImprovedSkillsWindow  libCommonInventoryFilters  LibGroupSocket  LibQuestData            VotansFisherman
[[email protected] AddOns]$ curl -H "x-api-token: <ESO_TOKEN>"
{"ERROR":"No AddOns found."}[[email protected] AddOns]$

so, what can be the problem here? i really don't understand. whenever i do API's - just load it in to ~/.bashrc and doing source ~/.bashrc - and that always work for me, but it doesn't work with ESO_TOKEN...

Baertram 09/09/20 08:31 AM

This API exists to upload/update YOUR created addons. Do you want to upload an addon you have build?
It's not downloading addons or updates. Please use "Minion" for this purpose.

bi0cable 09/09/20 02:10 PM


Originally Posted by Baertram (Post 42234)
This API exists to upload/update YOUR created addons. Do you want to upload an addon you have build?
It's not downloading addons or updates. Please use "Minion" for this purpose.

ou, thnx =) if minion would be on linux...:)

Baertram 09/09/20 02:56 PM

It does run on linux. Search the forum for "minion linux" and you'll find these threads:

All times are GMT -6. The time now is 02:10 AM.

vBulletin © 2020, Jelsoft Enterprises Ltd
© 2014 - 2020 MMOUI