Boundlexx API: An API to get all things related to Boundless

There is. Boundlexx API v1

There are 3 WBC endpoints based on which one of the ways you want initial look them up by.

By color: Boundlexx API v1

By World: https://api.boundlexx.app/api/v1/#/World/block-colors-world

2 Likes

Interesting. I guess I never looked at the docs and the stuff I browsed through on the item-colors endpoint didn’t have world data so I didn’t realize it’s sometimes there. ty.

Isn’t browser storage limited only by disk space (after asking for user permission to use it)?

Edit: nvm I misread some stuff, I was sure one of the newer apis can override the limit :thinking:

1 Like

For anyone that is using scripts on backend services to access Boundlexx, please use user agent strings to help me figure out who is in control of the script. Someone is leaving off all of their trailing slashes and generating a ton of redirects and that just wastes response time.

Ex: /api/v1/worlds/954/distances/25 will redirect to /api/v1/worlds/954/distances/25/ before returning a response.

Whoever’s script it is, it is making hundreds of requests and they are all being redirected. I may enforce user agent strings in the near future as a result. It is greatly helpful to me and whoever controls an app if I can go to them when I see a problem on my end. Web browser requests already have a referer so I can tell the Web page that made the request.

1 Like

It’s not me, fyi. I only have two request types to Boundlexx from the PS Planet Explorer:

https://api.boundlexx.app/api/v1/worlds/dump/
https://api.boundlexx.app/api/v1/items/’ + [an-item-id]+ '/sovereign-colors/?limit=255

Like I said, browser requests always have referer headers so I can track down where it came from.

It is not a big deal, it just creates unnecessary redirects which I am 95% sure whoever wrote the scripts did not intend. The redirects are for SEO and for users manually crawling the API with their browser to figure out how to use it (it is part of Django by default). I could turn them off, but then people will start getting hard 404s which are not good.

So why are trailing slashes necessary and how does it equate better seo having the redirects?

1 Like

Does not really apply to an API because most of the URLs are blocked from bots from crawling anyways, but most of the arguments still hold. A hard 404 is “bad” when you know where you want the user to go.

  • Added a hard limit of 1000 items for limit filters. If you request more then 1000 and there are more then 1000, you only get 1000. I am sorry, but requesting limits of 10k is not good for the database or my server. You can cause some serious database issues trying to pull that much data at once. Please use pagination and make multiple requests.
  • Added code to block requests with any unknown query parameters. Caching busting is not cool. Caching exists to reduce my hosting costs so I can keep providing this service for free.

Or use the dump endpoint and get all the data you need in one call (albeit transferring 15.3MB currently over the wire)

  • Adds bows to World API
  • Adds Recipe (/api/v1/recipes/) and Recipe Group (/api/v1/recipe-groups/) APIs (finally). It provides a full list of all crafting recipes available in the game.
  • Adds Sovereign Blocks lookup for Color API (version of Sovereign Colors on Item API). Ex: /api/v1/colors/228/sovereign-blocks/
2 Likes
  • Adds support for new Color-Cycling worlds.
    • The World API will now provide a special_type parameter. special_type == 1 is Color-Cycling.
1 Like

Can I suggest that:

  • This not be part of the return from /worlds and only be returned from /worlds/:id to prevent unneeded data from being looked up, returned, and transferred over the wire; or
  • That this be moved to an endpoint such as /worldtype/:type where it could return completely static information and thus be cached forever, along with:
    • protection_points
    • protection_skill
    • surface_liquid
    • core_liquid

This would require one additional call, to /worldtype/SHOCK for example, when pulling data with a client app if the information was required but the return value could be indefinitely cached on all levels.

2 Likes

That cannot be changed now. It would be a breaking change. If you do not want all of that data, that is what /api/v1/worlds/simple/ is designed for.

I could actually deprecate /api/v1/worlds/ (just the list view) for a period before removing it and force people to use /api/v1/worlds/simple/. Then after a period make /api/v1/worlds/ return the same thing as simple. The detail view will likely keep returning all of the data though.

Man look how far you’ve come sniffle
I remember back when you were just a wee ‘un

  • Deprecated /api/v1/worlds/ in favor of /api/v1/worlds/simple/.
    • This is only the list view endpoint. The retrieve endpoint (ex: /api/v1/worlds/10/) will continue to return the full details on the world.
    • There is starting to become just too much data to return all of in the list view, so the plans are to trim it down and if you need all of the data for a world, you have to call the retrieve endpoint.
    • The endpoint will not be getting deleted, but it will start returning the same result as /api/v1/worlds/simple/ starting on a date soon after 1 December 2020. Please keep that in mind and migrate your code accordingly.
  • Adds searching to the Emojis API
  • Unifies logic on “inactive” Worlds and World Block Colors.
    • Serailizers for both Worlds and WBCs now return active. Active status on a world means it currently exists and it is being returned by the game API. Inactive worlds are not (expired and deleted Exos/Sovereigns). Active WBCs are the current known WBC.
    • show_inactive will function on World APIs and WBC APIs to add inactive worlds to results
    • show_inactive_colors will function on WBC APIs to add inactive colors to results
    • active=false on World APIs or world__active=false on WBC APIs can be added to show only inactive worlds
    • active=false can be used on WBC APIs to show only inactive colors

Hi, I just visited your new webpage for boundlexx and really like it. I also had a look into that forum generator part but what should I post (and where) in the boundless forum whem I can not choose the “Sovereigns” category.
Btw: A few days ago you did send me a api key which worked fine and I was able to upload the color data into the “Portal Seekers” (? not sure where it really sits and/or is owned). It looks as if you do not use this database but use a different one? How can I add my data into your webpage / api ?

I will study the docs you provide, perhaps I can be of some help, as I am using Javascript and a wider range of its frameworks since a few years for graphics apps.

1 Like

You have to be a Regular to post in that category. If you are not, just make a new post in the Creations category and then message one of the forum Leaders (@majorvex or @Stretchious). They can quickly move it to the correct category for you.

I have not added world block color data yet to Boundlexx UI, but I plan to in the future.

2 Likes

Forum leaders are myself & Stretchious. The forum mods/admins are Leah & James.