The infrastructure of each guild is centred around an API that combines different data sources (their own guild data, other guild data, and the structs chain state) to provide an efficient data system to the players within their ranks.

Common Endpoints

Guild

| /guild?self | Returns the information about the Guild hosting this endpoint.

Not sure if this is the best way to do it. ?=self feels kludgy, could also have a separate endpoint (ex: /guild-info) that always returns the guild details of the infrastructure operator but idk. | Get | | --- | --- | --- | | /guild | Returns the information about all Guilds | Get | | /guild/{id} | Returns the information about the specific Guild | Get | | /guild/search/{query} | Returns the list of Guilds that meet the criteria of the query | Get |

Response

Field Type Example
ID String 0-123
Index Integer 123
Name String Numanity Mining Operations
Tag String NMO
Logo String *https://guildserver.com/static/logo.png*
API URL String *https://guildserver.com/api*
Website String https://guildserver.com
Socials JSON *{
”twitter”:”@blah”, 
“facebook”:”<https://blah>”

}* | | Status | String | Discovered / Undiscovered | | Infusion Minimum for Joining | Integer | 3 Alpha | | Infusion Minimum Bypass Setting for Requests | Bypass Level | Closed / Permissioned / Member | | Infusion Minimum Bypass Setting for Invites | Bypass Level | Closed / Permissioned / Member | | Primary Reactor | String | 3-324 | | Entry Substation | String | 4-5987 | | Creator | String | structs1u57qduwks7s0vcm6q8mkvhyuhatrgk5grvkny5 | | Owner | String | 1-543 | | Created At | date time | | | Updated At | date time | | | MemberCount | Numeric | Do we want stats here as well? |

<aside> 🤔 It’s possible that we want a shorter version of this that only returns the _meta table data for cross-guild synchronizing of that data

</aside>

Player

/player Returns the information about all Players Get
/player/{id} Returns the information about the specific Player Get
/player/search/{query} Returns the list of Players that meet the criteria of the query Get
/player/{id} Updates the details of a Player from that Player.

Requires some sort of player authorization (login token or whatever) | Post |

Response

Field Type Example
ID String 1-5436
Username String stevetherobit
PFP String Single URL, or maybe some sort of JSON with options for size and background
Guild String 0-123
Substation String 4-5987
Planet String 2-425
Fleet JSON *{
”space”:[2,3,56,7],
”sky”:[54,454],
”land”:[],
”water”:[99]
}
— or —-
{
”space”:[{…},{…},{…},{…}],
”sky”:[{…},{…}],
”land”:[],
”water”:[{…}]
}
——- OR ——-
Nothing at all*
Fleet Location JSON 2-89534
— or —
*{
“id”:2-89543,
“name”:”sherman galactic 9”

}* | | Storage | JSON | [{denom:”alpha”, amount:”10”}] | | Status | String | Not actually sure what this status means yet | | Allocation Load | Integer | Total amount of allocations out from the player (This is actually stored in the Grid table) | | Structs Load | Integer | Total load of all the active Structs of the player (This is actually stored in the Grid table though) | | Capacity | Integer | How much capacity is provided from Infusions (This is actually stored in the Grid table though) | | Secondary Capacity | Integer | How much energy is provided by the Substation (This is actually stored in the Grid table though) | | Primary Address | String | structs1u57qduwks7s0vcm6q8mkvhyuhatrgk5grvkny5 | | created_at | date time | | | updated_at | data time | |

<aside> 🚧 Not sure if it makes sense to have details like Guild, Planet, and Fleet embedded and populated by default, or if there is some sort of api moniker that gathers a detailed (or “full”) response.

</aside>

<aside> 🤔 It’s possible that we want a shorter version of this that only returns the _meta table data for cross-guild synchronizing of that data

</aside>

Other Game Objects…

These read-only objects can mimic the above GET endpoints in terms of structure.