Website APISolved

Hello,
is there a web api for uMod? Would be nice for fetching plugins etc.

Nice! I guess more endpoints are coming when the reseller feature is done?

There are plans for other endpoints yea.

The legacy API is paginated and searchable through the endpoints mentioned above:
https://umod.org/plugins/search.json?query=&page=1&sort=latest_release_at&sortdir=desc&filter=&categories%5B%5D=rust&author=
https://umod.org/plugins/Vanish.json

That "Search" endpoint above will eventually be deprecated and a new endpoint will replace searching. The majority of the data available through that endpoint has been moved to a static manifest to improve performance/availability (by avoiding our infrastructure entirely). The static manifest includes critical data points (e.g. dependencies, and a master list) that the "Search" API does not. The static manifest is more durable for mirroring, but not inherently searchable.

The only "documentation" for the manifest endpoints is encoded in the uMod Agent (which is slated to be released as FOSS). The Agent is basically a package manager that operates similarly to nuget, packagist, or npm. For that reason the manifest endpoints are primarily designed to make the Agent possible. The Agent includes a lot of things related to the uMod integration/deployment and serves plugins with dependency management/versioning baked in.

I am sure there are many use-cases where access to the static manifest is helpful. I would not recommend implementing a fully-fledged package manager with it, but it is possible. In the spirit of the open nature of this project, we thought to make these endpoints publicly available.

Every plugin source has 3 endpoints
https://assets.umod.org/manifest.json
https://assets.umod.org/plugins.json
https://assets.umod.org/plugins/manifest.json

Individual plugin data is available by convention using the plugin's title-cased name

https://assets.umod.org/plugins/HelpText.json

Using the above conventions any third-party could host a mirror of the official plugin manifest or maintain their own plugin manifest and have their plugins available for installation using the uMod Agent (or any other tool that supports the format). @Quantum

xghBZF6cY0quaoF.png Calytic

The legacy API is paginated and searchable through the endpoints mentioned above:
https://umod.org/plugins/search.json?query=&page=1&sort=latest_release_at&sortdir=desc&filter=&categories%5B%5D=rust&author=
https://umod.org/plugins/Vanish.json

That "Search" endpoint above will eventually be deprecated and a new endpoint will replace searching. The majority of the data available through that endpoint has been moved to a static manifest to improve performance/availability (by avoiding our infrastructure entirely). The static manifest includes critical data points (e.g. dependencies, and a master list) that the "Search" API does not. The static manifest is more durable for mirroring, but not inherently searchable.

The only "documentation" for the manifest endpoints is encoded in the uMod Agent (which is slated to be released as FOSS). The Agent is basically a package manager that operates similarly to nuget, packagist, or npm. For that reason the manifest endpoints are primarily designed to make the Agent possible. The Agent includes a lot of things related to the uMod integration/deployment and serves plugins with dependency management/versioning baked in.

I am sure there are many use-cases where access to the static manifest is helpful. I would not recommend implementing a fully-fledged package manager with it, but it is possible. In the spirit of the open nature of this project, we thought to make these endpoints publicly available.

Every plugin source has 3 endpoints
https://assets.umod.org/manifest.json
https://assets.umod.org/plugins.json
https://assets.umod.org/plugins/manifest.json

Individual plugin data is available by convention using the plugin's title-cased name

https://assets.umod.org/plugins/HelpText.json

Using the above conventions any third-party could host a mirror of the official plugin manifest or maintain their own plugin manifest and have their plugins available for installation using the uMod Agent (or any other tool that supports the format). @Quantum

Awesome! Thank you. I see that the `maintainers` property is always null. I'm curious as to know if the manifest for the plugins will eventually contain properties containing the latest version number and authors? Similar to the legacy search "api" so that it's possible to generate a detailed plugins list without having to query each plugin for those details.